我从Web服务器得到这个错误 – 这是已知的问题。 谷歌有很多问题 – 但不是明确的解决scheme。
[error] [client ] ModSecurity: Warning. Operator LT matched 20 at TX:inbound_anomaly_score. [file "/etc/httpd/modsecurity.d/base_rules/modsecurity_crs_60_correlation.conf"] [line "31"] [msg "Inbound Anomaly Score (Total Inbound Score: 5, SQLi=, XSS=): Host header is a numeric IP address"] [hostname ""]
你是通过IP而不是DNS访问机器吗? 这是devise的行为,如果是的话,因为mod_security正在输出这个消息,以响应通过IP访问的机器。 如果你不想要这个错误,你可以注释掉错误中列出的文件中的规则。
对于一些背景信息,规则存在于默认configuration的原因是因为在大多数网站你有一个DNS相关的名称。 所以你的客户群应该使用这个名字。 许多恶意机器人只是通过IP范围递增来“攻击”或find易受攻击的机器。 通过从一开始就通过IP阻止这些请求,您可以降低风险。 确保记住在更改后重新启动Apache。
还有一种情况是当你有LYNX执行一些crontab作业。 lynx被认为是默认包含规则中的“网站爬虫”,只是禁用它。
祝你好运
Joshua Enfield对这个问题给了一个很好的解释,如果你想用一个直接的IP地址访问你的服务器,你可以使用mod_security2的规则来禁止在该文件夹中创build一个新的.conf文件的规则:
modsecurity_crs_21_protocol_anomalies_customrules.conf
SecRuleRemoveById 960017
您可以使用SecRuleRemoveById删除原始文件中的规则或对其进行注释:
[文件“C:/ Program Files / Apache Software Foundation / Apache2.2 / conf / modsecurity_crs / base_rules / modsecurity_crs_21_protocol_anomalies.conf”] [line 98“] [id”960017“]
第一个select应该更好,因为你会知道什么规则被禁用,最后有更多的控制权。
我上面给出的例子,符合最新的OWASP规则2.2.7。
*还要记住,禁用规则不是解决问题的最佳方法,并且应该在理解和testing之后再次启用该规则。 解决这个问题的另一种方法是为你的IP获得一个免费的DNSredirect服务,并用新的域名从互联网访问你的服务器: