国产成人毛片毛片久久网_国产午夜激无码av毛片不_国产乱对白精彩在线播放_av资源站中文字幕_亚洲男人的天堂网站_国产成 人 综合 亚洲网_中国国产激情一区_少妇一级淫片免费放_亚洲一本大道av久在线播放_免费观看美女裸体网站

安全播報(bào)

防御吧作為15年知名老牌域名服務(wù)商,CNNIC和CANN雙認(rèn)證域名注冊(cè)商,已經(jīng)
持續(xù)為500多萬個(gè)域名提供服務(wù),包括智能DNS/自由轉(zhuǎn)移/隱私保護(hù)等服務(wù)!
DDOS攻擊種類詳解以及如何防御
2023-03-08 16:16:06 【

攻擊種類

大家肯定都熟悉OSI七層模型,ddos攻擊最常出現(xiàn)在第三層(網(wǎng)絡(luò)層)、第四層(傳輸層)、第六層(表示層)和第七層(應(yīng)用層)。第三層和第四層的ddos攻擊一般被統(tǒng)稱為基礎(chǔ)設(shè)施層攻擊,一般通過模擬大量三四層的報(bào)文如icmp、udp、tcp來讓服務(wù)器進(jìn)行響應(yīng),從而達(dá)到消耗服務(wù)器資源的目的。這種攻擊是最常見的,也是最簡(jiǎn)單的,甚至開源了很多工具如hping3來模擬這種ddos攻擊。正因?yàn)檫@類攻擊有一些獨(dú)有的特性,也使得開發(fā)者可以比較容易的識(shí)別出這類攻擊從而進(jìn)行防范;第六層和第七層的ddos攻擊一般可以歸為應(yīng)用層攻擊,這類攻擊通過模擬應(yīng)用層的請(qǐng)求如http來讓服務(wù)器進(jìn)行響應(yīng)。這類攻擊沒有第一類常見,因?yàn)楣粽弑仨毩私夥⻊?wù)端應(yīng)用程序工作方式,需要構(gòu)造更加復(fù)雜的請(qǐng)求,比如某登陸頁的http請(qǐng)求、某dns服務(wù)器的dns請(qǐng)求。這一類攻擊都是正常的請(qǐng)求,所以也更難防范。


常見ddos攻擊

畸形報(bào)文

這種攻擊有一點(diǎn)以巧取勝的意思,它并不需要很大的數(shù)量,也許只需要一個(gè)特殊的報(bào)文就可以導(dǎo)致服務(wù)器的崩潰。所謂畸形報(bào)文,就是指那些不符合協(xié)議規(guī)定的報(bào)文,比如tcp頭的SYN、RST標(biāo)志位都置1的報(bào)文;比如ip頭例源地址和目的地址都是同一個(gè)的報(bào)文等等。


udp flood

攻擊者利用udp無狀態(tài)的特點(diǎn),向服務(wù)器的不同端口發(fā)送udp報(bào)文,服務(wù)器收到之后會(huì)尋找對(duì)應(yīng)端口的應(yīng)用程序,如果沒有找到,會(huì)返回“目標(biāo)不可達(dá)”的消息。攻擊者往往會(huì)通過偽造源ip來達(dá)到隱藏自己身份的目的。這種攻擊方法以量取勝,一旦服務(wù)器被攻擊流量淹沒,那就無法響應(yīng)正常用戶的請(qǐng)求。


icmp flood

攻擊者想服務(wù)器發(fā)送大量icmp報(bào)文,服務(wù)器收到之后會(huì)回復(fù)一個(gè)icmp echo給源地址。這種攻擊和上面的udp flood攻擊類似,可以看到攻擊請(qǐng)求和服務(wù)器響應(yīng)流量是1:1的關(guān)系,“性價(jià)比”并不高,現(xiàn)在已經(jīng)很少看到了。


syn flood

最常見最知名的一種攻擊,它的防御方法甚至被寫進(jìn)了linux內(nèi)核。攻擊者利用了三次握手的機(jī)制,發(fā)送大量第一次握手的syn包給服務(wù)器,并且無視服務(wù)器返回第二次握手的synack包,故意不發(fā)送第三次握手,導(dǎo)致服務(wù)器大量端口處于SYN_RECV狀態(tài)。由于服務(wù)器收不到第二次握手的報(bào)文,超時(shí)重傳,重傳一定次數(shù)之后,才會(huì)釋放連接。服務(wù)器的這個(gè)狀態(tài)我們一般稱為半連接,要知道服務(wù)器能每收到一個(gè)syn包時(shí),都會(huì)將連接信息儲(chǔ)存到一個(gè)隊(duì)列中,這個(gè)隊(duì)列肯定也是有長度的,當(dāng)超過隊(duì)列長度時(shí),新來的syn包就無法被響應(yīng),服務(wù)器也就無法響應(yīng)正常的tcp請(qǐng)求了。


ack flood

攻擊者向服務(wù)器發(fā)送大量ack標(biāo)志位置1的報(bào)文,服務(wù)器收到后,會(huì)在協(xié)議棧判斷報(bào)文是否合法(是否有該四元組的連接,序列號(hào)是否正常等等),如果不合法,服務(wù)器會(huì)返回一個(gè)rst報(bào)文。跟這種攻擊比較類似的還有rst flood和fin flood。


udp reflect

udp是無狀態(tài)的,沒有三次握手,攻擊者利用udp的這個(gè)特點(diǎn),向服務(wù)器發(fā)送大量業(yè)務(wù)請(qǐng)求,導(dǎo)致服務(wù)器返回遠(yuǎn)大于請(qǐng)求量的響應(yīng),從而達(dá)到占用大量帶寬的目的。

udp reflect攻擊主要針對(duì)哪些響應(yīng)包遠(yuǎn)大于請(qǐng)求包的協(xié)議,如dns、ntp等,以達(dá)到四兩撥千斤的效果。

以dns為例,由于dns大部分提供公網(wǎng)服務(wù),會(huì)將53端口暴露到公網(wǎng)上。攻擊者偽造一個(gè)源ip地址,向dns服務(wù)器的53端口發(fā)送大量的dns請(qǐng)求,dns服務(wù)器收到之后,會(huì)回給攻擊者偽造的ip地址大量的dns響應(yīng)?梢钥吹绞芄舻膶(duì)象有兩個(gè),一個(gè)是攻擊者偽造的ip地址,另一個(gè)是dns服務(wù)器。


ssl flood

這是表示層的一種ddos攻擊。SSL握手的過程中,在協(xié)商加密算法時(shí)服務(wù)器CPU的開銷是客戶端開銷的15倍左右。攻擊者利用這一特點(diǎn),在一個(gè)TCP連接中不停地快速重新協(xié)商,從而達(dá)到耗盡服務(wù)器CPU資源的目的。

SSL客戶端發(fā)送一條ClientHello消息來初始化一次新的握手,該消息大約100字節(jié)左右,不需要加密。服務(wù)器端響應(yīng)ClientHello消息,需要連續(xù)發(fā)出3個(gè)消息,ServerHello、Certificate、ServerHelloDone,這3個(gè)消息一般在3000字節(jié)左右,需要用高級(jí)加密標(biāo)準(zhǔn)AES或流加密算法簇RC-4進(jìn)行加密后再發(fā)送。每次ssl握手,SSL服務(wù)端發(fā)送的數(shù)據(jù)比客戶端多了30倍,還要進(jìn)行加密,從而導(dǎo)致服務(wù)端CPU計(jì)算資源大量占用。


http flood

http flood是最難模擬也是最難防范的一種攻擊,攻擊者模擬用戶的真實(shí)操作對(duì)某些接口發(fā)送大量http請(qǐng)求,導(dǎo)致其他正常用戶的請(qǐng)求響應(yīng)速度變慢甚至被拒絕。


如何防御?

減少暴露面

盡可能少的把端口暴露在公網(wǎng)上,減少可能的攻擊點(diǎn)。

配置安全組、acl訪問控制或者iptables防火墻規(guī)則,這三種操作的目的其實(shí)都是一樣的,都是為了限制不明客戶端的訪問,只是生效的地方不一樣。一般來說,我們肯定希望把這些流量在離服務(wù)器更遠(yuǎn)的地方限制住。

將服務(wù)器放在cdn、負(fù)載均衡后面,目的其實(shí)是和第二點(diǎn)一樣。cdn可以緩存服務(wù)器資源到各個(gè)邊緣節(jié)點(diǎn)上,讓用戶就近訪問最近的邊緣節(jié)點(diǎn),從而緩解服務(wù)器的壓力。負(fù)載均衡可以配置調(diào)度算法,將流量按需分配給后端服務(wù)器,并且對(duì)后端進(jìn)行個(gè)性化的健康監(jiān)測(cè),將不健康的服務(wù)器踢出,不繼續(xù)處理請(qǐng)求。

服務(wù)器安全加固

及時(shí)更新安全補(bǔ)丁。

優(yōu)化內(nèi)核參數(shù)如半連接timeout時(shí)間、全連接隊(duì)列長度、禁用icmp廣播等等。

及時(shí)止損

如果我們沒有防御成功,需要及時(shí)止損,將影響降到最低。


在部署服務(wù)的階段,我們就應(yīng)該盡可能一個(gè)集群只部署一個(gè)服務(wù),讓服務(wù)之間互不影響,即使某個(gè)服務(wù)受到了攻擊,也可以把影響降到最小。

建立完善的監(jiān)控告警機(jī)制。這個(gè)公司內(nèi)部應(yīng)該都有,監(jiān)控cpu使用率、連接數(shù)之類的,如果達(dá)到閾值,就會(huì)發(fā)出告警,交由專人處理。

對(duì)系統(tǒng)進(jìn)行壓測(cè),配置限速機(jī)制。我們需要對(duì)業(yè)務(wù)架構(gòu)進(jìn)行完善的壓力測(cè)試,以評(píng)估現(xiàn)有架構(gòu)的吞吐能力。并根據(jù)系統(tǒng)性能對(duì)業(yè)務(wù)進(jìn)行限速,避免ddos攻擊將服務(wù)器打掛。

集群具有可伸縮性。當(dāng)集群某些指標(biāo)達(dá)到閾值時(shí),為了讓業(yè)務(wù)不受損,應(yīng)該及時(shí)對(duì)集群進(jìn)行擴(kuò)容。

識(shí)別異常流量

預(yù)防ddos攻擊的關(guān)鍵其實(shí)就是怎么識(shí)別正常流量和異常流量。這需要我們對(duì)ddos攻擊的方法非常了解,對(duì)不同的ddos攻擊類型做出相應(yīng)的防御動(dòng)作。服務(wù)器本身幾乎沒有識(shí)別異常流量的能力,所以大部分企業(yè)都會(huì)購買anti-ddos服務(wù)或者waf這樣的專業(yè)設(shè)備來防御ddos攻擊。

anti-ddos當(dāng)然也分為硬件設(shè)備和軟件。硬件anti-ddos一般會(huì)旁掛到匯聚或者核心交換機(jī)上,交換機(jī)將流量鏡像一份發(fā)給ddos,ddos識(shí)別出異常流量后會(huì)做一些流量清洗動(dòng)作。軟件antiddos可能會(huì)直接安裝到四七層網(wǎng)關(guān)上,對(duì)經(jīng)過四七層網(wǎng)關(guān)的流量進(jìn)行過濾。顯而易見,軟件anti-ddos的優(yōu)點(diǎn)就是便宜,簡(jiǎn)單;缺點(diǎn)是可能會(huì)拖累四七層網(wǎng)關(guān)的性能,可防護(hù)的ddos類型和防御能力肯定不如硬件anti-ddos。

但其實(shí)有的地方硬件和軟件anti-ddos都會(huì)用,硬件antiddos主要是進(jìn)行一個(gè)流量清洗的功能,軟件antiddos在硬件的后面,主要做一個(gè)兜底的作用。


syn flood

syn flood是最常見的一種ddos攻擊,在服務(wù)器、網(wǎng)關(guān)、anti-ddos每一個(gè)環(huán)節(jié)都有相應(yīng)的手段可以進(jìn)行防御。


syn cookie。syn cookie已集成到了linux內(nèi)核,是在服務(wù)器上防御syn flood的方法。服務(wù)器每當(dāng)收到一個(gè)syn,就會(huì)創(chuàng)建一個(gè)半連接隊(duì)列,來緩存連接信息,當(dāng)半連接隊(duì)列滿了之后,服務(wù)器就無法處理正常請(qǐng)求了。所以我們需要找到一種方法,不用記錄全部的連接信息。我們知道,服務(wù)器發(fā)出的第二次握手的序列號(hào)是服務(wù)器自己生成的,syn cookie將連接的部分信息(mss、時(shí)間戳、四元組)通過某種算法生成一個(gè)唯一的序列號(hào)給客戶端,并且這個(gè)序列號(hào)是可以解碼的。服務(wù)器收到第三次握手的確認(rèn)序列號(hào)后,將這個(gè)值減1,就可以還原出之前的序列號(hào)?梢钥吹,服務(wù)器巧妙地通過這種方式間接保存了一部分SYN報(bào)文的信息,節(jié)省了服務(wù)器的部分資源,但是同時(shí)也增加了加解密的計(jì)算。

syn proxy。syn proxy在四層網(wǎng)關(guān)中用的比較多,用法也比較簡(jiǎn)單。網(wǎng)關(guān)收到syn后,并不直接發(fā)送給后端服務(wù)器,而是代替后端,與客戶端進(jìn)行三次握手,當(dāng)握手成功之后,再與后端服務(wù)器進(jìn)行三次握手。syn proxy經(jīng)常與syn cookie結(jié)合起來用,網(wǎng)關(guān)在于客戶端三次握手的過程中可以使用syn cookie。syn proxy有一個(gè)問題就是兩次握手的序列號(hào)不一樣,所以網(wǎng)關(guān)在后續(xù)的數(shù)據(jù)傳輸階段還要繼續(xù)調(diào)整序列號(hào)和確認(rèn)序列號(hào)。

首包丟棄。這種方法比較暴力,syn flood不會(huì)重傳,所以我們只要把第一個(gè)syn包都丟棄了,正常請(qǐng)求后進(jìn)行重傳,異常請(qǐng)求就被丟棄了。

算法。antiddos可以通過統(tǒng)計(jì)syn包占到所有流量的比例,當(dāng)這個(gè)比例達(dá)到某個(gè)閾值時(shí),即判定受到了ddos攻擊。然后就到了識(shí)別異常流量的時(shí)候了,如果antiddos可以查到會(huì)話信息,那就簡(jiǎn)單了,那些在幾分鐘內(nèi)完成過三次握手的源ip地址,是ddos攻擊的可能性較小,可以直接放行。剩下的ip地址是ddos攻擊的可能性就比較大了。我們知道ddos攻擊可以分為隨機(jī)源ip和真實(shí)源ip兩種。antiddos可以將syn包的個(gè)數(shù)除以源ip的數(shù)目,如果大于某個(gè)閾值,則可以判定為真實(shí)源ip攻擊,直接將這幾個(gè)源ip地址的syn包全部丟棄就可以了;如果小與某個(gè)閾值,則判定為隨機(jī)源ip攻擊,這時(shí)可以利用上面說的首包丟棄的方法,判斷出正常流量,將正常的源ip地址放行。

ack/fin/rst flood

這三種ddos攻擊比較類似,都依賴于會(huì)話。如果沒有建立會(huì)話,那不管是在服務(wù)器還是在網(wǎng)關(guān)都會(huì)直接被丟棄的。判斷是否收到攻擊也比較簡(jiǎn)單,就比較命中會(huì)話的報(bào)文和沒命中的比例就好了。


畸形報(bào)文

畸形報(bào)文往往有一些特征,antiddos可以提前識(shí)別以下畸形報(bào)文:


非法的tcp flag標(biāo)志位,如SYN和FIN同時(shí)為1等。

源ip和目的ip一樣的報(bào)文。

源ip為內(nèi)網(wǎng)ip或預(yù)留ip。

length字段與實(shí)際payload不一致。

有data的syn包或者無option的syn包。

無payload的udp包

分片包。

等等

其中4、5、6并不一定是異常流量,只是比較像由發(fā)包器發(fā)出來的報(bào)文,具體問題還得具體分析。

其他

其他的一些攻擊比如udp reflect、http flood、ssl flood,都是一些接近正常流量的請(qǐng)求,感覺識(shí)別異常流量比較復(fù)雜,應(yīng)該只能通過算法來識(shí)別。也可以借鑒syn flood的防御方法,主要還是得識(shí)別出異常流量和正常流量的源ip地址。

】【打印關(guān)閉】 【返回頂部
分享到QQ空間
分享到: 
上一篇服務(wù)器防火墻的特點(diǎn)優(yōu)缺點(diǎn) 下一篇高防DNS有什么作用?

立足首都,輻射全球,防御吧專注云防御及云計(jì)算服務(wù)15年!

聯(lián)系我們

服務(wù)熱線:13051179500 18910191973
企業(yè)QQ:1245940436
技術(shù)支持:010-56159998
E-Mail:xihedata.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解決防御與加速) 版權(quán)所有 增值許可:京B2-20140042號(hào)
售前咨詢
公司總機(jī):18910191973
24小時(shí)電話:010-56159998
投訴電話:18910191973
值班售后/技術(shù)支持
售后服務(wù)/財(cái)務(wù)
備案專員
緊急電話:18610088800