DDoS是目前最凶猛、最難防御的網絡攻擊之一。現實情況是,這個世界級難題還沒有完美的、徹底的解決辦法,但采取適當的措施以降低攻擊帶來的影響、減少損失是十分必要的。將DDoS防御作為整體安全策略的重要部分來考慮,防御DDoS攻擊與防數據泄露、防惡意植入、反病毒保護等安全措施同樣不可或缺。
不得不得提的是,防御DDoS攻擊是一個系統的工程。防御DDoS應該根據攻擊流量大小等實際情況靈活應對,采取多種組合,定制策略才能更好地實現防御效果。畢竟,攻擊都流行走混合路線了,防御怎么還能一種功夫包打全能。
由於DDoS攻擊和防御都面臨着成本開支,當我們的防御強度逐步增加,攻擊成本也對應上升,當大部分攻擊者無法持續而選擇放棄,那防御就算成功了。也因此我們需要明白,防御措施、抗D服務等都只是一種“緩解”療法,而不是一種“治愈”方案,我們談防御是通過相應的舉措來減少DDoS攻擊對企業業務的影響,而不是徹底根除DDoS攻擊。
基於以上,我們將從三個方面(網絡設施、防御方案、預防手段)來談談抵御DDoS攻擊的一些基本措施、防御思想及服務方案。
一.網絡設備設施
網絡架構、設施設備是整個系統得以順暢運作的硬件基礎,用足夠的機器、容量去承受攻擊,充分利用網絡設備保護網絡資源是一種較為理想的應對策略,說到底攻防也是雙方資源的比拼,在它不斷訪問用戶、奪取用戶資源之時,自己的能量也在逐漸耗失。相應地,投入資金也不小,但網絡設施是一切防御的基礎,需要根據自身情況做出平衡的選擇。
1. 擴充帶寬硬抗
網絡帶寬直接決定了承受攻擊的能力,國內大部分網站帶寬規模在10M到100M,知名企業帶寬能超過1G,超過100G的基本是專門做帶寬服務和抗攻擊服務的網站,數量屈指可數。但DDoS卻不同,攻擊者通過控制一些服務器、個人電腦等成為肉雞,如果控制1000台機器,每台帶寬為10M,那么攻擊者就有了10G的流量。當它們同時向某個網站發動攻擊,帶寬瞬間就被占滿了。增加帶寬硬防護是理論最優解,只要帶寬大於攻擊流量就不怕了,但成本也是難以承受之痛,國內非一線城市機房帶寬價格大約為100元/M*月,買10G帶寬頂一下就是100萬,因此許多人調侃拼帶寬就是拼人民幣,以至於很少有人願意花高價買大帶寬做防御。
2. 使用硬件防火牆
許多人會考慮使用硬件防火牆,針對DDoS攻擊和黑客入侵而設計的專業級防火牆通過對異常流量的清洗過濾,可對抗SYN/ACK攻擊、TCP全連接攻擊、刷腳本攻擊等等流量型DDoS攻擊。如果網站飽受流量攻擊的困擾,可以考慮將網站放到DDoS硬件防火牆機房。但如果網站流量攻擊超出了硬防的防護范圍(比如200G的硬防,但攻擊流量有300G),洪水瞞過高牆同樣抵擋不住。值得注意一下,部分硬件防火牆基於包過濾型防火牆修改為主,只在網絡層檢查數據包,若是DDoS攻擊上升到應用層,防御能力就比較弱了。
3. 選用高性能設備
除了防火牆,服務器、路由器、交換機等網絡設備的性能也需要跟上,若是設備性能成為瓶頸,即使帶寬充足也無能為力。在有網絡帶寬保證的前提下,應該盡量提升硬件配置。
二、有效的抗D思想及方案
硬碰硬的防御偏於“魯莽”,通過架構布局、整合資源等方式提高網絡的負載能力、分攤局部過載的流量,通過接入第三方服務識別並攔截惡意流量等等行為就顯得更加“理智”,而且對抗效果良好。
4. 負載均衡
普通級別服務器處理數據的能力最多只能答復每秒數十萬個鏈接請求,網絡處理能力很受限制。負載均衡建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性,對DDoS流量攻擊和CC攻擊都很見效。CC攻擊使服務器由於大量的網絡傳輸而過載,而通常這些網絡流量針對某一個頁面或一個鏈接而產生。在企業網站加上負載均衡方案后,鏈接請求被均衡分配到各個服務器上,減少單個服務器的負擔,整個服務器系統可以處理每秒上千萬甚至更多的服務請求,用戶訪問速度也會加快。

5. CDN流量清洗
CDN是構建在網絡之上的內容分發網絡,依靠部署在各地的邊緣服務器,通過中心平台的分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率,因此CDN加速也用到了負載均衡技術。相比高防硬件防火牆不可能扛下無限流量的限制,CDN則更加理智,多節點分擔滲透流量,目前大部分的CDN節點都有200G 的流量防護功能,再加上硬防的防護,可以說能應付目絕大多數的DDoS攻擊了。
6. 分布式集群防御
分布式集群防御的特點是在每個節點服務器配置多個IP地址,並且每個節點能承受不低於10G的DDoS攻擊,如一個節點受攻擊無法提供服務,系統將會根據優先級設置自動切換另一個節點,並將攻擊者的數據包全部返回發送點,使攻擊源成為癱瘓狀態,從更為深度的安全防護角度去影響企業的安全執行決策。
三.預防為主保安全
DDoS的發生可能永遠都無法預知,而一來就凶猛如洪水決堤,因此網站的預防措施和應急預案就顯得尤為重要。通過日常慣性的運維操作讓系統健壯穩固,沒有漏洞可鑽,降低脆弱服務被攻陷的可能,將攻擊帶來的損失降低到最小。
7. 篩查系統漏洞
及早發現系統存在的攻擊漏洞,及時安裝系統補丁,對重要信息(如系統配置信息)建立和完善備份機制,對一些特權賬號(如管理員賬號)的密碼謹慎設置,通過一系列的舉措可以把攻擊者的可乘之機降低到最小。計算機緊急響應協調中心發現,幾乎每個受到DDoS攻擊的系統都沒有及時打上補丁。統計分析顯示,許多攻擊者在對企業的攻擊中獲得很大成功,並不是因為攻擊者的工具和技術如何高級,而是因為他們所攻擊的基礎架構本身就漏洞百出。
8. 系統資源優化
合理優化系統,避免系統資源的浪費,盡可能減少計算機執行少的進程,更改工作模式,刪除不必要的中斷讓機器運行更有效,優化文件位置使數據讀寫更快,空出更多的系統資源供用戶支配,以及減少不必要的系統加載項及自啟動項,提高web服務器的負載能力。
9. 過濾不必要的服務和端口
就像防賊就要把多余的門窗關好封住一樣,為了減少攻擊者進入和利用已知漏洞的機會,禁止未用的服務,將開放端口的數量最小化就十分重要。端口過濾模塊通過開放或關閉一些端口,允許用戶使用或禁止使用部分服務,對數據包進行過濾,分析端口,判斷是否為允許數據通信的端口,然后做相應的處理。
10. 限制特定的流量
檢查訪問來源並做適當的限制,以防止異常、惡意的流量來襲,限制特定的流量,主動保護網站安全。