如何在Ubuntu 10.04中启用mod_security?

快速浏览我所做的事情:

  1. apt-get install libapache-mod-security
  2. a2enmod mod-security
  3. 使用最新的核心规则集创build/etc/apache2/mod_security_rules/ with base_rulesoptional_rules
  4. 像下面那样创build/etc/apache2/conf.d/mod_security
  5. 创build/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工作,否则,我需要改变什么?

看一下/usr/share/doc/libapache-mod-security/examples/modsecurity.conf-minimal你会发现有更多的东西要添加到conf中,比如SecRuleEngine On ,你确定核心规则集包含那些基本的命令?

您可以将其添加到conf.d文件中,或者使用示例文件来引导您。

我有同样的问题,Debian 6.0.6 x64挤压,lipapache2-modsecurity 2.6.5-5安装槽apt-get。 看起来像工作,防止所有其他的事情,但仍然允许访问passwd和其他文件,如apache2.conf通过第一篇文章发布的脚本,任何解决scheme的家伙?

可能与Web服务器本身的其他configuration有关?