分布式拒絕服務(wù)(DDoS)使用大量有效請(qǐng)求來消耗網(wǎng)絡(luò)資源,并使服務(wù)無響應(yīng)并且對(duì)合法用戶不可用。目前,DDoS攻擊是最有力的網(wǎng)絡(luò)攻擊防御之一。
DDoS已經(jīng)在網(wǎng)絡(luò)安全領(lǐng)域長(zhǎng)期存在,并且是一種古老的攻擊方法。DDoS預(yù)防也經(jīng)歷了不同的階段。
內(nèi)核優(yōu)化
在早期,沒有專業(yè)的流量清理服務(wù)可用于防范DDoS攻擊。當(dāng)時(shí),互聯(lián)網(wǎng)帶寬也相對(duì)較小,大多數(shù)人使用56K調(diào)制解調(diào)器獲得撥號(hào)上網(wǎng)。攻擊者只能利用一小部分帶寬。通常,防御者可以通過優(yōu)化內(nèi)核參數(shù)和iptables來防止DDoS攻擊。
在此階段,Linux內(nèi)置的功能可防御DDoS攻擊。例如,對(duì)于SYN泛洪攻擊,調(diào)整net.ipv4.tcp_max_syn_backlog參數(shù),控制syn隊(duì)列的上限以避免完全連接,并調(diào)整net.ipv4.tcp_tw_recycle和net.ipv4.tcp_fin_timeout以使TCP保留數(shù)量TIME-WAIT和FIN-WAIT-2中的連接。對(duì)于ICMP泛洪攻擊,Iptables被調(diào)整為關(guān)閉或限制ping數(shù)據(jù)包的速率或過濾不符合RFC協(xié)議的格式錯(cuò)誤的數(shù)據(jù)包。但是,這種保護(hù)方法只優(yōu)化了一臺(tái)服務(wù)器。隨著資源攻擊強(qiáng)度的增加,這種保護(hù)方法無法有效抵御DDoS攻擊。
專業(yè)的DDoS硬件防火墻
專業(yè)的防DDoS硬件防火墻可以優(yōu)化功耗,轉(zhuǎn)發(fā)芯片,操作系統(tǒng)等。這些防火墻可以滿足DDoS流量清洗的需求。通常,IDC服務(wù)提供商購(gòu)買反DDoS硬件防火墻并在數(shù)據(jù)中心的入口處部署它們,以便為整個(gè)數(shù)據(jù)中心提供清理服務(wù)。這些清理服務(wù)的性能逐漸從最初的每臺(tái)100 MB發(fā)展到1 Gbit / s,10 Gbit / s,20 Gbit / s,100 Gbit / s或更高。這些清理服務(wù)涵蓋從第3層到第7層的各種攻擊,例如SYN-FLOOD,UDP-FLOOD,ICMP-FLOOD,ACK-FLOOD,TCP連接泛洪,CC攻擊,DNS-FLOOD和反射攻擊。
但是,這種DDoS預(yù)防方法對(duì)于IDC服務(wù)提供商來說非常昂貴。每個(gè)數(shù)據(jù)中心的入口都需要擦洗設(shè)備,需要特殊的維護(hù)人員來維護(hù)設(shè)備和服務(wù)。此外,并非所有IDC都具有相同的擦洗和保護(hù)功能。一些小型數(shù)據(jù)中心的上行鏈路可能只有20 GB帶寬,無法重復(fù)使用這些擦除設(shè)備。
云時(shí)代具有安全I(xiàn)P地址的高級(jí)DDoS系統(tǒng)
在云時(shí)代,服務(wù)部署在各種云或傳統(tǒng)的IDC中。提供的DDoS清理服務(wù)沒有一致的標(biāo)準(zhǔn)。在超大量DDoS攻擊流量的情況下,托管服務(wù)的數(shù)據(jù)中心無法提供匹配的保護(hù)功能。為了保護(hù)服務(wù)免受影響,我們必須創(chuàng)建“黑洞”概念。采用黑洞機(jī)制后,當(dāng)服務(wù)器的攻擊流量大于IDC中的黑洞觸發(fā)閾值時(shí),IDC將阻止該服務(wù)器的Internet訪問,以避免持續(xù)攻擊并確保IDC的整體穩(wěn)定性。
在這種情況下,具有安全I(xiàn)P地址的高級(jí)防DDoS系統(tǒng)通過為數(shù)據(jù)中心提供高帶寬,將流量轉(zhuǎn)換為這些IP地址,然后將清理后的流量轉(zhuǎn)發(fā)到用戶的源站,提供了一整套防DDoS解決方案。此保護(hù)方法支持重用數(shù)據(jù)中心資源,并允許數(shù)據(jù)中心更多地關(guān)注其預(yù)期角色。此外,這種保護(hù)方法通過以基于SaaS的方式提供DDoS清理服務(wù)來簡(jiǎn)化DDoS預(yù)防。
云時(shí)代具有安全I(xiàn)P地址的高級(jí)反DDoS系統(tǒng)可以滿足高帶寬的需求。它還允許用戶隱藏其源站并靈活地更改清理服務(wù)提供商。
具有安全I(xiàn)P地址的高級(jí)DDoS系統(tǒng)的關(guān)鍵組件
帶寬和網(wǎng)絡(luò)
帶寬和網(wǎng)絡(luò)是實(shí)現(xiàn)DDoS保護(hù)的首要要求。為了有效防御DDoS攻擊,我們需要做的第一件事就是建立一個(gè)高帶寬的數(shù)據(jù)中心。目前,中國(guó)的主流數(shù)據(jù)中心是單線數(shù)據(jù)中心,只有一家網(wǎng)絡(luò)提供商(中國(guó)電信,中國(guó)聯(lián)通或中國(guó)移動(dòng))和多線BGP數(shù)據(jù)中心,這些中心擁有多個(gè)網(wǎng)絡(luò)提供商。
多線與單線數(shù)據(jù)中心
特點(diǎn):
帶寬和成本:?jiǎn)尉數(shù)據(jù)中心的成本適中,但需要相對(duì)較高的帶寬(TB級(jí)別)才能防止DDoS攻擊。多線BGP數(shù)據(jù)中心的初始成本可能更高,但它只需要相對(duì)較低的帶寬來防止DDoS攻擊。
訪問質(zhì)量:?jiǎn)尉數(shù)據(jù)具有平均訪問質(zhì)量,因?yàn)樗苓\(yùn)營(yíng)商之間的跨網(wǎng)絡(luò)性能影響。多線路提供最佳的BGP網(wǎng)絡(luò)。
業(yè)務(wù)復(fù)雜性:用戶需要多個(gè)IP地址來實(shí)現(xiàn)多線路接入 - 例如,分別是中國(guó)電信,中國(guó)聯(lián)通和中國(guó)移動(dòng)IP,導(dǎo)致業(yè)務(wù)復(fù)雜性高。實(shí)現(xiàn)多線連接只需要一個(gè)IP地址,業(yè)務(wù)復(fù)雜性相對(duì)較低。
災(zāi)難恢復(fù):?jiǎn)尉災(zāi)難恢復(fù)不充分,效率低下。如果數(shù)據(jù)中心遇到網(wǎng)絡(luò)故障,則災(zāi)難恢復(fù)僅支持在業(yè)務(wù)層中進(jìn)行切換。BGP具有冗余備份和環(huán)路消除功能。當(dāng)IDC供應(yīng)商具有多個(gè)BGP互連線路時(shí),供應(yīng)商可以以備份模式部署路由。如果一條線路出現(xiàn)故障,路由將自動(dòng)切換到另一條線路。
另一個(gè)方面是最大帶寬。目前,300 Gbit / s只是一種基本的保護(hù)功能。保護(hù)級(jí)別高達(dá)一個(gè)Tbit / s或無限保護(hù)解決方案成為越來越多用戶的選擇。
多線路BGP數(shù)據(jù)中心的TB級(jí)保護(hù)能力也成為未來的發(fā)展目標(biāo)。阿里云致力于為客戶提供卓越的訪問質(zhì)量和保護(hù)能力的DDoS Pro。
大型交通清洗集群
這是另一項(xiàng)關(guān)鍵技術(shù)。DDoS清理的核心部分是攔截攻擊流量。以下是一般攻擊類型和對(duì)策:
攻擊預(yù)防
當(dāng)有足夠的帶寬時(shí),我們需要考慮如何清除DDoS攻擊流量。通常,專業(yè)的DDoS擦洗設(shè)備采用以下典型的保護(hù)和防范方法:丟棄畸形報(bào)文和特定協(xié)議,驗(yàn)證源反射攻擊,統(tǒng)計(jì)速率限制行為識(shí)別。攻擊通常包括SYN-FLOOD,UDP-FLOOD,ICMP-FLOOD,ACK-FLOOD,TCP連接泛洪,CC攻擊,DNS-FLOOD和反射攻擊。
丟棄格式錯(cuò)誤的數(shù)據(jù)包和特定協(xié)議非常簡(jiǎn)單。指定的方法可用于防止反射攻擊和不遵循RFC協(xié)議的消息。
源反射驗(yàn)證是防御SYN泛洪攻擊的對(duì)策。通常,使用反向驗(yàn)證。擦除設(shè)備通過在TCP三次握手中回答SYN-ACK消息期間使用特殊算法生成的序列號(hào)來代表服務(wù)器驗(yàn)證訪問源的真實(shí)性。該算法考慮了許多因素,例如雙方的IP地址和端口,并驗(yàn)證ACK消息。如果訪問是真實(shí)且合法的,則允許連接流量。同樣,為了抵御復(fù)雜的CC攻擊,可以使用圖片驗(yàn)證碼來驗(yàn)證看似潛在的攻擊者是否是真實(shí)合法的客戶。
統(tǒng)計(jì)速率限制和行為識(shí)別基于黑名單,白名單,用戶訪問率和行為來啟用速率控制。
集群架構(gòu)
從目前的DDoS預(yù)防趨勢(shì)來看,DDoS預(yù)防解決方案需要彈性擴(kuò)展以更好地抵御攻擊。在這里我們需要提到100 GB接口的流行度。通常,用于流量負(fù)載平衡的散列基于五元組的特征。如果針對(duì)攻擊流量的五元組的哈希值不均勻,則更有可能發(fā)生擁塞。根本不會(huì)將流量發(fā)送到清理引擎。這也是大型集群清潔系統(tǒng)的重要組成部分。
預(yù)防性防御計(jì)劃
規(guī)劃防御DDoS攻擊的對(duì)策也非常重要。高效的規(guī)劃需要多年的DDoS預(yù)防經(jīng)驗(yàn)。在新攻擊和緊急事件的情況下,快速分析和決策在解決問題方面發(fā)揮著關(guān)鍵作用。
負(fù)載平衡設(shè)備和安全組件
負(fù)載平衡是高級(jí)代理保護(hù)的關(guān)鍵技術(shù)。負(fù)載平衡包括第四層和第七層。
第四層負(fù)載平衡為每個(gè)客戶的業(yè)務(wù)提供獨(dú)有的IP地址。第四層服務(wù)器負(fù)載平衡本身需要高性能和高可用性轉(zhuǎn)發(fā)功能以及安全保護(hù)功能,以抵御連接攻擊。
第七層負(fù)載平衡目標(biāo)是網(wǎng)站服務(wù)的代理保護(hù)。支持HTTP / HTTPS和防御CC攻擊的功能已集成到第七層負(fù)載均衡系統(tǒng)中。
專用IP地址:專用IP地址的一個(gè)優(yōu)點(diǎn)是,如果一個(gè)IP地址受到DDoS攻擊,其他服務(wù)將不會(huì)因資源隔離而受到影響。
高可用性和高可擴(kuò)展性:您可以根據(jù)應(yīng)用程序負(fù)載擴(kuò)展服務(wù),而不會(huì)中斷服務(wù)連續(xù)性。您可以根據(jù)需要增加或減少后端服務(wù)器的數(shù)量,以擴(kuò)展應(yīng)用程序的服務(wù)功能。
安全功能:您可以查看有關(guān)傳入和傳出流量的信息,并在域,會(huì)話或應(yīng)用程序級(jí)別實(shí)施精確的DDoS保護(hù)。
為了實(shí)現(xiàn)最終的DDoS保護(hù),有必要將第四層和第七層的深入安全能力開發(fā)與大流量清理集群相結(jié)合。
實(shí)時(shí)數(shù)據(jù)分析系統(tǒng)
流量分析
首先,讓我們看一下數(shù)據(jù)源。目前有許多數(shù)據(jù)源機(jī)制可用。一種眾所周知的NetFlow機(jī)制,用于樣本分析和攻擊檢測(cè)。一對(duì)一流量分割也可用于獲取統(tǒng)計(jì)和檢測(cè)的所有流量。顯然,后一種方法需要更多的資源和更有效的數(shù)據(jù)分析系統(tǒng)。需要更多開發(fā)和技術(shù)支持的系統(tǒng)通?梢蕴岣叻治鲂省
應(yīng)用識(shí)別
獲取原始消息和數(shù)據(jù)后,我們需要區(qū)分應(yīng)用程序?梢栽贗P級(jí)別,IP +端口級(jí)別,域名級(jí)別或其他級(jí)別進(jìn)行應(yīng)用程序區(qū)分。不同的服務(wù)需要不同的預(yù)防方法 我們需要根據(jù)特定服務(wù)的特征定制專門的預(yù)防計(jì)劃。
攻擊分析
當(dāng)前的DDoS攻擊分析不再依賴于基于統(tǒng)計(jì)的分析算法。針對(duì)攻擊分析,引入了行為識(shí)別和機(jī)器學(xué)習(xí)的理論和實(shí)踐。這些算法可以幫助我們更好地抵御DDoS攻擊。我們還應(yīng)該考慮如何在用戶的攻擊保護(hù)工作中有效地應(yīng)用這些算法。
結(jié)論
前面的內(nèi)容反映了DDoS攻擊保護(hù)的木桶理論。攻擊預(yù)防的每個(gè)方面都將影響整體保護(hù),有效性和效率。具有安全I(xiàn)P地址的未來高級(jí)反DDoS系統(tǒng)應(yīng)具有彈性帶寬,高冗余,高可用性,高訪問質(zhì)量和簡(jiǎn)單的業(yè)務(wù)集成。同時(shí),基于OPENAPI的DDoS保護(hù)與用戶自動(dòng)維護(hù)系統(tǒng)的結(jié)合可以為業(yè)務(wù)帶來更高的安全性并促進(jìn)業(yè)務(wù)增長(zhǎng)。