首先咱們先了解一下配置文件中 關於 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 漏洞已經解除了。