mod_security 规则太严格?

mod_security 规则太严格?

我刚刚在服务器上安装了 mod_security,但每个页面都被阻止并出现禁止错误。我觉得规则太严格了,不是吗?如何改变它?

这是我的日志的最后一行

Message: Access denied with code 403 (phase 2). Pattern match "([\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\+\\=\\{\\}\\[\\]\\|\\:\\;\"\\'\\\xc2\xb4\\\xe2\x80\x99\\\xe2\x80\x98\\`\\<\\>].*?){8,}" at REQUEST_COOKIES:_iub_cs-856516. [file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "157"] [id "981172"] [rev "2"] [msg "Restricted SQL Character Anomaly Detection Alert - Total # of special characters exceeded"] [data "Matched Data: \x22 found within REQUEST_COOKIES:_iub_cs-856516: {\x22consent\x22:true,\x22timestamp\x22:\x222016-02-25T03:39:02.641Z\x22,\x22version\x22:\x220.11.36.4\x22,\x22id\x22:856516}"] [ver "OWASP_CRS/2.2.8"] [maturity "9"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"]
Action: Intercepted (phase 2)
Stopwatch: 1456371544053489 3619 (- - -)
Stopwatch2: 1456371544053489 3619; combined=1721, p1=217, p2=1499, p3=0, p4=0, p5=5, sr=59, sw=0, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.7.7 (http://www.modsecurity.org/); OWASP_CRS/2.2.8.
Server: Apache
Engine-Mode: "ENABLED"

答案1

您可能链接了每一条 mod_security 规则。将它们全部删除,然后尝试仅使用核心规则集。

如果这不起作用,请将它们全部删除,然后按照您真正希望规则生效的顺序逐一引入。每次添加规则后,请对您的网站进行全面测试,包括注册。

Amod_security 教程应该经历这个。

答案2

Cookie 因触发某些 OWASP CRS 规则而臭名昭著,因为它们包含随机文本和可能大量被规则阻止的特殊字符。

您想添加此配置以根据此规则将该 cookie 列入白名单:

SecRuleUpdateTargetById 981172 !REQUEST_COOKIES:'/^_iub_cs.*/'

这应该在配置中指定定义原始规则的文件被加载。

我猜想还有很多其他规则也在触发,所以你可能不得不添加一些这样的调整。你应该在 DetectionOnly 模式下运行,直到你调整规则以满足你的网站要求。他们将要需要调整。

这里还有一些可能有助于您了解 ModSecurity 的帖子:

希望这能有所帮助,巴里

相关内容