DDOS攻擊是一種惡意的攻擊手段,主要以以消耗網(wǎng)絡(luò)帶寬的攻擊手段,受到攻擊需求防御方法,如租用高防服務(wù)器,或者高防CDN等不同的防御手段。如何使用高防CDN來幫助網(wǎng)站防御DDOS攻擊呢
ddos攻擊意思是黑客通過幾千臺(tái)甚至上萬臺(tái)肉雞每秒向你的網(wǎng)站ip發(fā)送幾G甚至幾T的流量,對(duì)你網(wǎng)站ip進(jìn)行的流量攻擊,一般受攻擊的網(wǎng)站會(huì)因?yàn)榱髁棵蜐q,內(nèi)存占用過高而打不開。
DDOS的分類
在了解防御之前先簡(jiǎn)單了解一下各類攻擊,因?yàn)镈DoS是一類攻擊而并非一種攻擊,并且DDoS的防御是一個(gè)可以做到相對(duì)自動(dòng)化但做不到絕對(duì)自動(dòng)化的過程,很多演進(jìn)的攻擊方式自動(dòng)化不一定能識(shí)別,還是需要進(jìn)一步的專家肉眼判斷。
網(wǎng)絡(luò)層攻擊: Syn-flood
利用TCP建立連接時(shí)3次握手的“漏洞”,通過原始套接字發(fā)送源地址虛假的SYN報(bào)文,使目標(biāo)主機(jī)永遠(yuǎn)無法完成3次握手,占滿了系統(tǒng)的協(xié)議棧隊(duì)列,資源得不到釋放,進(jìn)而拒絕服務(wù),是互聯(lián)網(wǎng)中最主要的DDOS攻擊形式之一。網(wǎng)上有一些加固的方法,例如調(diào)整內(nèi)核參數(shù)的方法,可以減少等待及重試,加速資源釋放,在小流量syn-flood的情況下可以緩解,但流量稍大時(shí)完全不抵用。防御syn-flood的常見方法有:syn proxy、syn cookies、首包(第一次請(qǐng)求的syn包)丟棄等。
ACK-flood
對(duì)于虛假的ACK包,目標(biāo)設(shè)備會(huì)直接回復(fù)RST包丟棄連接,所以傷害值遠(yuǎn)不如syn-flood。DDOS的一種原始方式。
UDP-flood
使用原始套接字偽造大量虛假源地址的UDP包,目前以DNS協(xié)議為主。
ICMP-flood
Ping洪水,比較古老的方式。
CC攻擊
ChallengeCollapsar的名字最早源于挑戰(zhàn)國(guó)內(nèi)知名安全廠商綠盟的抗DDOS設(shè)備-“黑洞”,通過botnet的傀儡主機(jī)或?qū)ふ夷涿矸⻊?wù)器,向目標(biāo)發(fā)起大量真實(shí)的http請(qǐng)求,最終消耗掉大量的并發(fā)資源,拖慢整個(gè)網(wǎng)站甚至徹底拒絕服務(wù)。
互聯(lián)網(wǎng)的架構(gòu)追求擴(kuò)展性本質(zhì)上是為了提高并發(fā)能力,各種SQL性能優(yōu)化措施:消除慢查詢、分表分庫(kù)、索引、優(yōu)化數(shù)據(jù)結(jié)構(gòu)、限制搜索頻率等本質(zhì)都是為了解決資源消耗,而CC大有反其道而行之的意味,占滿服務(wù)器并發(fā)連接數(shù),盡可能使請(qǐng)求避開緩存而直接讀數(shù)據(jù)庫(kù),讀數(shù)據(jù)庫(kù)要找最消耗資源的查詢,最好無法利用索引,每個(gè)查詢都全表掃描,這樣就能用最小的攻擊資源起到最大的拒絕服務(wù)效果。
互聯(lián)網(wǎng)產(chǎn)品和服務(wù)依靠數(shù)據(jù)分析來驅(qū)動(dòng)改進(jìn)和持續(xù)運(yùn)營(yíng),所以除了前端的APP、中間件和數(shù)據(jù)庫(kù)這類OLTP系統(tǒng),后面還有OLAP,從日志收集,存儲(chǔ)到數(shù)據(jù)處理和分析的大數(shù)據(jù)平臺(tái),當(dāng)CC攻擊發(fā)生時(shí),不僅OLTP的部分受到了影響,實(shí)際上CC會(huì)產(chǎn)生大量日志,直接會(huì)對(duì)后面的OLAP產(chǎn)生影響,影響包括兩個(gè)層面,一個(gè)當(dāng)日的數(shù)據(jù)統(tǒng)計(jì)完全是錯(cuò)誤的。第二個(gè)層面因CC期間訪問日志劇增也會(huì)加大后端數(shù)據(jù)處理的負(fù)擔(dān)。CC是目前應(yīng)用層攻擊的主要手段之一,在防御上有一些方法,但不能完美解決這個(gè)問題。
混合型攻擊
在實(shí)際大流量的攻擊中,通常并不是以上述一種數(shù)據(jù)類型來攻擊,往往是混雜了TCP和UDP流量,網(wǎng)絡(luò)層和應(yīng)用層攻擊同時(shí)進(jìn)行。
反射型攻擊
真實(shí)TCP服務(wù)器發(fā)送TCP的SYN包,而這些收到SYN包的TCP server為了完成3次握手把SYN|ACK包“應(yīng)答”給目標(biāo)地址,完成了一次“反射”攻擊,攻擊者隱藏了自身,但有個(gè)問題是攻擊者制造的流量和目標(biāo)收到的攻擊流量是1:1,且SYN|ACK包到達(dá)目標(biāo)后馬上被回以RST包,整個(gè)攻擊的投資回報(bào)率不高。
反射型攻擊的本質(zhì)是利用“質(zhì)詢-應(yīng)答”式協(xié)議,將質(zhì)詢包的源地址通過原始套接字偽造設(shè)置為目標(biāo)地址,則應(yīng)答的“回包”都被發(fā)送至目標(biāo),如果回包體積比較大或協(xié)議支持遞歸效果,攻擊流量會(huì)被放大,成為一種高性價(jià)比的流量型攻擊。
反射型攻擊利用的協(xié)議目前包括NTP、Chargen、SSDP、DNS、RPC portmap等等。
脈沖型攻擊
很多攻擊持續(xù)的時(shí)間非常短,通常5分鐘以內(nèi),流量圖上表現(xiàn)為突刺狀的脈沖。
之所以這樣的攻擊流行是因?yàn)椤按?打-停-!钡男Ч詈茫瑒傆|發(fā)防御閾值,防御機(jī)制開始生效攻擊就停了,周而復(fù)始。蚊子不叮你,卻在耳邊飛,剛開燈想打它就跑沒影了,當(dāng)你剛關(guān)燈它又來了,你就沒法睡覺。
自動(dòng)化的防御機(jī)制大部分都是依靠設(shè)置閾值來觸發(fā)。盡管很多廠商宣稱自己的防御措施都是秒級(jí)響應(yīng),但實(shí)際上比較難。
防御的方法:
1.按照您被DDOS攻擊的峰值換一個(gè)高防服務(wù)器,但是比較麻煩需要做數(shù)據(jù)遷移,其次因?yàn)楦叻牢锢頇C(jī)都是硬防,攻擊流量大的情況下是對(duì)用戶有影響的,但是價(jià)格是要比直接在源服務(wù)器上接入防御要便宜的。
2.就是接入高防IP或者高防CDN,這兩種情況下高防CDN是只針對(duì)網(wǎng)站業(yè)務(wù),在防御的同時(shí)還能做到加速,高防IP的話基本所有業(yè)務(wù)都能使用,且防御能力更強(qiáng)。而且這兩種都是彈性防御,隱藏源IP,可以做到您被攻擊的時(shí)候?qū)δ緛淼臉I(yè)務(wù)不造成任何影響。超過峰值也可以臨時(shí)給你加防御,優(yōu)先保證業(yè)務(wù)正常運(yùn)營(yíng),永不回源。