導航: 這里將一個案例事項按照流程進行了整合,這樣查看起來比較清晰。部分資料來自於Cloudflare 1.DDoS介紹 2.常用DDoS攻擊 |
1.DDoS的防護方式
防護DDoS從原理來說就是需要從所有流量中區分出正常流量和惡意攻擊流量,然后過濾點攻擊流量,避免其占用服務器資源為正常流量服務。按這個道理來說,只要成功過濾惡意流量,就能是DDoS攻擊失去作用,保證業務正常進行,不會產生意外損失。
本地防護設備
本地設備一般分為DDoS檢測設備、管理中心和清洗設備。首先,DDoS檢測設備日常通過流量基線自學習方式,按各種和防御有關的維度進行統計,形成流量模型基線,從而生成防御閾值。學習結束后繼續按基線學習的維度做流量統計,並將每一秒鍾的統計結果和防御閾值進行比較,超過則認為有異常,通告管理中心。由管理中心下發引流策略到清洗設備,啟動引流清洗。異常流量清洗通過特征、基線、回復確認等各種方式對攻擊流量進行識別、清洗。經過異常流量清洗之后,為防止流量再次引流至DDoS清洗設備,可通過在出口設備回注接口上使用策略路由強制回注的流量去往數據中心內部網絡,訪問目標系統。
運營商清洗服務
一般黑客發起DDoS攻擊時,最先感知到的一般為本地數據中心內的DDoS防護設備,但本地防護設備只能防御一定規模的流量攻擊,一旦攻擊流量超出本地DDoS清洗設備性能可以應對的DDoS流量攻擊規模時,需要通過運營商清洗服務或借助運營商臨時增加帶寬來完成攻擊流量的清洗,運營商通過各級DDoS防護設備以清洗服務的方式幫助用戶解決帶寬消耗型的DDoS攻擊行為,如果流量比較大,也會出現帶寬的問題。
雲清洗服務
最差的情況就是在運營商的流量清洗效果不理想的時候,可以嘗試使用雲清洗服務。雲清洗服務是分布式部署的基於運營商骨干網的異常流量清洗中心,可以在靠近攻擊源的的地方講流量清洗,提升防護DDoS的能力。
DDoS雲防護的基本原理就是替身防護,即通過A記錄、CNAME或者NS的方式將被攻擊網站的域名指向雲清洗機房,雲清洗機房利用囤積的大量帶寬進行流量清洗,把清洗后的正常業務訪問轉發給網站,過濾掉攻擊流量。
且雲清洗服務帶寬量大,具體了解雲清洗服務的部署架構原理,參考文章Anycast技術。
DDoS攻擊危害嚴重,需積極應對,必需采取有效防護DDoS措施。對比三種方式的不同和適用場景,發現他們都存在一些缺點,比如本地DDoS防護設備和運營商清洗服務都對HTTPS流量的防護能力有限,且對CC等應用層的DDoS攻擊類型檢測效果不太行。大多數真正的DDoS攻擊都是“混合”攻擊,所以單一解決方案不能完成所有DDoS攻擊清洗,最好的方式是要根據實際情況采取多重防護。
1.1 DDoS緩解流程
有了以上幾種防護方案,那么流量到了防護設備是怎么將惡意流量和正常進行區分的?怎么將正常流量給到真實服務器?
什么是DDoS緩解?
DDoS緩解是指成功保護目標服務器或網絡以抵御分布式拒絕服務(DDoS)攻擊的過程。目標受害者可以使用專門設計的網絡設備或基於雲的保護服務緩解傳入的威脅。
使用基於雲的提供商來緩解 DDoS 攻擊時,可以分為 4 個階段:
1.檢測 - 為阻止分布式攻擊,網站需要能夠區分攻擊流量與大規模正常流量。如果產品發布或其他公告導致網站涌入大批新的合法訪問者,那么網站最不希望的就是限制訪問者或以其他方式阻止訪問者查看網站內容。IP信譽、常見攻擊模式和過往數據均有助於妥善完成檢測。
2.響應 - 在此步驟中,DDoS保護網絡將通過智能方式丟棄惡意機器人流量並吸收其余流量,從而對傳入的已識別威脅做出響應。利用WAF頁面規則應對應用程序層(L7)攻擊,或者運用其他過濾流程來應對低層(L3/L4)攻擊(如memcached或NTP放大),網絡能夠緩解中斷攻擊。
3.路由 - 高效DDoS緩解解決方案通過智能方式路由流量,將剩余流量分解為可管理的區塊,從而防止拒絕服務。
4.調整 - 卓越的網絡可以分析流量總結模式(如重復違規的IP阻止),特別是攻擊來自某些特定國家/地區或特定協議使用不當時效果尤為顯著。通過調整應對攻擊模式,保護服務可以加強自身以防范未來攻擊。
其實也有很多叫法:流量檢測、流量牽引和流量回注。
1.2 DDoS的清洗算法
那么知道了緩解的步驟,流量到達緩解層,怎么去區分什么是正常流量?什么是不正常流量?
在不同的產品或者不同的雲廠商中都有不同的策略?以下僅列舉一些常用的一些策略。
比如網易NDS的防護算法:
網絡層防護
網絡層防護的主要流程是:每50毫秒分析一次業務流程的成分、新建連接並發連接、業務請求,發現攻擊成分發生變化時,依據客戶的配置情況調用相應的清洗模塊。網絡層清洗模塊主要有:TCP SYN認證模塊、畸形包模塊、ACL模塊、TCP/UDP狀態機模塊、黑名單模塊、大數據分析過濾模塊、限速模塊。NDS產品對UDP業務的防護流程如下圖所示:
NDS產品對TCP業務的防護流程比較復雜,這里僅僅介紹SYN Flood的防護,如下圖所示。
應用層
應用層DDoS攻擊之所以難以防范,就在於攻擊流和正常流混合在一起,很難有效地分辨出攻擊流,想要取得良好的防護效果,要求NDS必須對業務進行深入的分析。
NDS產品業務層防護由JS認證、瀏覽器指紋、CC工具識別、高級ACL、IP名單庫等防護模塊組成。這些模塊可以單獨或者組合使用,以保護客戶的業務。
1.JS驗證:用於驗證來自互聯網的訪問是否來自於真實瀏覽器,會區分HTTP API調用和瀏覽器。其防護流程如下圖所示:
2.瀏覽器指紋:用於驗證來自於互聯網的訪問是否偽造瀏覽器的請求;
3.CC工具識別:一款CC工具識別模塊,能識別出互聯網的90%以上的CC工具。包括且不限於空連接、長連接、慢速連接、故意拆分成小包、故意重傳、回放攻擊、無負載連接等行為;
4.高級ACL:支持客戶根據業務特征書寫ACL,直接過濾非法流量,支持與黑名單聯動;
5.IP名單庫:根據大數據的分析結果,形成各種特征的IP名單。
各種不同的算法有很多,這里不一一列舉。
1.3 DDoS廠商對比
怎么選擇選擇DDoS緩解服務
傳統DDoS緩解解決方案需要采購現場設備並過濾傳入流量。這種方法需要采購和維護昂貴的設備,而且依賴能夠緩解攻擊的網絡。如果DDoS攻擊規模足夠大,將可以從上游切斷網絡基礎設施,阻止各類現場解決方案生效。如果采購基於雲的DDoS緩解服務,應對某些特征進行評估。
1.可擴展性 - 高效解決方案必需能夠適應不斷增長的業務需求,並對層出不窮的DDoS攻擊做出響應。超過每秒1TB/s(TBPS)的攻擊已然出現,而且尚無跡象表明攻擊流量規模呈下滑趨勢。Cloudflare網絡能夠處理比以往任何時候都大得多的DDoS攻擊。
2.靈活性 - 能夠創建臨時策略和模式,因而可以實時調整Web資產以抵御傳入的威脅。為確保站點在攻擊期間保持在線狀態,實施Page Rule並在整個網絡中填充相關更改顯得至關重要。
3.可靠性 - DDoS保護就好比座椅安全帶,只在必要時使用,一旦使用最好確保正常運行。無論任何保護策略,保證DDoS解決方案可靠性對於順利推行策略均至關重要。為確保服務長時間正常運行及實現較高的站點可靠性,工程師每天24小時不間斷工作,以維持網絡在線狀態並識別新威脅。冗余、failover 及廣闊的數據中心網絡是推行平台戰略的核心。
4.網絡規模 - 隨着具體協議和攻擊手段的不斷轉變,Internet DDoS攻擊也存在一定的規律。鑒於網絡龐大且數據傳輸范圍較廣,DDoS防護提供商可以快速有效地分析和響應攻擊,通常能夠搶先一步阻止攻擊。Cloudflare 網絡運行的Internet請求約占財富1,000強企業的10%,為分析全球攻擊流量數據創造了優勢。
這里由於使用的DDoS防護產品比較少,這里簡單列舉使用過的騰訊雲和cloudflare簡單說一下。
首先說一下騰訊雲,在國內的防護產品有很多,如DDoS高防包,DDoS高防IP,但是騰訊雲在海外的防護,比如DDoS高防IP,騰訊雲沒有足夠的資源,就會借用第三方運營商的高防IP來客戶使用.這里就會出現幾個問題:
1.出現故障難以排查
2.可能造成一些正常的用戶無法訪問目標真實主機。
由於在項目上出現過以上問題,所以切換到了cloudflare的高防產品上,切換到了cloudflare后,cloudflare會給出一個邊緣IP,查詢這個IP信息,就會提示為“泛播IP”,簡單來說,切換到了cloudflare之后,就沒有受到過DDoS的攻擊。
當然,類似於雲廠商的DDoS防護有很多,如阿里雲的雲盾,網易、AWS都有自家的DDoS防護產品,這就需要根據各場景的實際使用情況選擇。