lighttpd防御 Slow HTTP Denial of Service Attack 解决办法
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
首先我們先了解一下配置文件中 關(guān)于 attack 的配置 Lighttpd配置中,關(guān)于超時的參數(shù)有如下幾個 :
server.max-keep-alive-idle = 5 server.max-read-idle = 60 server.read-timeout = 0 server.max-connection-idle = 360這幾個參數(shù)意思相近,配置的時候很容易搞混。
對于一個keep-alive連接上的連續(xù)請求,發(fā)送第一個請求內(nèi)容的最大間隔由參數(shù)max-read-idle決定,從第二個請求起,發(fā)送請求內(nèi)容的最大間隔由參數(shù)max-keep-alive-idle決定。請求間的間隔超時也由max-keep-alive-idle決定。發(fā)送請求內(nèi)容的總時間超時由參數(shù)read-timeout決定。Lighttpd與后端交互數(shù)據(jù)的超時由max-connection-idle決定。
還有?
server.modules = ( "mod_evasive", ) evasive.max-conns-per-ip = 2如果要限制流量,可以做如下設(shè)置:
connection.kbytes-per-second = 128 //此參數(shù)默認值為0,表示無限制evasive.max-conns-per-ip = 3 //單IP最大的連接數(shù)然后我們再了解一下 Slow HTTP Denial of Service Attack 的攻擊行為
利用的HTTP POST:POST的時候,指定一個非常大的
content-length,然后以很低的速度發(fā)包,比如10-100s發(fā)一個字節(jié),hold住這個連接不斷開。這樣當客戶端連接多了后,占用住了webserver的所有可用連接,從而導(dǎo)致DOS。
簡單防御辦法就是 對web服務(wù)器的http頭部傳輸?shù)淖畲笤S可時間進行限制,修改成最大許可時間。
那么怎么才能達到解決這個問題的目的呢?
#Slow attack server.modules = ( "mod_evasive", ) //開啟防御模塊 evasive.max-conns-per-ip = 50 //限制ip 數(shù)量 server.max-keep-alive-idle = 10 //根據(jù)實際情況越小越好 server.max-read-idle = 6 //根據(jù)實際情況越小越好設(shè)置好以后,重啟lighttpd 我們再通過漏掃軟件進行測試,發(fā)現(xiàn) Slow HTTP Denial of Service Attack 漏洞已經(jīng)解除了。
?
轉(zhuǎn)載于:https://my.oschina.net/u/3338945/blog/1842698
總結(jié)
以上是生活随笔為你收集整理的lighttpd防御 Slow HTTP Denial of Service Attack 解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库基础操作(二)数据库表数据的增删查
- 下一篇: 运维管理架构方案