□ User
Group
— группа и имя пользователя, с правами которого будет работать сервис. По умолчанию в Linux для этих параметров используется Apache. Этот пользователь и группа должны обладать минимальными правами в системе, которые только необходимы для работы Web-сервера и его модулей. Ничего лишнего разрешать им нельзя;□ ErrorLog
CustomLog
— определяют местоположение журналов;□ LogLevel
emerg
, alert
, crit
, error
, warn
, notice
, info
, debug
;□ KeepAlive
off
), и для получения каждого файла требуется отдельное соединение. Это неэффективно и приводит к расходу лишних ресурсов. Допустим, что пользователь запросил страницу с 10 картинками. В ответ на это браузер клиента страницу с 10 картинками. В ответ на это браузер клиента откроет одиннадцать соединений с Web-сервером (одно для получения документа html и десять — для картинок документа). Если включить этот параметр, то за одно подключение может быть обработано несколько запросов;□ MaxKeepAliveRequests
□ KeepAliveTimeout
□ MaxClients
□ MaxRequestsPerChild
7.2. Модули
При настройке сервиса Apache очень важным звеном являются модули. Загрузка их описана в конфигурационном файле /etc/httpd/conf/httpd.conf
следующим образом: LoadModule perl_module modules/libperl.so
В первой строке проверяется параметр HAVE_PERL
LoadModule
загружает модуль modules/libperl.so, необходимый для интерпретации Perl-сценариев.Следом идет подключение модулей, которое похоже на загрузку, но используется команда AddModule
AddModule mod_perl.c
По умолчанию загружаются все установленные модули или те, которые включены в дистрибутив. Но ото не оптимально, потому что разработчик не может знать, что нам понадобится. Рассмотрим основные модули поддержки сценариев, которые могут загружаться:
□ 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 сможет легко написать программу, которая будет абсолютно безопасной и доставит много хлопот хакеру. На любом языке, даже самом "дырявом", можно написать супер защищенную программу, а на самом проверенном — наделать дыр. Это уже полностью зависит от программиста и его умений.