我一直在试图让这个工作正常一段时间,最后咬了一下子弹并贴在这里。
我使用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
的目的。
我哪里错了?
答案 0 :(得分:1)
尝试将此添加到您的php.ini
文件(或包含的配置文件)中:
pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000
然后再到你的modsecurity.conf
:
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
这应该允许递归,而不必完全禁用mod_security
。