首先咱们先了解一下配置文件中 关于 attack 的配置 Lighttpd配置中,关于超时的参数有以下几个 :web
server.max-keep-alive-idle = 5 server.max-read-idle = 60 server.read-timeout = 0 server.max-connection-idle = 360
这几个参数意思相近,配置的时候很容易搞混。后端
对于一个keep-alive链接上的连续请求,发送第一个请求内容的最大间隔由参数max-read-idle决定,从第二个请求起,发送请求内容的最大间隔由参数max-keep-alive-idle决定。请求间的间隔超时也由max-keep-alive-idle决定。发送请求内容的总时间超时由参数read-timeout决定。Lighttpd与后端交互数据的超时由max-connection-idle决定。服务器
还有 测试
server.modules = ( "mod_evasive", )
evasive.max-conns-per-ip = 2
若是要限制流量,能够作以下设置:code
connection.kbytes-per-second = 128 //此参数默认值为0,表示无限制 evasive.max-conns-per-ip = 3 //单IP最大的链接数
而后咱们再了解一下 Slow HTTP Denial of Service Attack 的攻击行为server
利用的HTTP POST:POST的时候,指定一个很是大的ip
content-length,而后以很低的速度发包,好比10-100s发一个字节,hold住这个链接不断开。这样当客户端链接多了后,占用住了webserver的全部可用链接,从而致使DOS。web服务器
简单防护办法就是 对web服务器的http头部传输的最大许可时间进行限制,修改为最大许可时间。io
那么怎么才能达到解决这个问题的目的呢?module
#Slow attack server.modules = ( "mod_evasive", ) //开启防护模块 evasive.max-conns-per-ip = 50 //限制ip 数量 server.max-keep-alive-idle = 10 //根据实际状况越小越好 server.max-read-idle = 6 //根据实际状况越小越好
设置好之后,重启lighttpd 咱们再经过漏扫软件进行测试,发现 Slow HTTP Denial of Service Attack 漏洞已经解除了。