1

我一直在环顾四周,试图让它正常工作一段时间,最后硬着头皮张贴在这里。

我有一个使用 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): (null) .`

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

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

甚至在它不起作用时删除了IfModule语句和 then语句。LocationMatch

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

只有更改SecRuleEngineOffin modsecurity.conffinally 才能让我访问该页面。当然,这违背了ModSec.

我哪里错了?

4

1 回答 1

1

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

pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000

然后这个给你的modsecurity.conf

SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000

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

于 2013-05-15T10:26:22.453 回答