我以为我的服务器在 http-guardian 下是安全的,但显然不是。一些自作聪明的人不断用“Keep-Dead”攻击我的服务器并导致其崩溃。
我查看了日志,但无法找到任何方法来区分这些请求和普通访问者的请求,普通访问者的浏览器正在快速加载繁忙页面上的所有组件。
任何意见,将不胜感激。
答案1
禁用 HTTP keep-alive,或者在 Apache 前面安装一个不受此影响的服务器作为代理。Nginx 会是一个不错的选择。
这次攻击与 Slowloris 攻击类似,利用了 Apache 的一个特定功能。防御起来相当简单。
注意:如果您安装了 nginx,请在 apache 上禁用 keep-alive,并在 nginx 上保持其启用状态。
答案2
Keep-Dead 的工作原理是发送 HEAD 请求,同时保持 TCP 连接处于活动状态(Keep-Alive,因此得名脚本)。这可能与对您的 Web 服务器发出的合法请求截然不同,后者可能主要是 POST/GET。请您的 IDS/IPS 在短时间内检测大量 HEAD 请求并采取适当的措施。