什么是 DDoS 攻擊?
拒絕服務(wù) (DoS) 攻擊是一種惡意嘗試,旨在影響合法最終用戶對(duì)目標(biāo)系統(tǒng)(如網(wǎng)站或應(yīng)用程序)的可用性。通常,攻擊者會(huì)生成大量數(shù)據(jù)包或請(qǐng)求,最終使目標(biāo)系統(tǒng)不堪重負(fù)。在發(fā)生分布式拒絕服務(wù) (DDoS) 攻擊時(shí),攻擊者使用多個(gè)被破壞或受控的來源生成攻擊。
一般而言,DDoS 攻擊可按其攻擊的開放系統(tǒng)互連 (OSI) 模型的層級(jí)進(jìn)行隔離。攻擊最常發(fā)生在網(wǎng)絡(luò)層(第 3 層)、傳輸層(第 4 層)、表示層(第 6 層)和應(yīng)用層(第 7 層)。
開放系統(tǒng)互連 (OSI) 模型:
# | 層 | 應(yīng)用 | 描述 | 向量示例 |
7 | 應(yīng)用 | 數(shù)據(jù) | 網(wǎng)絡(luò)層發(fā)展至應(yīng)用層 | HTTP 泛洪,DNS 查詢洪泛 |
6 | 表示 | 數(shù)據(jù) | 數(shù)據(jù)表示和加密 | SSL 濫用 |
5 | 會(huì)話 | 數(shù)據(jù) | 主機(jī)間通信 | 不適用 |
4 | 運(yùn)輸 | 行業(yè) | 端到端連接和可靠性 | SYN 泛洪 |
3 | 網(wǎng)絡(luò) | 數(shù)據(jù)包 | 路徑確定和邏輯尋址 | UDP 反射攻擊 |
2 | 數(shù)據(jù)鏈路 | 幀 | 物理尋址 | 不適用 |
1 | 物理 | 位 | 媒體、信號(hào)和二進(jìn)制傳輸 | 不適用 |
DDoS 攻擊分類
在考慮抵御這些攻擊的緩解技術(shù)時(shí),將攻擊分為基礎(chǔ)設(shè)施層(第 3 層和第 4 層)和應(yīng)用層(第 6 層和第 7 層)非常有用。
基礎(chǔ)設(shè)施層攻擊
第 3 層和第 4 層的攻擊通常歸類為基礎(chǔ)設(shè)施層攻擊。這些也是最常見的 DDoS 攻擊類型,包括同步 (SYN) 泛洪攻擊和其他反射攻擊(如用戶數(shù)據(jù)報(bào)數(shù)據(jù)包 (UDP) 泛洪)等向量。這些攻擊通常數(shù)量較大,旨在使網(wǎng)絡(luò)或應(yīng)用程序服務(wù)器的容量過載。但幸運(yùn)的是,這些也是具有清晰標(biāo)識(shí)且更易于檢測(cè)的攻擊類型。
應(yīng)用層攻擊
第 6 層和第 7 層攻擊通常被歸類為應(yīng)用層攻擊。雖然這些攻擊不太常見,但它們也往往更加復(fù)雜。與基礎(chǔ)設(shè)施層攻擊相比,這些攻擊的數(shù)量通常較小,但往往側(cè)重于應(yīng)用程序的特定昂貴部分,從而使真實(shí)用戶無法使用應(yīng)用程序。例如,登錄頁(yè)的大量 HTTP 請(qǐng)求、昂貴的搜索 API,甚至 WordPress XML-RPC 泛洪(也稱為 WordPress pingback 攻擊)。
DDoS 防護(hù)技術(shù)
減少攻擊表面積
緩解 DDoS 攻擊的第一種技術(shù)之一是將可能受到攻擊的表面積降至最低,從而限制攻擊者的選擇,并允許您在單個(gè)位置構(gòu)建保護(hù)。我們希望確保我們不會(huì)將我們的應(yīng)用程序或資源暴露給端口、協(xié)議或應(yīng)用程序,而這些端口、協(xié)議或應(yīng)用程序不會(huì)進(jìn)行任何通信。因此,盡量減少可能的攻擊點(diǎn),讓我們集中精力執(zhí)行攻擊緩解工作。在某些情況下,為了實(shí)現(xiàn)此目的,您可以將計(jì)算資源放置在內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN) 或負(fù)載均衡器之后,并將 Internet 直接流量限制在基礎(chǔ)設(shè)施的某些部分,如數(shù)據(jù)庫(kù)服務(wù)器。在其他情況下,您可以使用防火墻或訪問控制列表 (ACL) 來控制到達(dá)應(yīng)用程序的流量。
計(jì)劃擴(kuò)展
緩解大容量 DDoS 攻擊的兩個(gè)主要考慮因素是帶寬(或傳輸)容量和服務(wù)器容量,以吸收和緩解攻擊。
傳輸容量。構(gòu)建應(yīng)用程序時(shí),請(qǐng)確保您的托管提供商提供充足的冗余 Internet 連接,使您能夠處理大量流量。由于 DDoS 攻擊的最終目標(biāo)是影響您的資源/應(yīng)用程序的可用性,因此您應(yīng)該將它們置于靠近您的最終用戶和大型 Internet 交換臺(tái)的位置,這樣即使在大量流量的情況下,您的用戶也可以輕松訪問您的應(yīng)用程序。此外,Web 應(yīng)用程序還可以進(jìn)一步利用內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN) 和智能 DNS 解析服務(wù),這些服務(wù)提供了一層額外的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,用于從通常靠近最終用戶的位置提供內(nèi)容和解析 DNS 查詢。
服務(wù)器容量。 大多數(shù) DDoS 攻擊都是容量攻擊,占用大量資源;因此,您可以快速向上或向下擴(kuò)展計(jì)算資源,這一點(diǎn)非常重要。要實(shí)現(xiàn)此目的,您可以在較大的計(jì)算資源上運(yùn)行,也可以通過具有更多支持較大容量的廣泛網(wǎng)絡(luò)接口或增強(qiáng)網(wǎng)絡(luò)等功能的資源。此外,使用負(fù)載均衡器持續(xù)監(jiān)控和轉(zhuǎn)移資源之間的負(fù)載也很常見,以防止任何一個(gè)資源過載。
了解什么是正常和異常流量
每當(dāng)我們檢測(cè)到流量水平升高而影響到主機(jī)時(shí),最基本的基線是只能接受主機(jī)可以處理的最大流量,而不會(huì)影響可用性。此概念稱為速率限制。更高級(jí)的保護(hù)技術(shù)可以更進(jìn)一步,并且只能通過分析單個(gè)數(shù)據(jù)包本身智能地接受合法的通信。為此,您需要了解目標(biāo)通常接收的良好流量的特征,并能夠?qū)⒚總€(gè)數(shù)據(jù)包與此基線進(jìn)行比較。
為復(fù)雜的應(yīng)用程序攻擊部署防火墻
最佳做法是使用 Web 應(yīng)用程序防火墻 (WAF) 來抵御試圖利用應(yīng)用程序本身中的漏洞的攻擊,如 SQL 注入或跨站點(diǎn)請(qǐng)求偽造。此外,由于這些攻擊的獨(dú)特性,您應(yīng)該能夠輕松創(chuàng)建針對(duì)非法請(qǐng)求的自定義緩解措施,這些請(qǐng)求可能具有偽裝成良好流量或來自壞 IP、意外地理位置等特征。有時(shí),它還有助于緩解攻擊,因?yàn)樗鼈兛赡軙?huì)獲得經(jīng)驗(yàn)支持,以研究流量模式并創(chuàng)建自定義保護(hù)。