Slow HTTP Denial Of Service Attack

近期使用WVS扫描工具对 Web 系统进行扫描,出现了 Slow HTTP Denial Of Service Attack 的安全漏洞,即缓慢的 HTTP DOS 攻击。

该攻击依赖于 HTTP POST ,指定一个非常大的 content-length ,以很低的频率每次发送数据包的一部分,如果一个 HTTP 请求是不完整的或者数据传输的速率非常低,服务器将占用连接资源等待其余数据的传输,如果发送大量这样的请求,则服务器将拒绝其他的请求服务,导致服务器瘫痪。

解决方案

对 web 服务器的 HTTP 头部传输的最大许可时间进行限制,修改最大许可时间为 5s(建议为 5s~10s )

Tomcat:修改 server.xml 的 connectionTimeout (默认为20000ms即 20s)

1
2
3
4
5
6
<Connector 
port="8080"
protocol="HTTP/1.1"
connectionTimeout="5000"
redirectPort="8443"
/>