我刚刚在我的Apache2 Web服务器上安装了mod_security。
我从OWASP CRS激活了所有base_rules/
。
我通过查看/var/log/apache2/modsec_audit.log
内部发现了误报。
目标网址为:
/mobile//index.cfm?gclid=Cj0KEQjw_qW9BRCcv-Xc5Jn-26gBEiQAM-iJhcydtemGoKm4rCJ7gbEgz5qL-MXF0tMh5BkaxVPZPYwaAvhW8P8HAQ
错误日志是:
消息:警告。模式匹配 “([\〜\ \ @ \#\ $ \%\ ^ \&放大器; \ * \(\)\ - \ + \ = \ {\} \ [\] \ | \:\; \” \” \\ XC2 \ XB4 \\ XE2 \ X80 \ X99 \\ XE2 \ X80 \ X98 \'\< \>?] *){4,}” 在ARGS:gclid。 [文件 “/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf”] [line“159”] [id“981173”] [rev“2”] [msg“受限SQL字符 异常检测警报 - 特殊字符总数超出“] [data“匹配数据: - 在ARGS内找到:gclid: Cj0KEQjw_qW9BRCcv-Xc5Jn-26gBEiQAM-iJhcydtemGoKm4rCJ7gbEgz5qL-MXF0tMh5BkaxVPZPYwaAvhW8P8HAQ“] [ver“OWASP_CRS / 2.2.8”] [成熟期“9”] [准确性“8”] [标签 “OWASP_CRS / WEB_ATTACK / SQL_INJECTION”]消息:警告。运营商LT TX:inbound_anomaly_score匹配5。 [文件 “/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_60_correlation.conf”] [line“33”] [id“981203”] [msg“入站异常分数(入站总数 得分:3,SQLi = 1,XSS = 0):受限制的SQL字符异常检测 警报 - 特殊字符总数超出“]
该消息是自我解释但是...对于我的网站而言,这不是恶意URL。
如何将此类网址(例如包含gclid参数)“列入白名单”而不是完全禁用规则981203?
答案 0 :(得分:3)
您可以在定义其他规则后添加此配置:
consultation
然而,我看到这条规则有很多误报,所以经常把它完全关掉。 OWASP CRS容易过度警报,需要大量调整。
有关其他建议的常见规则调整,请参阅此帖子: Modsecurity: Excessive false positives