Modsecurity“outbound-anomaly-score”

时间:2015-06-29 11:30:24

标签: php apache mod-security

我在modsecurity日志文件中打开一个页面(只显示一个表格)时遇到403禁止错误我得到了这个信息......

  --3445d837-A--
[29/Jun/2015:15:44:26 +0530] VZEagn8AAQEAACkX5YcAAAAE 49.204.187.140 56574 46.101.60.149 80
--3445d837-B--
GET /admin/recent.php HTTP/1.1
Host: domain.com
Connection: keep-alive
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
Referer: http://domain.com/admin/editclient.php?id=79
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: PHPSESSID=q5nl1ne2sqce9g8hpedl2mo2s5

--3445d837-F--
HTTP/1.1 403 Forbidden
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

--3445d837-E--
^_�^H^@^@^@^@^@^@^C�Zms�*^V�^\� ( GOT SOME RANDOM CHUNK LIKE THIS)
--3445d837-H--


Message: Access denied with code 403 (phase 4). Match of "rx (?:\\b(?:(?:i(?:nterplay|hdr|d3)|m(?:ovi|thd)|r(?:ar!|iff)|(?:ex|jf)if|f(?:lv|ws)|varg|cws)\\b|gif)|B(?:%p$
Message: Warning. Operator GE matched 4 at TX:outbound_anomaly_score. [file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_60_correlation.conf"] [line "40$
Action: Intercepted (phase 4)
Apache-Handler: application/x-httpd-php
Stopwatch: 1435572866889709 4340 (- - -)
Stopwatch2: 1435572866889709 4340; combined=1365, p1=212, p2=789, p3=1, p4=296, p5=67, sr=51, sw=0, l=0, gc=0

我犯了什么错吗?

1 个答案:

答案 0 :(得分:0)

如果您发布完整规则或错误会有所帮助 - 似乎已被切断。

在最新的核心规则集中搜索此规则似乎与规则ID 970903匹配,后者检查:'ASP / JSP源代码泄漏'

信息泄露是指您放弃有关系统的一些信息 - 例如,详细的错误消息,如堆栈跟踪,显示您的环境或代码可能对攻击者有用。

如果您没有使用ASP或JSP(因为您似乎使用的是PHP),那么您可以通过在定义规则后将此规则添加到ModSecurity配置来关闭此规则:

SecRuleRemoveById 970903

但是我很好奇为什么那里有“随机块”。是因为这个响应来自后端服务器gzips它而你的Apache只是它前面的代理吗?如果是这样,ModSecurity试图读取gzipped响应,这显然不起作用,并且可能导致这样的误报,当随机的压缩数据看起来像代码文本时,所以你可以用这个配置关闭身体响应的检查:

SecResponseBodyAccess Off

请注意,这将有效地禁用任何“信息泄漏”规则以及检查响应正文的任何​​其他规则。