Cloudflare DDoS防護深入解析

來源:Cloudflare
作者:Cloudflare
時間:2023-08-15
1699
今天,我們更高興能和大家分享一下Cloudflare的自主DDoS(分布式拒絕服務(DDoS))防護系統(tǒng)。

640.png

今天,我們更高興能和大家分享一下Cloudflare的自主DDoS(分布式拒絕服務(DDoS))防護系統(tǒng)。這個系統(tǒng)已部署到Cloudflare全球所有300個數(shù)據(jù)中心,正在積極保護我們的所有客戶,防御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)在我們所有邊緣數(shù)據(jù)中心的每一臺服務器上運行。系統(tǒng)不斷分析數(shù)據(jù)包和HTTP請求,掃描DDoS攻擊。一旦發(fā)現(xiàn)攻擊,系統(tǒng)立即將一條附有實時生成簽名的緩解規(guī)則推送到Linux堆棧的最優(yōu)位置,在此應用最具成本效益的緩解。

640 (1).png

Cloudflare DDoS緩解系統(tǒng)的概念圖

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

我們已在此前的博文中介紹過Gatebot和flowtrackd,因此本文著重介紹擴展后的dosd能力。

利用Linux網(wǎng)絡在瞬間丟棄數(shù)據(jù)包和請求

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

數(shù)據(jù)包的生命周期

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

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

640 (2).png

數(shù)據(jù)包的生命周期

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

dosd、gatebot和flowtrackd一同分析所收到的樣本并在檢測到DDoS攻擊時應用緩解規(guī)則。它們將緩解規(guī)則添加到Web代理中以減輕HTTP攻擊。根據(jù)系統(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ā)動攻擊的難度和成本已變得非常低。惡意行為者使用這些攻擊來弄垮網(wǎng)站、移動應用、游戲或任何連接到互聯(lián)網(wǎng)的資產。這些擴展保護措施很有必要,因為如我們在每個季度的DDoS趨勢報告中所記載的那樣,多樣且日漸復雜DDoS攻擊持續(xù)增加。即使是一些小型攻擊也足以擊垮一個小型網(wǎng)站,因此無論是大型還是小型攻擊,我們都要進行阻止。

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

DDoS攻擊的頻率、復雜程度和規(guī)模的不斷演變及進化要求我們始終確保采用最新的防御方法——一種快速、準確和精確的方法。這就是我們開發(fā)本文所述擴展保護的原因。

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

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

原文鏈接:點擊前往 >
文章來源:Cloudflare
版權說明:本文內容來自于Cloudflare,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家