如何在 Ubuntu 10.04 中启用 mod_security?

如何在 Ubuntu 10.04 中启用 mod_security?

快速回顾一下我所做的事情:

  1. apt-get install libapache-mod-security
  2. a2enmod mod-security
  3. 使用 最新的/etc/apache2/mod_security_rules/base_rulesoptional_rules核心规则集
  4. 创建/etc/apache2/conf.d/mod_security如下
  5. 创建/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是否可以正常工作?如果不正常,我需要进行什么更改?

答案1

查看后/usr/share/doc/libapache-mod-security/examples/modsecurity.conf-minimal你会发现还有更多内容需要添加到conf中,比如SecRuleEngine On,你确定核心规则集包含那些基本命令吗?

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

答案2

我遇到了同样的问题,Debian 6.0.6 x64 squeeze,lipapache2-modsecurity 2.6.5-5 通过 apt-get 安装。看起来可以正常工作,阻止了所有其他事情,但是仍然允许通过第一篇文章中发布的脚本访问 passwd 和其他文件,如 apache2.conf,大家有解决方案吗?

这可能与 Web 服务器本身的其他配置有关吗?

相关内容