如何防止分散式阻斷服務(DDoS)的攻擊?

No Comments /

很多網站管理者經常會面臨到分散式阻斷服務(DDoS, Distributed Denial of Service)的攻擊,而造成網站運作的異常。這篇文章除了分享因應 DDoS 的觀念之外,也轉載一份由國立勤益技術學院的張祥旺、陳瑞茂、林憲明等三位先進的研究報告。希望這些資訊能有助於國內的資訊環境。

DDoS 的因應觀念

  1. 系統維持運作
    網路的價值之一就是24小時無遠弗屆的傳播力,因此不論是否遭受攻擊,最重要的事情就是維持運作,讓 Up time 維持 99.9999% 的高標準。系統持續運作之下,管理人員才有辦法進行危機處理,否則一切都是空談。
  2. 服務不至中斷
    維持服務的先決條件就是確定那些人是人,而不是機器。通常,這可以由 IP 白名單(例如經常持續造訪的IP)、已認證的會員,再來就是合理瀏覽的IP。一般來說,正常的訪客都要數秒以上才會切換網頁,太快的速度就有問題。
  3. 資訊產出效率
    通常流量大的網站會盡可能將網頁轉成 static HTML 的型式,目的就是減少產出網頁所耗費的 CPU 時間。但對於眾多以資料庫為基礎的網站卻因為程式邏輯而有轉換上的困難。這時,可以透過 output buffer 的轉向,將程式所產生的內容轉存為 static html 或者存入 memcache 的記憶體空間。作為動態的 cache 系統,來提昇資訊產出的效率。

在這三大原則之下,網站將能自動調校系統的運作模式,在平常情況下按照一般模式運作。而在 DDoS 攻擊出現後,自動將內容轉存於 cache 系統,來減少機器人攻擊所浪費的資源。最後,則是將這些異常狀況彙整,作為管理審查的參考。

上述機制的關鍵在於:output buffer 的控制,這是決定系統是否被拖累的關鍵;其次則是服務對象的判定,這部份原則上以白名單的確認為優先,其他都列入黑名單,只提供 cache 中的內容;最後,則是追蹤黑名單中的瀏覽狀況,把具體的攻擊行為記錄下來。

關於附件

這份附件是由國立勤益技術學院的三位先進所作的報告,因為在搜尋引擎上找到後,謹予分享。若有任何商業應用者,請與他們聯絡。若作者先進不希望我們收錄,也請留言或來信告知,謝謝。

該文件的作法就是利用 flow tool 工具來收集連線 IP 的使用狀況,然後利用 shell script 定期產生報表,作為後續的因應參考。這也是很好的作法,尤其適合針對整個主機進行管理。

讀者可以參考:DDos IP Block System (1305)

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Post to Twitter Post to Plurk Post to Digg Post to Facebook

Facebook comments:

Leave a Reply

You must be logged in to post a comment.