Краткий обзор того, что я сделал:
apt-get install libapache-mod-security
a2enmod mod-security
/etc/apache2/mod_security_rules/
с участием base_rules
и optional_rules
из последних набор основных правил/etc/apache2/conf.d/mod_security
как показано ниже/var/www/test.php
как показано нижеФайл conf выглядит так
<IfModule security2_module>
Include /etc/apache2/mod_security_rules/*.conf
Include /etc/apache2/mod_security_rules/base_rules/*.conf
Include /etc/apache2/mod_security_rules/optional_rules/*.conf
</IfModule>
test.php
выглядит как
<?php
$secret_file = $_GET['secret_file'];
include ( $secret_file);
?>
что несколько сайтов говорят mod_security
следует заблокировать.
Моя проблема в том, что доступ test.php?secret_file='whatever'
показывает мне файл.
Это нормально, и это mod_security
работает, а если нет, что мне нужно изменить?
У меня впереди такая же проблема, Debian 6.0.6 x64 squeeze, lipapache2-modsecurity 2.6.5-5 установлен установлен через apt-get. Похоже, работает, предотвращая все остальное, но все же позволяя получить доступ к passwd и другим файлам, таким как apache2.conf, через скрипт, опубликованный в первом посте, какие-нибудь решения, ребята?
может это быть связано с другой конфигурацией самого веб-сервера?
Смотря на /usr/share/doc/libapache-mod-security/examples/modsecurity.conf-minimal
вы увидите, что есть еще кое-что, что можно добавить в conf, например SecRuleEngine On
, вы уверены, что основной набор правил включает эти основные команды?
Вы можете добавить его в свой conf.d
файл или, возможно, используйте файл примера, чтобы направить вас.