欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

lighttpd防御 Slow HTTP Denial of Service Attack 解决办法

发布时间:2025/6/15 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 lighttpd防御 Slow HTTP Denial of Service Attack 解决办法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

首先我们先了解一下配置文件中 关于 attack 的配置 Lighttpd配置中,关于超时的参数有如下几个 :

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

如果要限制流量,可以做如下设置:

connection.kbytes-per-second = 128 //此参数默认值为0,表示无限制evasive.max-conns-per-ip = 3 //单IP最大的连接数

然后我们再了解一下 Slow HTTP Denial of Service Attack 的攻击行为

利用的HTTP POST:POST的时候,指定一个非常大的

content-length,然后以很低的速度发包,比如10-100s发一个字节,hold住这个连接不断开。这样当客户端连接多了后,占用住了webserver的所有可用连接,从而导致DOS。

简单防御办法就是 对web服务器的http头部传输的最大许可时间进行限制,修改成最大许可时间。

那么怎么才能达到解决这个问题的目的呢?

#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 漏洞已经解除了。

 

转载于:https://my.oschina.net/u/3338945/blog/1842698

总结

以上是生活随笔为你收集整理的lighttpd防御 Slow HTTP Denial of Service Attack 解决办法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。