Cloudflare屢獲殊榮背后的故事丨Cloudflare DDoS防護深入剖析

來源: Cloudflare
作者:Cloudflare
時間:2021-07-15
17134
今天,很高興能談一下 Cloudflare 的自主 DDoS (分布式拒絕服務(DDoS)) 防護系統(tǒng)。這個系統(tǒng)已部署到 Cloudflare 全球所有 200 多個數據中心,正在積極保護我們的所有客戶,防御 3-7 層 (OSI 模型)上的 DDoS 攻擊,無需人工干預。作為我們不計量 DDoS 防護承諾的一部分,我們不會因為客戶受到 DDoS 攻擊而增加對客戶的收費。

今天,很高興能談一下 Cloudflare 的自主 DDoS (分布式拒絕服務(DDoS)) 防護系統(tǒng)。這個系統(tǒng)已部署到 Cloudflare 全球所有 200 多個數據中心,正在積極保護我們的所有客戶,防御 3-7 層 (OSI 模型)上的 DDoS 攻擊,無需人工干預。作為我們不計量 DDoS 防護承諾的一部分,我們不會因為客戶受到 DDoS 攻擊而增加對客戶的收費。

自主邊緣防護


為了迅速并精準地為我們的客戶防護 DDoS 攻擊,我們打造了一套自主邊緣檢測與緩解系統(tǒng),可自行做出決定而不需尋求在中心節(jié)點形成統(tǒng)一策略。這套系統(tǒng)是完全由軟件定義的,在我們部署于邊緣的普通服務器上運行。驅動這套系統(tǒng)的是我們的拒絕服務守護進程(dosd),后者最早于 2019 年上線,用于防護 L3/4 DDoS 攻擊。自那以來,我們一直不斷投資增強和改善其能力,以便保持領先攻擊者一步,并破壞攻擊的經濟性。最新一輪改良將我們的邊緣緩解組件進行了擴展,除了 L3/4 外,也能防御 L7 攻擊。

這套系統(tǒng)在我們所有邊緣數據中心的每一臺服務器上運行。系統(tǒng)不斷分析數據包和 HTTP 請求,掃描 DDoS 攻擊。一旦發(fā)現(xiàn)攻擊,系統(tǒng)立即將一條附有實時生成簽名的緩解規(guī)則推送到 Linux 堆棧的最優(yōu)位置,在此應用最具成本效益的緩解。

我們的新邊緣檢測能力是我們現(xiàn)有全球威脅監(jiān)測機制 Gatebot 的補充,后者位于我們網絡的核心。通過 Gatebot 在網絡核心檢測攻擊非常適用于較大型的分布式容量耗盡型攻擊,此類攻擊要求整個 Cloudflare 邊緣的協(xié)調。但是,較小型的局部攻擊需要以不同的方式來處理。通過在邊緣檢測網絡層和 HTTP 攻擊,我們能以更高速率采樣,同時檢測大型和小型攻擊,并立即生成緩解規(guī)則。過去幾個月來,所有 L3/4 攻擊中的 98.6% 是由 dosd 檢測到的。同樣地,自從 dosd 的擴展版本部署以來,已經緩解了全部 L7 攻擊的 81%。

Linux 網絡瞬間作用

                                         

10 年前,Linux 網絡非常緩慢。今天,得益于 Linux —— 特別是 Linux iptables 和 eXpress Data Path (XDP),我們可在瞬間丟棄數據包。

數據包的生命周期


如果一個數據包的目的地是受 Cloudflare 保護的客戶,這個數據包將通過 BGP Anycast 發(fā)送到最近的 Cloudflare 數據中心。到達后,數據包將經網絡交換機使用等價多路徑路由組(ECMP)通過一個路由器發(fā)往一個服務器。到達某個服務器后,網絡接口卡(NIC)將數據包傳送到一組 eXpress Data Path(XDP)程序中。第一組 XDP 程序—— L4Drop——應用來自此前檢測到的攻擊的緩解規(guī)則,并將數據包樣本傳送給 dosd 供進一步分析。

如果數據包沒有被視為惡意并丟棄,其將被傳送到 Unimog——我們的專利 L4 負載平衡器。根據服務器運行狀況和性能指標,Unimog 決定是否應該將數據包保存在同一臺服務器中,還是將其傳遞到數據中心內能夠更好地處理它的另一臺服務器。經過 Unimog 后,數據包將通過 iptables 防火墻。然后,如果目標是一個 L7 應用程序(例如受 Cloudflare WAF 保護的服務),數據包將傳送到我們的 HTTP 反向代理。該反向代理在用戶空間運行, 在此數據包被構建成 HTTP 請求并通過我們的 Web 應用程序防火墻、應用程序防火墻規(guī)則以及額外的客戶配置。如果數據包的目的地是一個 TCP/UDP 應用程序(Spectrum)或一個被路由而非被代理的 IP 目的地(Magic Transit),則其將通過那些系統(tǒng),而非我們的 HTTP 代理。

除了 L4Drop,我們的 HTTP 代理也將 HTTP 請求的樣本和元數據發(fā)送到 dosd。這一邊緣取樣的速率相當于核心取樣的 10 倍,因為請求可在本地分析(并據以處理),而非傳送到某個核心數據中心。同樣地,dosd 對數據包取樣的速度相當于 gatebot 的 81 倍。

dosd、gatebot 和 flowtrackd 一同分析所收到的樣本并在檢測到 DDoS 攻擊時應用緩解規(guī)則。它們將緩解規(guī)則添加到 Web 代理中以減輕 HTTP 攻擊。根據系統(tǒng)邏輯,對攻擊請求通過阻止、速率限制或質詢動作來處理。然而,如果攻擊容量較大,緩解規(guī)則將在堆棧中向下推送到 iptables 防火墻,使用 IP Jails 在 L4 中斷 L7 攻擊,以實現(xiàn)更具經濟效益的緩解。同樣地,對于 L3/4 攻擊, 系統(tǒng)將使用 L4Drop 內的擴展伯克利包過濾器(eBPF)程序在 iptables 防火墻內緩解。利用這些組件,我們能大規(guī)模自動緩解 DDoS 攻擊。

打破攻擊經濟


如上所述,我們的擴展自主系統(tǒng),連同我們現(xiàn)有的威脅緩解組件,是為保護客戶免受 DDoS 攻擊而開發(fā)的。然而發(fā)動攻擊的難度和成本已變得非常低。惡意行為者使用這些攻擊來弄垮網站、移動應用、游戲或任何連接到互聯(lián)網的資產。這些擴展保護措施很有必要,因為如我們在 DDoS 趨勢報告中所記載的那樣,過去一年來攻擊有所增加。此外,攻擊還變得更大規(guī)模和更加復雜 。同樣重要的是,小型攻擊能弄垮一個小型網站,因此無論是大型還是小型攻擊,我們都要進行阻止。

很多情況下,攻擊者可利用公開工具免費發(fā)動 DDoS 攻擊,或支付少量費用租用 DDoS 即服務僵尸網絡,例如暗網上的 Moobot。根據 2020 年暗網價格指數,一次持續(xù)一小時、每秒 1000-5000 個請求的 DDoS 攻擊起步價格為 10 美元。發(fā)動攻擊的成本遠低于其造成的損失。通過造成服務中斷或僅僅使其性能下降,攻擊者就能使受害者損失嚴重。例如,弄垮一個商務網站將使用戶無法登錄和購物。甚至延遲增加都能導致用戶放棄購物車并轉向競爭對手。一分鐘的停機時間很可能帶來數萬美元損失。

DDoS 攻擊的頻率、復雜程度和規(guī)模要求新方法——一種快速、準確和精確的方法。這就是我們開發(fā)本文所述擴展保護的原因。

幫助構建更好的互聯(lián)網


Cloudflare的使命是幫助建立一個更好的互聯(lián)網——對所有人而言都更安全、更快、更可靠。DDoS 團隊的愿景源自這個使命:我們的目標是使 DDoS 攻擊銷聲匿跡。上世紀 90 年底和本世紀初,垃圾電子郵件成為嚴重問題。今天,電子郵件服務為我們過濾了所有垃圾郵件,我們就是要對 DDoS 攻擊做同樣的事情。

立即登錄,閱讀全文
版權說明:
本文內容來自于Cloudflare,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家