天天看點

秒極黑洞 解決大規模DDoS攻擊導緻的“躺槍”

秒極黑洞 解決大規模DDoS攻擊導緻的“躺槍”

躺槍

本文講的是 秒極黑洞 解決大規模DDoS攻擊導緻的“躺槍”,對于一個資料中心來說,大流量DDoS攻擊常常帶來的一個額外的不良結果是“連帶效應” (collateral effect),即黑客對A使用者的攻擊會影響到B甚至更多使用者的業務,很多網站業務受到影響而無法提供正常業務;盡管黑客實際上攻擊的對象并非是這些網站。對于這種不幸遭到“連帶”的情況,有一種更為通俗的稱謂——“躺槍”。

“躺槍”在雲資料中心環境下同樣可能發生,其發生的根本原因是資源的共享,即衆多網站共享資料中心的出口帶寬。如果攻擊者的攻擊流量很大,導緻資料中心出口發生擁塞情況,那麼資料中心的很多網站業務都會受到影響。

如何規避“躺槍“情況的發生呢?擴充出口帶寬固然是一種手段,但是擴帶寬不能完全規避”躺槍“情況的發生。黑客的大流量攻擊往往展現為突發,即在很短時間内達到一個相對峰值,給防護一方擴充帶寬的時間其實很少。即便防護一方實作帶寬快速擴充,黑客還可能提高攻擊流量,迅速吞噬掉擴充的帶寬。是以,簡單地擴充帶寬并非一種良策。

如何有效避免“躺槍“的情況

那麼如何有效避免“躺槍“的情況呢?俗話說,天下武功,唯快不破。DDoS防護亦然。其實,手段非常“簡單”,就是迅速将被攻擊使用者的流量丢棄掉。到底多快好呢?答案是越快越好,如果能實作秒級,那麼對其他使用者來說,幾乎是無感覺的。

從技術實作上來說,就是“秒級”黑洞。

衆所周知,黑洞是一種常見的抗DDoS手段,将對目的IP的所有流量(包括攻擊流量)投入黑洞路由中全部丢棄。正是由于黑洞表面上的簡單暴力而備受争議——畢竟被攻擊目标事實上無法通路,攻擊者的目标實作了。

然而,從另一個角度上來說,黑洞的執行可以最大程度上保證其他使用者的業務正常使用。畢竟,一個使用者的業務損失不能拉上其他衆多使用者來一起買單。

我們來探讨一個關鍵的問題——“秒級”黑洞是否可能實作?答案是肯定的。這裡有兩個關鍵的技術點,即秒級檢測和秒級響應,一方面,要求對大流量攻擊的發現在秒級;另一方面,黑洞操作也需要在秒級。

如何實作秒級黑洞

接下來的問題更有趣,秒級是什麼概念?幾十秒?還是幾秒?

回答這個問題需要站在業務角度上——哪個使用者可以忍受幾十秒甚至更長的業務延遲?是以,秒級的概念當然是個位數的,再進一步說,需要在5秒甚至更短的時間區間内。

5秒!這可能嗎?

我們看一個實際資料:阿裡雲雲盾DDoS防護服務的黑洞時間是3秒——1秒完成攻擊檢測,2秒完成黑洞政策的下發和執行。

具體來說,首先,和大多數基于NetFlow的DDoS檢測手段不同,阿裡雲雲盾流量采集基于分光的方式。分光可以實作近乎實時的流量采集,相對來說,基于NetFlow的采集需要十幾秒甚至幾十秒。其次,阿裡雲雲盾的檢測與黑洞關聯是完全自動化的,即一旦發現有大規模DDoS情況的發生,系統将自動化完成黑洞政策的下發和執行。自動化保證了2秒的高效率。如果人工/手工的方式,延遲可能是分鐘級甚至更長。

對于絕大多數系統來說,實作3秒黑洞最為關鍵的技術瓶頸就是1秒檢測發現DDoS攻擊。除了分光完成流量采集之外,如何在1秒内完成對海量流量的分析是最大的挑戰。最為正常的手段是單台伺服器完成流量分析。極為個别的系統可以實作伺服器叢集處理;然而,叢集化處理的伺服器數量往往是雙機或極為有限的個位數。不管怎樣,對于一個幾十G甚至幾百G出口的資料中心來說,即便采用雙機或稍多一些伺服器并行處理,也不可能實作1秒檢測。

阿裡雲雲盾同樣采用了叢集化處理,不過,阿裡雲雲盾進行流量分析的一個伺服器叢集即為500台伺服器。500台伺服器單叢集的并行處理是實作1秒檢測的關鍵。

是以,從技術角度上講,“分光采集+3秒黑洞”保證了使用者在阿裡雲環境下避免“躺槍”情況的發生。

如何避免被3秒黑洞情況的發生

最後的一個問題,可能也是被3秒黑洞使用者最為關心的——如何避免被3秒黑洞情況的發生呢?

對于采用阿裡雲雲盾基本防護服務的使用者來說,如果攻擊流量在短時間内超過一定的數值,為了保護其他使用者業務不受連帶影響,阿裡雲雲盾會執行黑洞的政策。對于業務連續性和可用性要求較高的使用者來說,阿裡雲雲盾提供高防IP服務。采用高防IP服務的使用者伺服器将部署在高防資料中心中,獲得較普通使用者更高的防護能力。目前,高防資料中心單點防護能力為300Gbps,同時可以實作多資料中心關聯防護以獲得更高的防護帶寬。

原文釋出時間為:七月 23, 2015

本文作者:Martin

本文來自雲栖社群合作夥伴安全牛,了解相關資訊可以關注安全牛。

繼續閱讀