当我检查日志时,我发现 Mod_security 阻止了站点操作所需的一些文件。到目前为止,我在 apache 配置文件中为每个域禁用了它。我只想在某些页面上禁用某些规则。我阅读的实现示例特定于红帽和其他发行版。我使用 apache 2.8 和 mod_security 2 运行 Centos 5(服务器托管多个站点)
在 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>
你们到底是怎么做的?
先感谢您