DDos 攻擊自打出現以後,就成為最難防禦的攻擊方式。僅僅在過去的一年裡,DDoS 的數次爆發就讓人大開眼界:
2016年4月,黑客組織對暴雪娛樂發動了 DDoS 攻擊,魔獸世界、守望先鋒多款遊戲出現當機的情況。 2016年5月,黑客組織針對全球銀行機構發動 DDoS 攻擊,導緻約旦、南韓、摩納哥等國的央行系統陷入癱瘓。 2016年9月,法國主機商 OVH 受到 DDoS 攻擊,峰值達到1Tbps 2016年10月,DynDNS 受到 DDoS 攻擊,北美衆多網站無法通路,受影響的網站均排前列。
在你不經意之間,DDoS 可能已經在網際網路上橫行無忌了。
在談攻防史之前,我們先來看看 DDoS 的攻擊原理,知己知彼,百戰不殆。
那麼什麼是 DDos 攻擊呢?
DDoS 攻擊是分布式拒絕服務攻擊(Distributed Denial of Service)的縮寫,核心是拒絕服務攻擊,通過使目标電腦的網絡或系統資源耗盡,使服務暫時中斷或停止,導緻其正常使用者無法通路。而攻擊的形式,又分為帶寬消耗型和資源消耗型。帶寬消耗型通過 UDP 洪水攻擊、ICMP 洪水攻擊以及其他攻擊類型;資源消耗型包含 CC攻擊、SYN 洪水攻擊、僵屍網絡攻擊等。不同的攻擊類型,我們的應對措施有所不同。不過在我們的日常工作中,我們所使用的 DDoS 攻擊普遍是帶寬消耗型攻擊,也就是說,黑客會針對你的伺服器發送海量 UDP 包、SYN 包,讓你的伺服器的帶寬被攻擊流量占滿,無法對外提供服務。舉個例子:使用者通過網絡來通路你的伺服器就如同客人過橋來找你,但是由于你的錢隻夠建立一個雙向四車道的橋,但是攻擊者派了 100 輛大卡車,堵在你的橋門口,導緻沒有正常客人能夠過橋來找你。

在這種情況下,你如果想要讓你的客人能夠繼續通路,那就需要更新你的大橋,來讓有空餘的車道給你的客人來通過。但是,在中國的帶寬由三大營運商移動聯通電信提供接入,網際網路帶寬的成本是非常高的,而攻擊者使用殭屍電腦攻擊,攻擊的成本要低很多,是以我們無法去無限制的更新我們的帶寬。
在網際網路的初期,人們如何抵抗 DDoS 攻擊?
DDoS 并不是現在才出現的,在過去,黑洞沒有出現的時候,人們如何抵抗 DDoS 攻擊呢? 在網際網路初期,IDC 并沒有提供防護的能力,也沒有黑洞,是以攻擊流量對伺服器和交換機造成很大的壓力,導緻網内擁塞,回環,甚至是伺服器無法正常工作,很多IDC往往采用拔網線之類簡單粗暴的辦法來應對。後來,一些 IDC 在入口加入了清洗的程式,能夠對攻擊流量進行簡單的過濾,這樣就大大的減輕了伺服器和内網交換機的壓力。但是機房的承載能力也是有上限的,如果攻擊總量超出了機房的承載能力,那麼會導緻整個機房的入口被堵死,結果就是機房的所有伺服器都因為網絡堵塞而無法對外提供服務。
後來,黑洞出現了,但是那時候的黑洞也是在機房的入口配置,隻是減輕了伺服器的壓力,如果攻擊的總量超出了機房的承載能力,最終還是因入口被堵塞而導緻整個機房的伺服器無法對外提供服務。在這種情況下,宣告了攻擊者的得手,沒有必要再盡心攻擊,但是如果攻擊者并沒有因為目标無法通路而停手,那麼機房入口仍有擁塞的風險。
後來,黑洞進一步更新,在機房黑洞之上采用了營運商關聯黑洞。在遇到大流量攻擊時,DDoS防禦系統調用營運商黑洞,在營運商側丢棄流量,可以大大緩解DDoS攻擊對機房帶寬的壓力。
雲計算平台也廣泛采用了此類黑洞技術隔離被攻擊使用者,保證機房和未受攻擊使用者不受DDoS攻擊影響。 不僅如此,雲計算平台的優勢在于提供了靈活可擴充的計算資源和網絡資源,通過整合這些資源,使用者可以有效緩解DDoS帶來的影響。
黑洞是如何抵擋 DDoS 攻擊的
目前最常用的黑洞防禦手段的流程圖如上圖所示。攻擊時,黑客會從全球彙集攻擊流量,攻擊流量彙集進入營運商的骨幹網絡,再由骨幹網絡進入下一級營運商,通過營運商的線路進入雲計算機房,直到抵達雲主機。 而我們的防禦政策剛好是逆向的,雲服務商與營運商簽訂協定,營運商支援雲服務廠商釋出的黑洞路由,并将黑洞路由擴散到全網,就近丢棄指定IP的流量。當雲服務商監測到被攻擊,且超出了免費防禦的限度後,為了防止攻擊流量到達機房的門檻值,雲計算系統會向上級營運商發送特殊的路由,丢棄這個 IP 的流量,使得流量被就近丢棄在營運商的黑洞中。
為什麼托管服務商不會替你無限制承擔攻擊?
一般來說,服務商會幫你承擔少量的攻擊,因為很多時候可能是探測流量等,并非真實的攻擊,如果每次都丢入黑洞,使用者體驗極差。 DDoS攻擊是我們共同的敵人,大多數雲計算平台已經盡力為客戶免費防禦了大多數的DDoS,也和客戶共同承擔DDoS的風險。當你受到了大規模 DDoS 攻擊後,你不是唯一一個受害者,整個機房、叢集都會受到嚴重的影響,所有的服務的穩定性都無法保障。 除此之外,在上面我們說到,目前 DDoS 都是帶寬消耗型攻擊,帶寬消耗攻擊型想要解決就需要提升帶寬,但是,機房本身最大的成本便是帶寬費用。而帶寬是機房向電信、聯通、移動等通信營運商購買的,營運商的計費是按照帶寬進行計費的,而營運商在計費時,是不會将 DDoS 的攻擊流量清洗掉的,而是也算入計費中,就導緻機房需要承擔高昂的費用。如果你不承擔相應的費用,機房的無奈之下的選擇自然便是将你的伺服器丢入黑洞。
當你的主機被攻擊後,服務商如何處理?
目前随着大家都在普遍的上雲,我們在這裡整理了市場上的幾家雲計算服務提供商的黑洞政策,來供你選擇。
AWS
AWS 的 AWS Sheild 服務為使用者提供了 DDoS 防禦服務。該服務分為免費的标準版和收費的進階班,免費的标準版不承諾防護效果,存在屏蔽公網 IP 的可能。付費版隻需要每月交 3000 美元,則可以享受防護服務。
Azure
Azure 為使用者提供了免費的抗 DDoS 攻擊的服務,但是不承諾防護的效果。如果攻擊的強度過大,影響到了雲平台本身,則存在屏蔽公網 IP 的可能。
阿裡雲
阿裡雲的雲盾服務為使用者提供 DDoS 攻擊的防護能力,在控制成本的情況下,會為使用者免費抵禦 DDoS 攻擊,當攻擊超出門檻值後,阿裡雲就會對被攻擊 IP 實行屏蔽操作。 阿裡雲免費為使用者提供最高 5Gbps 的惡意流量的攻擊防護,你可以在各個産品(ECS、SLB、EIP等)的産品售賣頁面看到相關的說明和條款。在其幫助文檔也說明了相關的服務的限制。
騰訊雲
騰訊雲也為使用者提供了免費的 DDoS 攻擊防護服務,其免費提供的防禦服務的标準如下:外網 IP 被攻擊峰值超過 2Gbps 會執行 IP 封堵操作(丢入黑洞),一般黑洞的時長為2小時,大流量攻擊時,封堵的時長從24小時到72小時不等。
普通 IDC
普通的 IDC 大多不提供防禦能力,如果受到攻擊,會存在被拔網線的可能。
如何合理的借助雲計算的能力來抵抗 DDoS 攻擊
合理的借助雲計算的能力,可以讓我們盡可能的減少被攻擊時的損失:
1.充分利用雲平台的彈性可擴充資源。設計可以橫向擴充的系統架構,避免IP資源或者CPU資源耗盡,不僅可以有效緩解DDoS攻擊的影響,而且可以提升系統可靠性。
2.縮小攻擊半徑。在設計系統時分離應用層和資料層,分離網絡通路層和系統服務層,充分利用雲服務提供商提供的雲資料庫、雲存儲、負載均衡、雲網絡等産品,可以有效緩解DDoS攻擊的危害。
3.考慮選擇合适的DDoS防護方案,主動抵禦可能出現的DDoS攻擊。
4.準備應對DDoS預案,第一時間響應并實施應對方案。