Apache и limitexcept
Я следую документу CIS для безопасности apache (безопасность HTTP Apache CIS) и не понимаю точно, где использовать LimitExcept директивы. Обратите внимание, я новичок в HTTP-сервере Apache.
У меня есть базовый LAMP (Ubuntu 14.04, Apache 2.4.7) с phpmyadmin и squirrelmail, и есть несколько Directory директивы, например, в apache.conf и все включено .conf файлы:
/etc/apache2/conf-enabled/serve-cgi-bin.conf: <Directory "/usr/lib/cgi-bin">
/etc/apache2/conf-enabled/phpmyadmin.conf:<Directory /usr/share/phpmyadmin>
/etc/apache2/conf-enabled/phpmyadmin.conf:<Directory /usr/share/phpmyadmin/setup>
/etc/apache2/conf-enabled/phpmyadmin.conf:<Directory /usr/share/phpmyadmin/libraries>
/etc/apache2/conf-enabled/phpmyadmin.conf:<Directory /usr/share/phpmyadmin/setup/lib>
/etc/apache2/conf-enabled/localized-error-pages.conf:# <Directory "/usr/share/apache2/error">
/etc/apache2/conf-enabled/security.conf:#<Directory />
/etc/apache2/conf-enabled/security.conf:#<DirectoryMatch "/\.svn">
/etc/apache2/conf-enabled/javascript-common.conf:<Directory "/usr/share/javascript/">
/etc/apache2/mods-enabled/alias.conf: <Directory "/usr/share/apache2/icons">
/etc/apache2/mods-enabled/php5.conf: <Directory /home/*/public_html>
/etc/apache2/sites-enabled/squirrelmail.conf:<Directory /usr/share/squirrelmail>
Я в замешательстве, в котором Directory директивы мне нужны LimitExceptДолжно ли это быть каждый или только несколько или только один?
Не очень хорошо зная Apache, как мне выбрать подходящие?
1 ответ
Читая CIS Apache HTTP безопасность я обнаружил, что он предлагает добавить LimitExcept директива во всех <Directory> директивы, отличные от корневого каталога ОС.
<LimitExcept GET POST OPTIONS>
Require all denied
</LimitExcept>
Эта директива LimitExcept ограничивает ненужные методы HTTP-запросов, веб-сервер принимает и обрабатывает только методы HTTP-запросов GET, POST и OPTIONS.
Согласно справочнику:
<Directory>а также</Directory>используются для включения группы директив, которые будут применяться только к названному каталогу, подкаталогам этого каталога и файлам в соответствующих каталогах.
Итак, в вашем случае, я думаю, вы должны подать заявку LimitExcept чтобы:
/etc/apache2/conf-enabled/serve-cgi-bin.conf: <Directory "/usr/lib/cgi-bin">
/etc/apache2/conf-enabled/phpmyadmin.conf:<Directory /usr/share/phpmyadmin>
/etc/apache2/conf-enabled/localized-error-pages.conf:# <Directory "/usr/share/apache2/error">
/etc/apache2/conf-enabled/javascript-common.conf:<Directory "/usr/share/javascript/">
/etc/apache2/mods-enabled/alias.conf: <Directory "/usr/share/apache2/icons">
/etc/apache2/mods-enabled/php5.conf: <Directory /home/*/public_html>
/etc/apache2/sites-enabled/squirrelmail.conf:<Directory /usr/share/squirrelmail>