Аргерих Л. О языке РНР. Часть 5. Страница 69


мыми при этом проверками. О защищенной настройке Apache написано не­сколько книг, и есть масса ресурсов в Интернете. Список их есть в разделе «Ресурсы и материалы для дальнейшего изучения».

Полезно установить новую версию Apache

Подробные указания по установке есть в главе 2.

Директива User

Apache запускается с правами суперпользователя root. Это необходимо, по­тому что он должен привязаться к привилегированному порту. После при­вязки к порту и выполнения некоторых других операций он переключается на пользователя, указанного в директиве User в главном файле конфигура­ции Apache (обычно httpd. conf).

То обстоятельство, что Apache запускается с правами суперпользователя, означает, что следует особо позаботиться, чтобы исполняемому файлу httpd и некоторым другим, связанным с ним, были назначены надлежащие права доступа. Например, если директива в файле настройки указывает, что кор­невым каталогом является то владельцем этого каталога должен быть root, и только он может осуществлять в него запись. Если этого не сделать, система может стать открытой для различного рода атак, в том числе возможна замена исполняемого модуля httpd троянской версией. Кро­ме того, возможна перезапись важных системных файлов путем создания символических ссылок на них под именами файлов журналов (log files). Вос­станавливаться после таких атак помогает Tripwire, если настроить его и на контроль файлов Apache.

Пользователь, указанный в директиве User файла конфигурации Apache, должен обладать как можно меньшими правами. Обычно единственными необходимыми правами для него являются доступ по чтению к корневому каталогу документов и право выполнения в каталогах cgi-bin. По умолча­нию пользователем, на которого переключается Apache по окончании ини­циализации, является nobody или www. Однако можно создавать пользовате­лей, отвечающих нашим потребностям.

Директива Directory

Другая важная составная часть защиты Apache - ограничение числа катало­гов, к которым он имеет доступ. Лучше всего сначала запретить Apache до­ступ к любым каталогам, а потом разрешить доступ к нужным.

Директива Directory содержит список директив, оказывающих воздействие на указанный каталог и все его подкаталоги. Итак, сначала вообще запре­тим Apache доступ к любым файлам. Это можно сделать с помощью следую­щей директивы Directory в файле httpd.conf:

directory />

AllowOverride None Options None Order deny,allow

Deny from all </Directory>