Web 服务器:Nginx。
检查我们的日志文件,有许多连接的日志条目:
- 需要 59-61 秒
- 发送一个空请求(或者至少没有记录任何内容)
- 导致 408 响应(请求超时)
- 不包含任何 http_user_agent
- 来自有限数量的 IP
我们正在监控响应的平均时间,这显然会夸大我们的统计数据。除此之外,这是一个问题吗?知道为什么会发生这种情况吗?这是否意味着有人故意在捉弄我们?我们应该怎么做?
答案1
这可能是一次 slowloris 攻击:
看: https://en.wikipedia.org/wiki/Slowloris_(computer_security)和http://ha.ckers.org/slowloris/
答案2
我在火车上使用手机时有时会遇到这种情况。我恰好在正确的时间(在 TCP 握手和发送请求之间)经过信号较弱的区域或隧道,就会发生这种情况。
电话运营商通常将所有客户置于 NAT 之后,因此大量用户可以来自少数 IP 地址。
做更多分析:
- 您看到了多少个?
- 他们是否遵循诸如早上 7 点至 9 点的规律?
- 该 IP 地址属于电话运营商吗?
- 您是否收到来自同一 IP 地址的其他流量?
- 它是什么样子的?
根据这些问题的答案,它可能是良性的,也可能是故意恶意的。无论哪种情况,降低超时时间可能都是一个好主意。即使在手机上,也没有人会等待 60 秒后再再次发出请求。