Linux
一個連接通過多個 IP 進行 DDOS
我有一個網站在過去一個月每天都在同一時間受到 DDOS 攻擊,在花了一個月的時間研究和查明錯誤之後,我們制定了一個 bash 腳本,如果連接在一分鐘內達到 80 多個最大連接數然後IP被禁止並放入IPTABLES。
這兩天工作得很好,我覺得我終於解決了這個問題。
但是,唉,現在這個人正在發送多個 IP,每個 IP 只有一個連接(在此處查看輸出http://pastebin.com/7AJqBfJa)。這使網站癱瘓,就像一個 IP 每分鐘發送 150 個連接時一樣。
在防止 DDOS 方面,這當然是一個完全不同的球賽,我正在尋求專家的幫助和任何足夠關心的人,以提供一些建議。在這一點上,我不知道如何解決這個問題,任何幫助將不勝感激。
正如 Niall 提到的,mod_evasive 在這種情況下工作得非常好,我最近用它來阻止我在我的一個網站上遇到的一個非常相似的問題。在您沒有在單個 IP 上接收大量連接但您確實看到伺服器上出現不自然模式的情況下,它會有所幫助。
在我的例子中,我也在這裡寫過部落格,我安裝了 mod_evasive 並使用以下設置對其進行了配置:
<IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 3 DOSSiteCount 100 DOSPageInterval 3 DOSSiteInterval 5 DOSBlockingPeriod 300 DOSLogDir "/var/log/httpd/modevasive/" DOSEmailNotify your@emailaddress.com </IfModule>
基本上,如果單個IP在5秒內請求同一個資源(文件)3次;或在 5 秒內對任何文件進行 100 次點擊;然後 Apache 將拒絕對該文件的進一步請求。
如果你想增強這個腳本;當您的參數被觸發時,您可以觸發系統命令。就我而言,我將此命令添加到上面的配置中:
DOSSystemCommand "/usr/bin/sudo /usr/sbin/csf -td %s 3600"
這使我的防火牆CSF阻止 IP 一個小時。你可以很容易地編寫一個 iptables 腳本來做同樣的事情,但是 CSF 對我來說很容易。
無論如何,希望這可以幫助您確定您的 DDOS 攻擊者!