【发布时间】:2014-11-22 11:09:34
【问题描述】:
我们在 Apache 2 上运行 mod_perl 并得到看似随机的与标头相关的错误,我们无法弄清楚。由于网站的性质,我们受到大量机器人的攻击,所以我认为这些是由机器人发出的错误或格式错误的请求引起的,但我想以一种或另一种方式确定它,所以我知道从这往哪儿走。以下是我们在日志中看到的 2 个最常见错误的示例:
[Thu Nov 13 21:40:48 2014] [warn] /whatever did not send an HTTP header
[Thu Nov 13 21:40:48 2014] [error] [client x] malformed header from script. Bad header=\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z: index.cgi
[Fri Nov 14 00:04:17 2014] [warn] /whatever did not send an HTTP header
[Fri Nov 14 00:04:17 2014] [error] [client x] Premature end of script headers: index.cgi
我们每天都会收到 100 次对这些相同 URL 的请求,并且它们在 99.999% 的时间里都能正常工作。我不相信这是我们的脚本——我们总是输出正确的标题。没有真正的用户曾抱怨过我们网站上的任何错误等等,所以我希望这只是由机器人的一些错误请求引起的。
如果是这样,如果我们能做些什么来阻止这些事情呢?这真的很痛苦,因为这些错误会影响我们的监控系统,而我的技术人员每天会收到大约 20-30 个虚假错误警报。
【问题讨论】: