当我检查日志时,我发现Mod_security阻止了一些必要的文件 用于站点操作。到目前为止,我在apache配置文件中为每个域禁用了它。 我想只禁用某些页面上的某些规则。我读到的实现示例特定于red hat和其他发行版。 我运行带有apache 2.8的Centos 5和mod_security 2(服务器托管多个站点)
在centos上,加载的mod_security包含在顶部,如下所示:
Include "/usr/local/apache/conf/modsec2.conf"
上面的文件调用了在同一目录中找到的modsec2.user.conf。
这是我到目前为止所做的:
我的服务器没有名为modsecurity.d的目录,我可以创建这样的文件:
/etc/httpd/modsecurity.d/modsecurity_localrules.conf
所以我创建了一个名为:
的文件whitelist.conf
在:
/usr/local/apache/conf/
然后我在其中添加了一个包含:
/etc/httpd/conf/modsec2.conf/
规则如下:
<LocationMatch "/wp-admin/post.php">
SecRuleRemoveById 950006
</LocationMatch>
但规则不起作用。我想知道whitelist.conf是否被放置在正确的位置。
然后我创建了2个文件:
modsecurity_crs_15_customrules.conf
modsecurity_crs_60_customrules.conf
并将它们放入:
/home/cpeasyapache/src/modsecurity-apache_2.5.12/rules
以上路径是我找到的地方:
modsecurity_crs_10_config.conf
包含主要规则,但我没有看到任何其他文件调用它。
基本规则见:
/home/cpeasyapache/src/modsecurity-apache_2.5.12/rules/base_rules
似乎我的mod_security已经安装并配置了最少的功能。想把它添加到httpd.conf:
<IfModule security2_module>
Include /home/cpeasyapache/src/modsecurity-apache_2.5.12/rules/modsecurity_crs_10_config.conf
Include /home/cpeasyapache/src/modsecurity-apache_2.5.12/rules/base_rules/*.conf
Include /home/cpeasyapache/src/modsecurity-apache_2.5.12/rules/optional_rules/*.conf
Include /home/cpeasyapache/src/modsecurity-apache_2.5.12/rules/modsecurity_crs_15_customrules.conf
Include /home/cpeasyapache/src/modsecurity-apache_2.5.12/rules/modsecurity_crs_60_customrules.conf
</IfModule>
你们是如何做到的?
提前谢谢