我们已将 ModSecurity 设置为将日志记录到 Apache2 的 modsec_audit.log。今天,我们在此日志中创建了 2259 个条目,引用者为:
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
这些条目是否意味着 bingbot 已停止抓取我们的网站?此日志条目的 H 记录显示(没有提及严重性或标签:
Message: Rule execution error - PCRE limits exceeded (-8): (null).
此条目的 HTTP 结果代码为 200 OK。
我正在尝试了解这些日志中的记录的含义,以便创建某种形式的报告。例如,我的理解是,如果日志条目的 H 部分指出:
[severity "CRITICAL"]
ModSecurity 已阻止该页面请求。我的理解正确吗?
希望有人能帮我解决这个问题。:)
答案1
首先要检查的是它是否真的是 Bing Bot。伪造您的 User-Agent 标头非常简单,各种恶意机器人一直在这样做。真正的 Bing Bot 总是来自具有反向查找的 IP 地址<something>.search.msn.com
。然后您应该检查返回域的正向查找:
$ dig +short -x 157.55.16.222
msnbot-157-55-16-222.search.msn.com.
$ dig +short msnbot-157-55-16-222.search.msn.com
157.55.16.222
有一些这里有好的建议关于 PCRE 限制问题。看看您是否可以找出导致问题的规则并从那里开始。
[severity "CRITICAL"]
不足以确定请求是否被阻止。请求可能被阻止[severity "NOTICE"]
或允许通过,具体[severity "CRITICAL"]
取决于您的配置和严重性原因。我看到的请求被阻止时的字符串是Access denied with code 403 (phase 2).
(或有时(phase 1).
)
如果您可以在访问日志中追踪到相同的请求,则可以检查那里的返回代码以确保万无一失。您可以使用 IP 地址和时间戳来执行此操作(这有点模糊,因为 IP 地址可以在一秒钟内轻松发出多个请求。)或者,如果您有mod_unique_id
您可以将其添加到访问日志中,以便匹配 mod_security 日志中的任何行。为此,请将其添加%{UNIQUE_ID}e
到您的LogFormat
行中。