Apache,Mod_security和Wordpress无法通过规则ID删除

时间:2013-05-15 08:34:27

标签: wordpress apache lamp mod-security

我一直在试图让这个工作正常一段时间,最后咬了一下子弹并贴在这里。

我使用OWASP核心规则集(v 2.2.5)与ModSecurity建立了LAMP堆栈,并且刚刚安装了Wordpress。我预计会与ModSecurity发生冲突,但我无法忽略或工作到目前为止我遇到的唯一错误。

Apache error.log文件和modsec_audit.log都列出了相同的错误:

  

ModSecurity:规则7f5d9a449228 [id“950901”] [file“/etc/modsecurity/owasp-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"][line”77“] - 执行错误 - 超出PCRE限制(-8): (空).`

我尝试创建一个新的.conf文件,其中crs conf文件包含

<LocationMatch .*>
  <IfModule mod_security2.c>
    SecRuleRemoveById 950901
  </IfModule>
</LocationMatch>

甚至删除了IfModule语句,然后删除了LocationMatch语句。

最后,我在.conf文件中注释了第76行和第77行,但错误仍然存​​在。这也没有效果。

仅在SecRuleEngine中将Off更改为modsecurity.conf,我才能访问该页面。当然,这违背了ModSec的目的。

我哪里错了?

1 个答案:

答案 0 :(得分:1)

尝试将此添加到您的php.ini文件(或包含的配置文件)中:

pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000

然后再到你的modsecurity.conf

SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000

这应该允许递归,而不必完全禁用mod_security