首頁  >  問答  >  主體

centos - nginx如何防禦slowloris攻擊?

nginx被偵測出slowloris攻擊:針對任意HTTP Server,建立一個連接,以很低的速度發包,並保持住這個連接不斷開。如果客戶端持續建立這樣的連接,那麼伺服器上可用的連接池將很快被佔滿,從而導致拒絕服務攻擊。

給出的解決方法是:限制web伺服器的HTTP頭部傳輸的最大許可時間。

那麼nginx該怎麼設定呢?
我設定了
keepalive_timeout 65;
client_header_timeout 10;
client_body_timeout 10;
send_timeout 10;
可還是被偵測出了有問題。後來想了想,client_header_timeout只是限制了兩個包間的延遲,只要保持著慢慢發就不會斷,我需要讓傳輸總時間超過了設定值就直接斷掉。
該如何做呢?或有應對slowloris的模組?

漂亮男人漂亮男人2733 天前1012

全部回覆(1)我來回復

  • 漂亮男人

    漂亮男人2017-04-25 09:05:29

    slowloris對nginx無效的吧?
    你設定下每個ip的連結數。
    對付攻擊就是打資源戰,nginx支援這種連結不需要多少資源,多搞幾台伺服器,設定下每個ip的連結數目。
    看下攻擊的是否透過post實現的,可以設定下cookie,如果沒某個cookie,就直接丟棄post。

    回覆
    0
  • 取消回覆