DDoS(Distributed Denial of Service:分布式拒絕服務(wù))的攻擊方式有很多種,最基本的DoS攻擊就是利用合理的服務(wù)請求來占用過多的服務(wù)資源,從而使合法用戶無法得到服務(wù)的響應(yīng)。

常見的DDos包括:CC、Flood和反射等。想要有效防御DDos攻擊,需要根據(jù)不同的攻擊類型和方式來指定對(duì)應(yīng)的策略。
1、CC攻擊
CC攻擊的原理就是攻擊者控制某些主機(jī)不停地發(fā)大量數(shù)據(jù)包給對(duì)方服務(wù)器造成服務(wù)器資源耗盡,一直到宕機(jī)崩潰。CC主要是用來攻擊頁面的,每個(gè)人都有這樣的體驗(yàn):當(dāng)一個(gè)網(wǎng)頁訪問的人數(shù)特別多的時(shí)候,打開網(wǎng)頁就慢了,CC就是模擬多個(gè)用戶(多少線程就是多少用戶)不停地進(jìn)行訪問那些需要大量數(shù)據(jù)操作(就是需要大量CPU時(shí)間)的頁面,造成服務(wù)器資源的浪費(fèi),CPU長時(shí)間處于100%,永遠(yuǎn)都有處理不完的連接直至就網(wǎng)絡(luò)擁塞,正常的訪問被中止。
針對(duì)CC的攻擊的防御需要結(jié)合具體業(yè)務(wù)的特征,針對(duì)具體的業(yè)務(wù)建立一系列防御模型,如:連接特征模型,客戶端行為模型,業(yè)務(wù)訪問特征模型等,接收請求端統(tǒng)計(jì)客戶信息并根據(jù)模型特征進(jìn)行一系列處理,包括:列入黑名單,限制訪問速率,隨機(jī)丟棄請求等。
2、flood攻擊
SYN Flood、ACK Flood、UDP Flood為最常見的消耗性Flood類攻擊,其中SYN Flood攻擊是指黑客通過控制肉雞,利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,從而使得被攻擊方資源耗盡(CPU滿負(fù)荷或內(nèi)存不足)的攻擊方式。
針對(duì)消耗性Flood攻擊,最有效并可靠的防御方法是做源認(rèn)證和資源隔離,即:在客戶端和服務(wù)端建立回話時(shí)對(duì)請求的源進(jìn)行必要的認(rèn)證,并將認(rèn)證結(jié)果形成可靠的白名單或黑名單,進(jìn)而保證服務(wù)端處理業(yè)務(wù)的有效性。
若黑客肉雞足夠多并偽造數(shù)據(jù)包的真實(shí)性較高時(shí),只能通過提升服務(wù)端的處理速度和流量吞吐量來達(dá)到較好的對(duì)抗效果。
3、反射類攻擊
反射攻擊是一種模擬攻擊客戶端請求指定服務(wù)器,并利用請求和應(yīng)答之間的流量差值進(jìn)行流量放大,進(jìn)而達(dá)到攻擊效果的攻擊方式,常見的攻擊類型包括:NTP,DNS等。
針對(duì)反射攻擊比較有效的防御手段有:訪問請求限速、反射流限速、請求行為分析等,這些防御手段沒法完全過濾攻擊流,只能達(dá)到抑制攻擊的效果。