7.2. Модули

7.2. Модули

При настройке сервиса Apache очень важным звеном являются модули. Загрузка их описана в конфигурационном файле /etc/httpd/conf/httpd.conf следующим образом:

<IfDefine HAVE_PERL>

 LoadModule perl_module modules/libperl.so

</IfDefine>

В первой строке проверяется параметр HAVE_PERL. Если он установлен, то команда LoadModule загружает модуль modules/libperl.so, необходимый для интерпретации Perl-сценариев.

Следом идет подключение модулей, которое похоже на загрузку, но используется команда AddModule:

<IfDefine HAVE_PERL>

 AddModule mod_perl.c

</IfDefine>

По умолчанию загружаются все установленные модули или те, которые включены в дистрибутив. Но ото не оптимально, потому что разработчик не может знать, что нам понадобится. Рассмотрим основные модули поддержки сценариев, которые могут загружаться:

? perl_module — Perl;

? php_module — PHP;

? php3_module — PHP версии 3;

? php4_module — PHP версии 4:

? python_module — на языке Python.

Эти модули являются наиболее опасными для Web-сервера, потому что позволяют выполнять сценарии, через которые могут происходить взломы. Например, воспользовавшись ошибкой в сценарии PHP, злоумышленник может выполнять какие-либо команды на сервере. Хорошие сайты используют какой-то один язык Web-программирования: Perl, PHP или Python, и вы должны оставить только тот модуль, который необходим, а остальные лучше отключить.

Я рекомендую взять на вооружение для программирования PHP, потому что он гибок в настройках и может обеспечить большую безопасность. Да и по моему опыту, злоумышленники чаще используют Perl для создания rootkit (набор администратора или программа, которая позволяет выполнять необходимые хакеру действия на удаленной системе) на взломанной системе. Но это мое мнение, которое отнюдь не претендует на истину в последней инстанции. Хороший программист на Perl сможет легко написать программу, которая будет абсолютно безопасной и доставит много хлопот хакеру. На любом языке, даже самом "дырявом", можно написать супер защищенную программу, а на самом проверенном — наделать дыр. Это уже полностью зависит от программиста и его умений.

Неиспользуемые модули необходимо отключить, это значительно сузит возможности злоумышленника. Ничего не напоминает вам такая рекомендация? Да, это снова самое популярное мое правило: лишняя программа — враг администратора и дополнительная дверь для хакера.

Обязательно уделите внимание рассмотрению загружаемых модулей и удалите или закомментируйте то, что ненужно. Сделав это, вы повысите безопасность Web-сервера более чем на 50%. Почему? Если Python хакерами используется редко, то Perl и PHP очень популярны. Получается, что у вас в системе две большие двери. Если закрыть хотя бы одну, то останется ровно половина.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

4.4 Файлы как Модули

Из книги C++ автора Хилл Мюррей

4.4 Файлы как Модули В предыдущем разделе .c и .h файлы вместе определяли часть программы. Файл .h является интерфейсом, который ипользуют другие части программы, .c файл задает реализацию. Такой объект часто называют модулем. Доступными делаются только те имена, которые


Подключаемые модули

Из книги Популярный самоучитель работы в Интернете автора Кондратьев Геннадий Геннадьевич

Подключаемые модули Помочь браузеру справиться с многообразием мультимедиа в Интернете помогут подключаемые модули, или плагины (от англ. plug-in – вставной сменный блок).Подключаемые модули являются приложениями-дополнениями к основной программе. Их цель – расширение


Классы как модули

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Классы как модули Объектная ориентация - в первую очередь архитектурная техника: она в основном затрагивает модульную структуру системы. Здесь опять велика роль классов. Класс описывает не только тип объектов, но и модульную единицу. В чистом ОО-подходе: Классы должны


Модули и типы

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Модули и типы Средства, используемые при разработке ПО, - языки программирования, проектирования, спецификаций, графические системы обозначений для анализа, - всегда включали в себя как возможность применения модулей, так и систему типов.Модули - это структурные единицы,


Толерантные модули

Из книги Инфобизнес на полную мощность [Удвоение продаж] автора Парабеллум Андрей Алексеевич

Толерантные модули (При первом чтении этот раздел можно опустить или ограничиться его беглым просмотром.)Простые, но не защищенные модули могут быть не достаточно устойчивыми для использования их у произвольных клиентов. В таких случаях возникает необходимость


11.1.12. Модули

Из книги 3ds Max 2008 на 100 % автора Верстак Владимир Антонович

11.1.12. Модули Для использования модулей в Ruby есть две основных причины. Первая — облегчить управление пространством имен; если поместить константы и методы в модули, то будет меньше конфликтов имен. Хранящийся таким образом метод (метод модуля) вызывается с указанием


Модули

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич


1.2. Подключаемые модули

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

1.2. Подключаемые модули Подключаемые модули (Plug-In) – внешние программы, предоставляющие пользователям 3ds Max дополнительные возможности. Открытая архитектура 3ds Max позволяет любому разработчику программного обеспечения улучшить его возможности. MAXScript и Software Developers Kit (SDK)


3.3.3. Модули аутентификации

Из книги Операционная система UNIX автора Робачевский Андрей М.

3.3.3. Модули аутентификации Аутентификация на основе двух файлов /etc/passwd и /etc/shadow немного устарела и предоставляет нам слишком скудные возможности. Разработчики ядра ОС Linux стараются исправить ситуацию с помощью добавления новых алгоритмов шифрования, но все эти попытки


7.2. Модули

Из книги Разработка ядра Linux автора Лав Роберт

7.2. Модули При настройке сервиса Apache очень важным звеном являются модули. Загрузка их описана в конфигурационном файле /etc/httpd/conf/httpd.conf следующим образом:<IfDefine HAVE_PERL> LoadModule perl_module modules/libperl.so</IfDefine>В первой строке проверяется параметр HAVE_PERL. Если он установлен, то


11.3. Модули

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

11.3. Модули В дополнение к основной программе созданы четыре модуля, в которых реализованы функции сервера. Чтобы создать собственный модуль, достаточно определить функцию module_generate(), которая будет возвращать


Модули

Из книги автора

Модули Модули являются основными компонентами потока. Каждый модуль состоит из пары очередей — очереди чтения и записи, а также набора функций, осуществляющих обработку данных и их передачу вверх или вниз по потоку. Архитектура модуля представлена на рис. 5.16. Рис. 5.16.


Глава 16 Модули

Из книги автора

Глава 16 Модули Несмотря на то что ядро является монолитным, в том смысле что все ядро выполняется в общем защищенном адресном домене, ядро Linux также является модульным, что позволяет выполнять динамическую вставку и удаление кода ядра в процессе работы системы.


Модули

Из книги автора

Модули Структура модуля Модули предназначены для разбиения текста программы на несколько файлов. В модулях описываются переменные, константы, типы, классы, процедуры и функции. Для того чтобы эти объекты можно было использовать в вызывающем модуле (которым может быть и


Программные модули

Из книги автора

Программные модули В состав задачника входят следующие программные модули: PT4Demo -- позволяет просмотреть в демонстрационном режиме все задания, включенные в задачник; PT4Load -- обеспечивает генерацию программы-шаблона для требуемого учебного задания и ее