DDoS一直以來(lái)都是難題。防御難度大,防御系統(tǒng)建設(shè)成本投入大。(內(nèi)容較長(zhǎng),與君有益)
被DDoS攻擊經(jīng)常會(huì)出現(xiàn)以下幾種情況:
l 被攻擊的主機(jī)上有大量等待的TCP連接。
l 網(wǎng)絡(luò)中充斥著大量的無(wú)用的數(shù)據(jù)包,源地址為假。
l 制造高流量無(wú)用數(shù)據(jù),造成網(wǎng)絡(luò)擁塞,使被攻擊的主機(jī)無(wú)法正常通信。
l 利用受害主機(jī)提供的服務(wù)或傳輸協(xié)議上的缺陷,反復(fù)高速地發(fā)出特定的服務(wù)請(qǐng)求,使受害主機(jī)無(wú)法及時(shí)處理所有正常請(qǐng)求。
l 嚴(yán)重時(shí)會(huì)造成系統(tǒng)死機(jī)。
在知曉DDoS的防御手段之前,我們需要搞清楚幾個(gè)問(wèn)題:
1、什么是DDoS?
2、DDoS的攻擊原理是什么?
3、常見(jiàn)的DDoS攻擊類型有哪些?
只有先搞清楚這3個(gè)問(wèn)題,談防御才是有效的。
DDoS攻擊又稱分布式拒絕服務(wù),是利用大量合理的請(qǐng)求造成資源過(guò)載,從而導(dǎo)致服務(wù)不可用。就比如一個(gè)餐館總共有100個(gè)座位,突然有一天某個(gè)商家惡意競(jìng)爭(zhēng),雇傭了200個(gè)人來(lái)到這個(gè)餐館坐著不吃不喝,門(mén)口還排著長(zhǎng)長(zhǎng)的隊(duì),導(dǎo)致餐館無(wú)法正常營(yíng)業(yè),這就是DDos。DDoS的攻擊目標(biāo)多元化,從web到DNS,從三層網(wǎng)絡(luò)到七層應(yīng)用,從協(xié)議棧到應(yīng)用App,層出不窮的新產(chǎn)品也給了黑客更多的機(jī)會(huì)和突破點(diǎn)。
DDoS的攻擊來(lái)源
1、高性能服務(wù)器配合發(fā)包軟件
2、可聯(lián)網(wǎng)的設(shè)備(如打印機(jī)、攝像頭、電視等等)
3、移動(dòng)設(shè)備(數(shù)量多,增長(zhǎng)速度快,其高性能利于組建僵尸網(wǎng)絡(luò))
4、個(gè)人PC(存在漏洞的PC或一些黑客迷自愿成為DDOS一員)
5、黑客控制的僵尸網(wǎng)絡(luò)(僵尸網(wǎng)絡(luò)又分為IRC型、HTTP型、P2P型)
DDoS的攻擊原理
DDoS攻擊它的原理說(shuō)白了就是群毆,用好多的機(jī)器對(duì)目標(biāo)機(jī)器一起發(fā)動(dòng)DoS攻擊,但這不是很多黑客一起參與的,這種攻擊只是由一名黑客來(lái)操作的。這名黑客不是擁有很多機(jī)器,他是通過(guò)他的機(jī)器在網(wǎng)絡(luò)上占領(lǐng)很多的"肉雞",并且控制這些"肉雞"來(lái)發(fā)動(dòng)DDoS攻擊,。
舉個(gè)例子,你的機(jī)器每秒能發(fā)送10個(gè)攻擊數(shù)據(jù)包,而被攻擊的機(jī)器每秒能夠接受100的數(shù)據(jù)包,這樣你的攻擊肯定不會(huì)起作用,而你再用10臺(tái)或更多的機(jī)器來(lái)對(duì)被攻擊目標(biāo)的機(jī)器進(jìn)行攻擊的話,那結(jié)果就可想而知了。
網(wǎng)絡(luò)層攻擊:比較典型的攻擊類型是UDP反射攻擊,例如:NTP Flood攻擊,這類攻擊主要利用大流量擁塞被攻擊者的網(wǎng)絡(luò)帶寬,導(dǎo)致被攻擊者的業(yè)務(wù)無(wú)法正常響應(yīng)客戶訪問(wèn)。
傳輸層攻擊:比較典型的攻擊類型包括SYN Flood攻擊、連接數(shù)攻擊等,這類攻擊通過(guò)占用服務(wù)器的連接池資源從而達(dá)到拒絕服務(wù)的目的。
會(huì)話層攻擊:比較典型的攻擊類型是SSL連接攻擊,這類攻擊占用服務(wù)器的SSL會(huì)話資源從而達(dá)到拒絕服務(wù)的目的。
應(yīng)用層攻擊:比較典型的攻擊類型包括DNS flood攻擊、HTTP flood攻擊、游戲假人攻擊等,這類攻擊占用服務(wù)器的應(yīng)用處理資源極大的消耗服務(wù)器處理性能從而達(dá)到拒絕服務(wù)的目的。
DDoS常見(jiàn)攻擊類型
①ACK Flood攻擊
ACK Flood攻擊是在TCP連接建立之后,所有的數(shù)據(jù)傳輸TCP報(bào)文都是帶有ACK標(biāo)志位的,主機(jī)在接收到一個(gè)帶有ACK標(biāo)志位的數(shù)據(jù)包的時(shí)候,需要檢查該數(shù)據(jù)包所表示的連接四元組是否存在,如果存在則檢查該數(shù)據(jù)包所表示的狀態(tài)是否合法,然后再向應(yīng)用層傳遞該數(shù)據(jù)包。如果在檢查中發(fā)現(xiàn)該數(shù)據(jù)包不合法,例如該數(shù)據(jù)包所指向的目的端口在本機(jī)并未開(kāi)放,則主機(jī)操作系統(tǒng)協(xié)議棧會(huì)回應(yīng)RST包告訴對(duì)方此端口不存在。
②UDP Flood攻擊
UDP Flood是日漸猖獗的流量型DoS攻擊,原理也很簡(jiǎn)單。常見(jiàn)的情況是利用大量UDP小包沖擊DNS服務(wù)器或Radius認(rèn)證服務(wù)器、流媒體視頻服務(wù)器。 100k pps的UDP Flood經(jīng)常將線路上的骨干設(shè)備例如防火墻打癱,造成整個(gè)網(wǎng)段的癱瘓。由于UDP協(xié)議是一種無(wú)連接的服務(wù),在UDP FLOOD攻擊中,攻擊者可發(fā)送大量偽造源IP地址的小UDP包。但是,由于UDP協(xié)議是無(wú)連接性的,所以只要開(kāi)了一個(gè)UDP的端口提供相關(guān)服務(wù)的話,那么就可針對(duì)相關(guān)的服務(wù)進(jìn)行攻擊。
③ICMP Flood攻擊
ICMP Flood 的攻擊原理和ACK Flood原理類似,屬于流量型的攻擊方式,也是利用大的流量給服務(wù)器帶來(lái)較大的負(fù)載,影響服務(wù)器的正常服務(wù)。由于目前很多防火墻直接過(guò)濾ICMP保溫,因此ICMP Flood出現(xiàn)的頻度較低。
④Connection Flood攻擊
Connection Flood是典型的并且非常有效的利用小流量沖擊大帶寬網(wǎng)絡(luò)服務(wù)的攻擊方式,,這種攻擊方式目前已經(jīng)越來(lái)越猖獗。這種攻擊的原理是利用真實(shí)的IP地址向服務(wù)器發(fā)起大量的連接,并且建立連接之后很長(zhǎng)時(shí)間不釋放,占用服務(wù)器的資源,造成服務(wù)器服務(wù)器上殘余連接(WAIT狀態(tài))過(guò)多,效率降低,甚至資源耗盡,無(wú)法響應(yīng)其他客戶所發(fā)起的連接。
其中一種攻擊方法是每秒鐘向服務(wù)器發(fā)起大量的連接請(qǐng)求,這類似于固定源IP的SYN Flood攻擊,不同的是采用了真實(shí)的源IP地址。通常這可以在防火墻上限制每個(gè)源IP地址每秒鐘的連接數(shù)來(lái)達(dá)到防護(hù)目的。但現(xiàn)在已有工具采用慢速連接的方式,也即幾秒鐘才和服務(wù)器建立一個(gè)連接,連接建立成功之后并不釋放并定時(shí)發(fā)送垃圾數(shù)據(jù)包給服務(wù)器使連接得以長(zhǎng)時(shí)間保持。這樣一個(gè)IP地址就可以和服務(wù)器建立成百上千的連接,而服務(wù)器可以承受的連接數(shù)是有限的,這就達(dá)到了拒絕服務(wù)的效果。
⑤HTTP Get攻擊
用MSSQLServer、MySQLServer、Oracle等數(shù)據(jù)庫(kù)的網(wǎng)站系統(tǒng)而設(shè)計(jì)的,特征是和服務(wù)器建立正常的TCP連接,并不斷地向腳本程序提交查詢、列表等大量耗費(fèi)數(shù)據(jù)庫(kù)資源的調(diào)用,典型的以小博大的攻擊方法。一般來(lái)說(shuō),提交一個(gè)GET或POST指令對(duì)客戶端的耗費(fèi)和帶寬的占用是幾乎可以忽略的,而服務(wù)器為處理此請(qǐng)求卻可能要從上萬(wàn)條記錄中去查出某個(gè)記錄,這種處理過(guò)程對(duì)資源的耗費(fèi)是很大的,常見(jiàn)的數(shù)據(jù)庫(kù)服務(wù)器很少能支持?jǐn)?shù)百個(gè)查詢指令同時(shí)執(zhí)行,而這對(duì)于客戶端來(lái)說(shuō)卻是輕而易舉的,因此攻擊者只需通過(guò)Proxy代理向主機(jī)服務(wù)器大量遞交查詢指令,只需數(shù)分鐘就會(huì)把服務(wù)器資源消耗掉而導(dǎo)致拒絕服務(wù),常見(jiàn)的現(xiàn)象就是網(wǎng)站慢如蝸牛、ASP程序失效、PHP連接數(shù)據(jù)庫(kù)失敗、數(shù)據(jù)庫(kù)主程序占用CPU偏高。這種攻擊的特點(diǎn)是可以完全繞過(guò)普通的防火墻防護(hù),輕松找一些Proxy代理就可實(shí)施攻擊,缺點(diǎn)是對(duì)付只有靜態(tài)頁(yè)面的網(wǎng)站效果會(huì)大打折扣,并且有些Proxy會(huì)暴露攻擊者的IP地址。
⑥UDP DNS Query Flood攻擊
UDP DNS Query Flood攻擊采用的方法是向被攻擊的服務(wù)器發(fā)送大量的域名解析請(qǐng)求,通常請(qǐng)求解析的域名是隨機(jī)生成或者是網(wǎng)絡(luò)世界上根本不存在的域名,被攻擊的DNS 服務(wù)器在接收到域名解析請(qǐng)求的時(shí)候首先會(huì)在服務(wù)器上查找是否有對(duì)應(yīng)的緩存,如果查找不到并且該域名無(wú)法直接由服務(wù)器解析的時(shí)候,DNS 服務(wù)器會(huì)向其上層DNS服務(wù)器遞歸查詢域名信息。域名解析的過(guò)程給服務(wù)器帶來(lái)了很大的負(fù)載,每秒鐘域名解析請(qǐng)求超過(guò)一定的數(shù)量就會(huì)造成DNS服務(wù)器解析域名超時(shí)。
DDoS的防御方法
1、過(guò)濾不必要的服務(wù)和端口
可以使用Inexpress、Express、Forwarding等工具來(lái)過(guò)濾不必要的服務(wù)和端口,即在路由器上過(guò)濾假I(mǎi)P。比如Cisco公司的CEF(Cisco Express Forwarding)可以針對(duì)封包Source IP和Routing Table做比較,并加以過(guò)濾。只開(kāi)放服務(wù)端口成為目前很多服務(wù)器的流行做法,例如WWW服務(wù)器那么只開(kāi)放80而將其他所有端口關(guān)閉或在防火墻上做阻止策略。
2、分布式集群防御
這是目前網(wǎng)絡(luò)安全界防御大規(guī)模DDOS攻擊的最有效辦法。分布式集群防御的特點(diǎn)是在每個(gè)節(jié)點(diǎn)服務(wù)器配置多個(gè)IP地址(負(fù)載均衡),并且每個(gè)節(jié)點(diǎn)能承受不低于10G的DDOS攻擊,如一個(gè)節(jié)點(diǎn)受攻擊無(wú)法提供服務(wù),系統(tǒng)將會(huì)根據(jù)優(yōu)先級(jí)設(shè)置自動(dòng)切換另一個(gè)節(jié)點(diǎn),并將攻擊者的數(shù)據(jù)包全部返回發(fā)送點(diǎn),使攻擊源成為癱瘓狀態(tài),從更為深度的安全防護(hù)角度去影響企業(yè)的安全執(zhí)行決策。
3、高防智能DNS解析
高智能DNS解析系統(tǒng)與DDOS防御系統(tǒng)的完美結(jié)合,為企業(yè)提供對(duì)抗新興安全威脅的超級(jí)檢測(cè)功能。它顛覆了傳統(tǒng)一個(gè)域名對(duì)應(yīng)一個(gè)鏡像的做法,智能根據(jù)用戶的上網(wǎng)路線將DNS解析請(qǐng)求解析到用戶所屬網(wǎng)絡(luò)的服務(wù)器。同時(shí)智能DNS解析系統(tǒng)還有宕機(jī)檢測(cè)功能,隨時(shí)可將癱瘓的服務(wù)器IP智能更換成正常服務(wù)器IP,為企業(yè)的網(wǎng)絡(luò)保持一個(gè)永不宕機(jī)的服務(wù)狀態(tài)。
4、異常流量的清洗過(guò)濾
通過(guò)DDOS硬件防火墻對(duì)異常流量的清洗過(guò)濾,通過(guò)數(shù)據(jù)包的規(guī)則過(guò)濾、數(shù)據(jù)流指紋檢測(cè)過(guò)濾、及數(shù)據(jù)包內(nèi)容定制過(guò)濾等頂尖技術(shù)能準(zhǔn)確判斷外來(lái)訪問(wèn)流量是否正常,進(jìn)一步將異常流量禁止過(guò)濾。當(dāng)發(fā)生DDOS攻擊時(shí),網(wǎng)絡(luò)監(jiān)控系統(tǒng)會(huì)偵測(cè)到網(wǎng)絡(luò)流量的異常變化并發(fā)出報(bào)警。在系統(tǒng)自動(dòng)檢測(cè)或人工判斷之后,可以識(shí)別出被攻擊的虛擬機(jī)公網(wǎng)IP地址。這時(shí),可調(diào)用系統(tǒng)的防DDOS攻擊功能接口,啟動(dòng)對(duì)相關(guān)被攻擊IP的流量清洗。流量清洗設(shè)備會(huì)立即接管對(duì)該IP地址的所有數(shù)據(jù)包,并將攻擊數(shù)據(jù)包清洗掉,僅將正常的數(shù)據(jù)包轉(zhuǎn)發(fā)給隨后的網(wǎng)絡(luò)設(shè)備。這樣,就能保證整個(gè)網(wǎng)絡(luò)正常的流量通行,而將DDOS流量拒之門(mén)外。
目前流量清洗的工具主要有高防IP、高防CDN。高防CDN通過(guò)架設(shè)多個(gè)高防CDN節(jié)點(diǎn)以解決訪問(wèn)并發(fā)量高的問(wèn)題,減輕網(wǎng)站服務(wù)器的壓力,同時(shí)還可以隱藏網(wǎng)站源IP。高防IP使用專門(mén)的高防機(jī)房提供DDoS防護(hù)服務(wù),不需要重新部署環(huán)境,轉(zhuǎn)移數(shù)據(jù)的,無(wú)視DDoS和CC攻擊,隱藏源服務(wù)器IP,只需要快速做下轉(zhuǎn)發(fā)設(shè)置,將攻擊流量過(guò)濾清洗攔截,只讓正常流量訪問(wèn)到源服務(wù)器,保證網(wǎng)站快速訪問(wèn)或服務(wù)器穩(wěn)定可用。業(yè)務(wù)流量都會(huì)先經(jīng)過(guò)高防IP, 然后回源到源站IP,當(dāng)出現(xiàn)惡意流量攻擊時(shí),惡意流量在高防IP清洗過(guò)濾后將正常業(yè)務(wù)流量返回給源站IP,以保證服務(wù)的正?捎谩