Она запрещает Apache доступ ко всем подкаталогам /. Дополнительные сведения об отдельных директивах между тегами <Directory> можно найти в документации по Apache.
Следующая наша задача - разрешить доступ к корневому каталогу документов. Для этого служит следующая директива Directory:
/www
<Directory /www>
AllowOverride None „Options Indexes FollowSymlinks Order allow, deny Allow from all </Directory>
В этом примере файлы HTML и PHP хранятся в каталоге /www/. Сначала мы задаем корневой каталог документов. Затем с помощью директивы Directory сообщаем Apache, что этот каталог доступен всем. Наконец, мы хотим запретить просмотр файлов . htaccess. Это достигается с помощью директивы File:
AccessFileName .htaccess
<Files htaccess$"> Order
Deny from all </Files>
Файл httpd. conf по умолчанию уже содержит все эти директивы. Они показаны здесь, чтобы объяснить, как это работает. Даже если они уже есть в вашем файле httpd. conf, потратьте некоторое время на его изучение и убедитесь, что действительно доступ предоставлен только к нужным объектам. Чем больше служб запущено, тем больше вероятность подвергнуться атаке. Помните: если служба отсутствует, то с ее помощью нельзя взломать вашу систему.
Укрепление Apache
В настройках Apache по умолчанию активизируется много различных расширений и обработчиков. Полезно убрать с сервера те из них, в которых нет необходимости. Если не используются cgi-bin и сценарии CGI, закомментируйте директиву ScriptAlias для cgi-bin. Кроме того, закомментируйте все директивы AddHandler и связанные с ними AddTypes, если в них нет необходимости.
В данной конфигурации Apache с помощью символа # закомментированы следующие директивы:
«ScriptAlias /cgi-bin/ /www/cgi-bin/
#AddHandler egi-seript .cgi
«AddType text/html ,shtml
«AddHandler server-parsed .Shtml
#AddHander send-as-is asis
SAddHandler imap-file map
He забудьте перезапустить Apache после модификации файла В Linux это делает команда killall -HUP httpd, а в Windows NT/2000 - команды net stop Apache и net start Apache.
Если работает в производственной среде, сначала следует протестировать конфигурацию. Это можно сделать, выполнив httpd с ключом -t.
Безопасность и РНР
В РНР имеется несколько функций, с помощью которых можно повысить его защищенность. Сначала обратим внимание на то, как установлен РНР.
Соображения безопасности при установке CGI
Если РНР установлен как двоичный модуль CGI (если пользователь не хочет интегрировать РНР с Apache или желает работать со сценариями оболочки), необходимо поместить РНР в каталог cgi-bin и вызывать его как обработчик CGI. Это таит в себе ряд опасностей.