Основные настройки сервера Apache располагаются в файле /etc/httpd/conf/httpd.conf
(для некоторых дистрибутивов — в /etc/httpd.conf). Здесь хранятся настройки Web-сервера, его виртуальных серверов и программных модулей. Для Red Hat Linux, а именно он взят за основу в этой книге, все рассматриваемые параметры сервера находятся в этом файле, если явно не указано другое расположение.Как и для большинства других сервисов, в современных дистрибутивах для настройки Apache есть простая и удобная графическая утилита. Для ее запуска нужно в основном меню системы выбрать System/Apache configuration
. На рис. 7.1 показано главное окно программы Apache Configuration, позволяющей быстро и легко настроить Web-сервер.Рис. 7.1
. Главное окно программы Apache ConfigurationС помощью визуальной программы очень удобно делать первоначальные настройки, но после этого вы обязательно должны самостоятельно просмотреть конфигурационный файл, а для этого нужно знать его параметры.
Если вы вручную внесли исправления в конфигурационный файл, то после этого использовать графическую утилиту нельзя, потому что она может неправильно интерпретировать ваши правки и поменяет их на свои значения. Чтобы изменения вступили в силу, необходимо перезапустить сервер. Сервис Apache считывает параметры из конфигурационного файла только во время старта.
За счет прямого редактирования файла конфигурации можно добиться максимально безопасной и быстрой работы. Рассмотрим основные параметры Web-сервера:
□ ServerType
inetd
или Standalone
. Если выбрать inetd
, то такие параметры, как порт, игнорируются. а используются значения из конфигурации демона inetd
(□ ServerRoot
□ Timeout
□ Port
ИмяСервера:10387
(например, www.linux.com:10387/index.htm
). Таким образом, не зная порта, злоумышленник не сможет проникнуть в систему, пока не просканирует весь диапазон портов и не выяснит, что 10387 — это порт Web-сервера. Это простейшая, но достаточно эффективная защита от скриптеров, которые обладают минимумом знаний о безопасности и взламывают компьютеры только с помощью сплоитов, написанных другими хакерами;□ ServerTokens
ServerTokens
может принимать одно из следующих значений: • Full
• Min
• ProductOnly
Очень опытные администраторы могут даже подменить имя сервера, но для этого необходимо будет перекомпилировать исходные коды Apache. Заголовок хранится в файле include/ap_releas.h
в виде следующих двух строк:#define SERVER_BASEPRODUCT "Apache"
#define SERVER_BASEVERSION "2.0"
Подставьте имя какого-либо другого сервера. Желательно, чтобы оно было похоже на реальность, иначе профессиональный хакер сразу заметит обман.
В более ранних версиях Apache расположение файла было другим, но мы же договорились, что устанавливать надо все только последнее;
□ HostnameLookup
on
, то IP-адрес клиента, запросившего данные с сервера, будет преобразован в доменное имя, иначе будет использоваться IP-адрес;