每個網(wǎng)站都會受到網(wǎng)絡攻擊,區(qū)別在于你如何提前計劃以及你的基礎設施如何應對。
我們很難知道網(wǎng)絡攻擊響應和恢復的真實情況,因為企業(yè)都不愿意透露詳細信息,畢竟這可能帶來負面的財務后果。然而,如果企業(yè)不分享自己的故事,其他企業(yè)可能會盲目地走上相同的道路。企業(yè)應該分享自己的真實經(jīng)驗,并成為提高威脅情報的貢獻者。
我們是為中型和大型企業(yè)提供Web內(nèi)容管理的基于SaaS的供應商。我們的客戶在全球范圍管理著醫(yī)藥和金融服務等行業(yè)數(shù)百甚至數(shù)千個網(wǎng)站。本文中的客戶不愿意透露真實名字,他們是一家大型公共醫(yī)療服務機構,專注于幫助供應商提高財務和運營業(yè)績。該公司的客戶包括數(shù)千家醫(yī)院和醫(yī)療服務提供者,管理著數(shù)十億沒有的開支。
該公司遭受的DDoS攻擊的規(guī)模非常大,在攻擊高峰期,8600萬同時在線的用戶從全球10萬臺主機點擊器網(wǎng)站。在攻擊39小時后,該公司成功安裝了防御措施。下面讓我們看看這個攻擊過程。
初始攻擊向量
在該公司年度會議的前夕,我們收到了一個令人不安的警報。該公司的Web服務器在接收巨量的流量,該公司是內(nèi)容和分析SaaS提供商,這種流量可能會顯著影響服務可用性及該公司的聲譽。對此,時間非常緊迫。
在初始攻擊向量方面:
· 所有請求都是100%合法的網(wǎng)址,所以我們不能輕易地過濾掉惡意流量
· 攻擊來自世界各地,包括朝鮮、愛沙尼亞、立陶宛、中國、俄羅斯和南美
· 其中60%的流量來自美國內(nèi)部
· 該攻擊取消引用DNS,直接攻擊IP地址
通過進入到亞馬遜的Route 53,重新進行一些調整以及迅速切斷到這些IP地址的流量,我們能夠成功抵御這些初始攻擊向量。一切都恢復正常,我們?nèi)玑屩刎摚聦嵶C明這只是第一波攻擊,接下來才是真正的攻擊。
那天晚上,攻擊者又卷土重來,通過DNS名稱來攻擊網(wǎng)站,這意味著我們不能使用之前采用的相同的IP封鎖做法。流量再次大幅度增加。
在這樣的時刻你會問自己這樣的問題,“我們是等死,還是加強防御?”隨后我們與客戶首席信息官進行了交談,我們決定聯(lián)手加強防御。作為SaaS公司,我們必須提供持續(xù)的可靠的服務,這關系到我們的聲譽。我們同意與客戶共同分擔成本(這可能是幾萬美元)來對抗攻擊。
面對第二波攻擊,我們意識到我們可以立即部署一些緩解措施:
窗體底端
* 這個公司只有美國客戶,但很多流量來自國外。我們迅速部署了一些防火墻規(guī)則,只允許美國的流量,這立即阻止了40%的流量。
* 我們在AWS Route 53配置背后插入了Web應用防火墻,并調整了一些HA代理服務器,它會為FBI來收集大量日志信息以事后進行分析。
* 第三,我們特意打破了我們的自動縮放配置。自動縮放具有擴展和縮小的觸發(fā)器,我們改變了這個觸發(fā)器,讓縮小觸發(fā)器比擴展觸發(fā)器更高。這意味著隨著更多的流量進來,系統(tǒng)將適當?shù)財U展,但永遠不會達到縮小的閾值。其結果是,每個實例都將永久留在服務中,完整保留其日志信息,可提供給FBI。
此時已經(jīng)是凌晨1點鐘,“軍備競賽”已經(jīng)開始。
DDoS攻擊第二天
我們的攻擊者已經(jīng)在擴展,亞馬遜云計算服務也在擴展,而攻擊者又擴展一些,AWS也擴展一些。這一直持續(xù)到第二天。我們向客戶的董事會提供每小時更新。
面對這個DDoS攻擊,我們有18個非常大型的計算密集型HA代理服務器,以及約40臺Web服務器。Web服務器群非常大,盡管我們已經(jīng)排除了非美國的流量部分,還有來自美國內(nèi)部的60%的合法網(wǎng)址,其中大部分都在訪問無法被緩存的動態(tài)服務。我們的Web服務器群部署在HA代理防火墻/負載均衡器配置背后,這又位于CloudFront(AWS全球分布式內(nèi)容分發(fā)網(wǎng)絡)背后,其本身部署在Route 53(AWS的全球冗余DNS平臺)背后。
大約到了晚上7點鐘,事情有所轉變。我們繼續(xù)擴展,而攻擊者并沒有再擴大規(guī)模。此時,我們正維持來自全球10萬多臺主機的8600萬并發(fā)連接。我們對流量進行了測量,震驚地發(fā)現(xiàn),我們在通過AWS基礎設施每秒處理20千兆持續(xù)流量。這相當于2014年DDoS攻擊中觀察到的行業(yè)中值的40倍。
攻擊者最終放棄了攻擊。最后,該公司的首席信息官告訴我們,如果他們在自己的數(shù)據(jù)中心托管該網(wǎng)站,他們會在攻擊的8小時候就無法響應。對于成功應對這個攻擊長達36小時,在亞馬遜云服務的總成本不到1500美元。
如何應對DDoS攻擊
我們成功抵御了這次攻擊,因為我們提前有所準備,但這樣的經(jīng)歷讓我們更加了解如何應對大規(guī)模DDoS攻擊。下面是保護你的數(shù)據(jù)中心和企業(yè)網(wǎng)站的一些做法:
1. 設計、配置和測試你的基礎設施來抵御DDoS攻擊。利用托管服務提供商的知識以及他們的協(xié)助來設置這些測試。
2. 知道你環(huán)境中的正常情況是什么樣,當不正常時設置報警。
3. 對于面向公眾的域名,在內(nèi)部域使用其別名。這將讓你非常迅速地做出反應,實時做出DNS變更,而不需要依賴第三方服務提供商。
4. 了解在可能有挑戰(zhàn)性的情況中如何有效管理DNS變化。
5. 對于來自數(shù)百個攻擊源的大量多線程請求(以快速耗盡服務器資源),應該進行流量測試。每個測試運行至少三個小時以維持你的響應時間,然后測試之間保持一定的時間。在進行這些測試之前,應獲得明確的許可,因為這可能造成服務的終止或取消。
6. 在構建自動擴展配置時,不要使用CPU負載作為指標。DDoS的最好證據(jù)是入站HTTP請求數(shù)量的增加,所以最好設置的警報是“進入網(wǎng)絡”觸發(fā)。
7. 快速擴展,但緩慢縮小,擴展和縮小的閾值比率應該為4:1或者2:1。這可以讓你快速響應初始攻擊,并減小再次擴展的可能性。
8. 如果使用AWS彈性負載均衡,激活“跨區(qū)域負載均衡”選項。這是分配流量的最好選擇,并顯著減少對DNS基礎設施的負載。
作為一個行業(yè),我們應該聯(lián)手合作來更好地了解敵人的戰(zhàn)術、技術和程序,以保持領先于壞人。