我从网络服务器收到此错误 - 这是已知问题。谷歌上有很多问题 - 但没有明确的解决方案。
[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 ""]
答案1
您是通过 IP 而不是 DNS 访问机器的吗?如果是这样,这是设计行为,因为 mod_security 会输出此消息以响应通过 IP 访问的机器。如果您不想出现错误,您可以注释掉错误中列出的文件中的规则。
背景信息:该规则之所以存在于默认配置中,是因为在大多数网站中,您都有一个与 DNS 关联的名称。因此,您的客户群应该使用该名称。许多恶意机器人喜欢通过简单地增加 IP 范围来“攻击”或查找易受攻击的机器。通过从一开始就通过 IP 阻止这些请求,可以说可以降低风险。请务必记住在更改后重新启动 Apache。
答案2
还有一种情况是当您让 LYNX 执行一些 crontab 作业时。在默认包含的规则中,lynx 被视为“网站爬虫”,只需禁用它即可。
祝你好运
答案3
乔舒亚·恩菲尔德对这个问题给出了一个很好的解释,如果你想要通过直接 IP 地址访问你的服务器,你可以禁用该规则,并使用 mod_security2 的规则在文件夹中创建一个新的 .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”] [行“98”] [id“960017”]
第一个选项应该更好,因为您将知道哪些规则被禁用并且最后拥有更多的控制权。
我上面给出的例子适用于最新的 OWASP 规则 2.2.7。
*另外请记住,禁用规则可能不是解决问题的最佳方法,一旦您了解并测试了规则,就应该再次启用它。另一种解决方法可能是为您的 IP 获取免费的 DNS 重定向服务,并使用新域名从互联网访问您的服务器: