分布式拒絕服務(wù) (DDoS) 攻擊旨在使組織或服務(wù)脫機并源自多個分布式主機。防御 DDoS 攻擊的難點在于主機是分布式的——如果是單個主機或小組,您可以使用防火墻規(guī)則輕松阻止流量。DDoS 攻擊有許多不同類型,但我們可以將它們大致分為三類:容量攻擊、協(xié)議攻擊和應(yīng)用程序攻擊。讓我們詳細看看每一個。
什么是容量 DDoS 攻擊?
容量 DDoS 攻擊旨在填滿受害者的帶寬(例如 UDP 反射攻擊)。
UDP 反射攻擊發(fā)送的數(shù)據(jù)包將目標 IP 地址偽裝為源。然后,對欺騙數(shù)據(jù)包的響應(yīng)將發(fā)送到目標,而不是攻擊者。
通過中間服務(wù)器而不是直接攻擊目標的優(yōu)點是響應(yīng)數(shù)據(jù)包通常比發(fā)送的數(shù)據(jù)包大得多。例如,對 DNS 查詢的響應(yīng)可能比原始請求大 28 到 54 倍。
這樣,攻擊者可以發(fā)送許多更小的數(shù)據(jù)包,而響應(yīng)數(shù)據(jù)包將耗盡目標的資源。
什么是協(xié)議 DDoS 攻擊?
協(xié)議 DDoS 攻擊發(fā)現(xiàn)了協(xié)議運行方式的弱點(例如 SYN 洪水)。SYN 洪水利用了三向握手的工作方式。
當攻擊者向一臺機器發(fā)送大量 SYN 數(shù)據(jù)包時,服務(wù)器將為該請求分配資源并返回一個 SYN ACK 數(shù)據(jù)包——假設(shè)它是連接請求的開始。
通常,另一臺服務(wù)器會以 ACK 響應(yīng),開始連接。在受到攻擊的情況下,攻擊者在沒有完成連接的情況下繼續(xù)發(fā)送 SYN 請求,直到服務(wù)器資源耗盡且無法接受任何額外的流量。
什么是應(yīng)用程序 DDoS 攻擊?
應(yīng)用程序 DDoS 攻擊針對的是應(yīng)用程序工作方式中的弱點(例如 Slowloris 攻擊)。
Slowloris 攻擊與 SYN 洪水攻擊非常相似,但針對的是網(wǎng)絡(luò)服務(wù)器。當攻擊者發(fā)送 HTTP 請求而沒有完成它們,繼續(xù)(緩慢地)發(fā)送額外的標頭以保持連接打開時,就會發(fā)生這種情況。
由于連接永遠不會完成,它們吸收了服務(wù)器的所有可用資源,因此無法處理合法連接。
其他類型的 DDoS 攻擊
或者,DDoS 攻擊可以根據(jù)它們影響的 OSI 模型層進行分組。這些通常分為基礎(chǔ)設(shè)施攻擊(例如 UDP 反射和 SYN 泛洪)或應(yīng)用程序攻擊(例如 HTTP 泛洪和緩存破壞)。
當攻擊者向服務(wù)器或應(yīng)用程序發(fā)送看似合法的 HTTP 請求的“洪水”,耗盡其資源時,就會發(fā)生 HTTP 洪水。
緩存總線攻擊是 HTTP 泛洪攻擊的一個子集,旨在通過改變查詢字符串來避免 CDN 緩存,因此 CDN 必須為每個請求聯(lián)系源服務(wù)器,從而使其過載。
DDoS 攻擊的緩解措施
防御 DDoS 攻擊最重要的部分是準備工作本身。DDoS 嘗試在開始后很難處理。
擴大帶寬
應(yīng)對容量攻擊的一種方法是擴大帶寬作為響應(yīng)。不幸的是,這可能非常困難,具體取決于攻擊的規(guī)模,以及攻擊者擴大攻擊規(guī)模作為響應(yīng)的能力。
除非被攻擊的組織是服務(wù)提供商或非常大的組織,否則這不太現(xiàn)實。
外包響應(yīng)
較小的組織可以將他們的響應(yīng)外包給其他專業(yè)公司,或他們的 ISP(或兩者)。
這些類型的關(guān)系需要在攻擊發(fā)生之前就位,這樣當攻擊發(fā)生時,緩解措施就像聯(lián)系 ISP 或服務(wù)提供商以激活保護(或持續(xù)啟用保護)一樣簡單。
DDoS 保護提供商通常會做的是將流量轉(zhuǎn)移到他們的環(huán)境(如果它尚未通過他們的環(huán)境)。這可以通過 DNS,通過更新 A 記錄以指向 DDoS 提供商已分配的 IP(盡管您需要較低的 TTL 以使其快速生效),或通過 BGP,通過通告更具體的路由目前正在宣傳中。
制定 DDoS 特定的事件響應(yīng)計劃
即使組織已將其 DDoS 保護外包,制定特定于 DDoS 的事件響應(yīng)計劃也是關(guān)鍵。
一旦它被各個利益相關(guān)者編寫并同意,重要的是至少每年審查一次(最好通過桌面練習)以確保每個人都了解他們在計劃中的角色。
特定于 DDoS 的響應(yīng)計劃應(yīng)包括以下內(nèi)容:
活動前:
- 電路圖:創(chuàng)建盡可能準確的電路圖,包括電信觸點。
還要創(chuàng)建您自己的網(wǎng)絡(luò)和任何適當聯(lián)系人(包括能夠并有權(quán)進行本地更改的人員,以及可以聯(lián)系電信公司進行任何更新的人員)的地圖。 - 升級:確定何時(以及如何)讓您的 ISP 或 DDoS 緩解組織(提供最新的聯(lián)系人和合同副本)參與進來。
- 溝通:制定應(yīng)該通知誰和何時通知的列表(安全團隊的聯(lián)系信息、適當?shù)木W(wǎng)絡(luò)團隊聯(lián)系人等)。
這應(yīng)該分為兩組 - 技術(shù)響應(yīng)人員(可以/將實施技術(shù)更改以解決攻擊)和其他所有人(通信、法律等)。第二組應(yīng)該包括可能需要參與的任何人,但他們應(yīng)該與進行更改的技術(shù)人員單獨通話,以便盡可能有效地做出響應(yīng)。
理想情況下,這應(yīng)該被打印和分發(fā),這樣即使系統(tǒng)不可用,人們也可以訪問。
確保您的溝通團隊制定了一個計劃,說明在發(fā)生導(dǎo)致面向客戶的資產(chǎn)丟失的事件時如何以及如何溝通。 - 審查:應(yīng)定期(至少每季度)審查這些文件和聯(lián)系人名單。
活動期間:
- 將事件歸類為 DDoS 攻擊:需要確認這是一次 DDoS 攻擊,而不僅僅是短暫的高流量爆發(fā)或某人在網(wǎng)絡(luò)中犯下的錯誤。理想情況下,這還包括確定正在發(fā)生的攻擊類型和攻擊量。
- 升級:循環(huán)事件指揮官,以便他們可以開始通知必要的人員。
- 采取初始步驟:如果可能,請疏通流量。如果流量高于鏈接的帶寬,請聯(lián)系您的運營商(他們可能會在他們的一端造成流量下降)。同時,如果您有 DDoS 緩解服務(wù),也請聯(lián)系他們。
- 溝通:為技術(shù)人員和非技術(shù)人員建立一個鏈接以了解事件的最新情況。
如果公共服務(wù)長時間中斷,這一點尤其重要,因為您的通信團隊需要保持最新狀態(tài)才能與股東/媒體/客戶進行溝通。
事后:
- 恢復(fù)正常:您何時會取消任何緩解措施?誰來簽收?
- 攻擊來源:您可以收集哪些有關(guān)攻擊的信息來解釋它以及背后的攻擊者?這是有針對性的攻擊嗎?
- 經(jīng)驗教訓(xùn):它們是什么?如何使用它們來改進事件響應(yīng)計劃?
構(gòu)建彈性架構(gòu)
構(gòu)建具有彈性的系統(tǒng)需要一個全面的業(yè)務(wù)連續(xù)性計劃,并將 DDoS 作為該計劃的一個組成部分。
在為 DDoS 進行架構(gòu)設(shè)計和為業(yè)務(wù)連續(xù)性進行架構(gòu)設(shè)計時,基本上相同的原則適用于數(shù)據(jù)中心和網(wǎng)絡(luò)。您希望避免任何單點故障或瓶頸,并擁有地理上不同的網(wǎng)絡(luò)和供應(yīng)商的多樣性。
內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN) 是改善您對 DDoS 響應(yīng)的一種方法,因為它們提供了一個地理分布的代理服務(wù)器網(wǎng)絡(luò),可以顯著提高彈性。
云架構(gòu)提供了對舊模型的顯著改進。它允許任何規(guī)模的組織創(chuàng)建完全冗余的系統(tǒng),該系統(tǒng)可以上下旋轉(zhuǎn)并單擊按鈕。它還以極低的成本擁有地理上多樣化的基礎(chǔ)設(shè)施,以及一種根據(jù)需要上下擴展負載容量的廉價、簡單的方法。
專門針對云進行架構(gòu)可以使組織利用這些新模型并顯著改善您的 DDoS 響應(yīng)。
升級您的硬件
一些 DDoS 攻擊類型非常古老,可以通過更新的硬件來緩解。例如,您可以使用適當?shù)木W(wǎng)絡(luò)防火墻和負載均衡器抵御許多協(xié)議攻擊(如 SYN 泛洪)和應(yīng)用程序攻擊(如 Slowloris)。
這些防火墻通??梢员O(jiān)控此類攻擊的跡象,并在連接達到不可持續(xù)的水平時關(guān)閉連接。安裝正確的硬件可以減輕攻擊可能造成的損害。