2013-05-15 53 views
1

我一直在四处寻找试图让这个工作权利一段时间,现在终于位子弹,并张贴在这里。Apache,Mod_security和Wordpress,无法通过规则ID删除

我有一个ModSecurity使用OWASP核心规则集(v 2.2.5),只是安装WordPress的LAMP堆栈。我期望与ModSecurity发生冲突,但我一直无法忽略或解决目前为止唯一遇到的错误。

Apache的error.log中文件和modsec_audit.log两个列表相同的错误:

ModSecurity: Rule 7f5d9a449228 [id "950901"][file "/etc/modsecurity/owasp-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"][line "77"] - Execution error - PCRE limits exceeded (-8): (null).`

我试图创建在CRS的conf文件位于包含新的.conf文件

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

甚至删除了IfModule语句,然后在LocationMatch语句无效时删除。

最后,我诉诸注释掉.conf文件中的第76行和第77行,并且错误仍然出现。这也没有效果。

只有改变SecRuleEngineOffmodsecurity.conf终于让我访问该页面。当然这违背了ModSec的目的。

我哪里错了?

回答

1

尝试添加以下内容到php.ini文件(或包含的conf文件):

pcre.backtrack_limit = 10000000 
pcre.recursion_limit = 10000000 

然后给你的modsecurity.conf

SecPcreMatchLimit 150000 
SecPcreMatchLimitRecursion 150000 

这应该允许递归,而无需完全禁用mod_security

+0

谢谢!这解决了所有这些错误,但当我尝试访问同一页面时,我仍然得到了403。我尝试将新ID添加到我的whitelist.conf文件中,但似乎没有任何效果。我怎样才能得到403代码引用我已经消除的ID代码(我99%确定)? – user2384705

+0

403有点泛泛......你的日志里有什么东西?如果你还没有,启用日志mod_security可能是一个好主意:http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/html-multipage/07-logging.html – doublesharp

+1

原来是我的一半问题是一个wordpress设置指向存放文件的错误位置,并且没有权限创建需要的文件夹。那12小时我的生活我不会回来。但感谢您的全力帮助,我会继续采用这种方式 – user2384705