天天看點

一次對抗大規模DDoS的真實經曆

本文講的是 一次對抗大規模DDoS的真實經曆,每個網站都會面對網絡攻擊。唯一的差別在于,如何建設防禦,以及如何進行警報和響應。

在網絡上很難找到關于防禦黑客攻擊的真實案例。一方面,資訊披露可能會引發官司,另一方面,披露這些資訊往往會導緻不良的财務後果,是以各公司往往不情願分享相關細節。然而,如果我們完全不披露這些故事,會使其它人在不知情的情況下犯相同的錯誤。如果我們為建立威脅情報共享體系做出貢獻,分享網絡安全戰場上的真實經驗,可以讓事情變得更好。

乙方是一家SaaS(軟體即服務)公司,為大中型企業提供網頁内容管理服務。其服務的客戶A公司專注于幫助醫療供應商提高營運和财務績效,A公司為數千家醫院和醫療保健機構客戶提供服務,管理數十億美元的開支。

要分析的這次DDoS攻擊的規模極大:在攻擊高峰時,8600萬個使用者同時從世界各地的超過10萬台主機上通路網站(當事方聯系了FBI)。當攻擊結束39小時後,防護方艱難的取得防禦性勝利。下面是事件過程:

瘋狂攻擊

A公司的年度會議即将召開,會議将有15000人參加。會議的前一天晚上,乙方收到了警報消息。A公司的網站伺服器正承載着難以置信的網絡流量。需要說明的是,A公司也是一家SaaS提供商,為客戶提供資料内容和分析,是以這種程度的通路量會極大地影響該公司的服務品質和信譽。沒有多少時間,必需快速做出響應。

所有通路請求都來自百分百合法的URL。是以很難分辨出其中的惡意流量

攻擊來源遍布世界各地:北北韓、愛沙尼亞、立陶宛、中國、俄羅斯、南美

60%的通路量來自美國本土

攻擊者直接解除DNS和攻擊IP位址的關聯

一開始,防禦方使用AWS(Amazon Web Service)Route 53,重新配置了一些檔案,然後立即切斷了與這些IP位址的通信。在成功抵禦了最初的幾波攻擊後,網絡似乎恢複了正常,但事實證明,這隻是第一波,而接下來的才是更瘋狂的攻擊。

當天傍晚,攻擊再次發起并直接指向DNS域名,這意味着之前的IP攔截政策不再奏效,眼看着資料流量急劇上升。

放棄還是抵抗

乙方和A公司的首席資訊官進行了讨論,最後達成一緻意見:決定抵抗到底。作為一家SaaS公司,提供持續、可靠的服務,維持公司信譽是重中之重。雙方同意分擔預計為數萬美元的防禦成本,為正義而戰。

經過仔細審視第二波攻擊,防禦方意識到可以立即采取一些緩解措施:

A公司的業務隻面向美國客戶,不過也有少部分流量來自國外。是以防禦方迅速地建立了一些防火牆規則,這些規則隻允許來自美國的流量通過。于是,40%的攻擊流量被拒之門外。

在AWS(Amazon Web Service)Route 53後面加了一道網絡應用防火牆,配置了一些HA代理,這可以為FBI收集大量的登入資訊,便于他們進行事後分析工作。

調整流量自動縮放的配置。自動縮放會根據接入流量規模大小調整自己的上下門檻值。将下門檻值調整得比上門檻值大得多,這意味着系統在流量變大時會做出合适的反應,但永遠不會達到流量下門檻值。結果,每個運作的執行個體都會在服務清單中永續存在,記錄完整無損的登入資訊,以備FBI分析。

兵來将擋,水來土淹

攻擊者放大攻擊強度,AWS就放大防禦強度。攻擊者進一步放大攻擊強度,AWS就進一步放大防禦強度,這樣的情景在第二天反複上演。與此同時,乙方每小時就向A公司的董事會負責人彙報一次情況。

在DDoS攻擊的最高峰,共部署了18台大型、計算機能力加強版的HA代理伺服器,40台大型網頁伺服器。網頁伺服器群特别大,因為盡管阻隔了美國本土外的流量,降低了總資料流量的40%,但剩下的60%來源于美國本土的連接配接中也包括合法的URL。大多數連接配接都在通路動态服務,這部分通路記錄不太容易抓取。

攻擊者的目标是一個非常大型的全球化機構。防禦方通過非常穩定的HA代理防火牆和負載均衡配置,部署了高度延展的網頁伺服器群。然後就是雲防護(CloudFront),這是AWS的全球内容分發網絡。再然後是Route 53,Route 53是AWS的全球備援DNS平台。這些裝置共同組成了關鍵基礎設施,提供了在每一層上的可擴充性和安全性。

在第二天晚上7點左右,事情開始發生轉變。在加強了防禦強度後,攻擊者并沒有進一步增加攻擊強度。此時此刻,伺服器正承載着來自全球10萬台主機的8600萬個攻擊連接配接,通過AWS基礎設施的流量達到每秒20GB。

攻擊者無計可施,隻能反複地發動攻擊,最後直到完全放棄。事後A公司的首席執行官告訴我們,如果他們的網站托管在自己的資料中心,防禦的選擇就會非常少,而且可能在攻擊開始僅僅八個小時之内就會完全無力應對。

最後核算一下防禦成本,本次通過亞馬遜網絡服務成功進行的這次長達36個小時的防禦,費用不超過1500美元。雙方平攤的話,各方還不到750美元。

下面是這次在大規模DDoS攻擊中存活下來的經驗,以及一些可以用來加強資料中心,并保護公司網站的政策:

針對DDoS攻擊設計、配置、測試你的裝置。借助你的托管服務商的經驗來進行這些測試,善用他們的援助。

确認你的網絡環境中的“正常”是什麼樣子。這樣在網絡狀态進入“不正常”狀态時可以即時設定報警。

将你面向公共的域名别名化(alias)到内部域名。這可以讓你在幕後進行快速響應,并實時做出DNS修正,而不需要依賴第三方服務供應商。

學會如何有效地在可能受到威脅的情況下進行DNS修正。經常進行練習。

DDoS攻擊會用到數百個攻擊向量,試圖耗盡伺服器的資源。流量測試會啟動許多并行線程,這可能使DDoS攻擊更加兇猛。每個測試都至少應當運作三小時,以維持響應時間,但在兩次測試之間應留出足夠的響應區間。在進行顯著性測試、風險懸浮以及取消服務之前應當授予明确的許可。

在進行自動放大配置時,不要将CPU負載作為量度。DDoS攻擊的最好證據就是接入HTTP請求的數量上升,是以最好将接入連接配接數作為觸發警報的量度。

防禦規模應當增加得迅速,但下降得緩慢。增加和下降的速度比應當設定為4:1或2:1。這會使系統在應對第一波攻擊時響應快速,之後也不需要反複增加規模。特别是在攻擊者采取放風筝戰術,即撤退後又殺回來的情況下。

如果使用AWS彈性負載均衡(AWS Elastic Load Balancing),激活“交叉地帶負載均衡”選項。這對于均衡後端伺服器群的流量而言是最好選擇,會顯著地減輕DNS設施上的負載。

安全行業需要集體合作,更好地了解敵人的戰術、技術和攻擊流程,以在和惡意黑客的戰鬥中取得先機。

原文釋出時間為:四月 28, 2015

本文作者:Venvoo

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

繼續閱讀