夏雨
網(wǎng)絡(luò)工程師,專攻網(wǎng)絡(luò)通信,負(fù)責(zé)網(wǎng)絡(luò)流量監(jiān)控的產(chǎn)品技術(shù)服務(wù)和售后服務(wù),經(jīng)驗(yàn)豐富,響應(yīng)迅速。
一
Ntopng在模擬中發(fā)出的警報(bào)
應(yīng)根據(jù)監(jiān)控需求和可用資源對(duì) Ntopng 進(jìn)行配置和優(yōu)化。在本研究中,大多數(shù)警報(bào)和警告都是以默認(rèn)值激活的。顯然,每個(gè)警報(bào)和警告都必須根據(jù) Ntopng 的工作環(huán)境和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行評(píng)估。模擬過(guò)程中的 Ntopng 檢測(cè)列表:
01
SYN FLOOD(SYN 泛洪攻擊)
通過(guò)發(fā)送大量的SYN請(qǐng)求來(lái)耗盡目標(biāo)系統(tǒng)的資源,使其無(wú)法處理正常的連接請(qǐng)求。在TCP協(xié)議中,當(dāng)客戶端嘗試建立到服務(wù)器的連接時(shí),會(huì)發(fā)送一個(gè)SYN(同步)請(qǐng)求,服務(wù)器在收到該請(qǐng)求后會(huì)回復(fù)一個(gè)SYN-ACK(同步-確認(rèn))以表示連接的建立,最后客戶端發(fā)送一個(gè)ACK(確認(rèn))以確認(rèn)連接的建立。在SYN泛洪攻擊中,攻擊者發(fā)送大量的SYN請(qǐng)求但不發(fā)送最后的ACK,導(dǎo)致服務(wù)器在等待確認(rèn)的狀態(tài)下消耗資源,從而耗盡系統(tǒng)的資源,使得合法用戶無(wú)法建立連接。
簡(jiǎn)而言之,SYN 泛洪攻擊就是用虛假的連接請(qǐng)求使服務(wù)器飽和,從而阻止服務(wù)器處理真正的連接,造成服務(wù)中斷。實(shí)施這種攻擊有兩種技術(shù):
1. 使用假IP,即用不同的 IP 地址偽裝自己的 IP 地址,這樣服務(wù)器就會(huì)向一個(gè)假 IP 發(fā)送 SYN-ACK 回復(fù)。
2. 客戶端故意不響應(yīng)服務(wù)器,保持連接開(kāi)放
當(dāng)發(fā)送/接收的 SYN/秒數(shù)超過(guò)閾值 > 256 SYN/秒時(shí),NTOPNG 就會(huì)觸發(fā)警報(bào),閾值可以更改。
02
TCP SYN SCAN(SYN掃描)
SYN 掃描是一種掃描類型,包括發(fā)送 SYN 標(biāo)志激活的 TCP 數(shù)據(jù)包。
如果要檢查的端口是開(kāi)放的,攻擊者將收到一個(gè)激活 SYN 和 ACK 標(biāo)志的 TCP 數(shù)據(jù)包作為回復(fù),并通過(guò)一個(gè)激活 RST 標(biāo)志的 TCP 數(shù)據(jù)包關(guān)閉連接。
如果要控制的端口已關(guān)閉,攻擊者將收到一個(gè)激活 RST 標(biāo)志的 TCP 數(shù)據(jù)包,從而關(guān)閉連接。在這兩種情況下,連接都不會(huì)完成,因此幾乎不會(huì)出現(xiàn)在日志文件中。
當(dāng) SYN 發(fā)送/接收/分鐘(未應(yīng)答)數(shù)超過(guò)閾值 > 256 SYN/分鐘時(shí),Ntopng 會(huì)觸發(fā)警報(bào)。閾值可以更改。
03
TCP FIN SCAN(FIN掃描)
FIN 掃描是一種掃描類型,包括向受害者端口發(fā)送僅激活 FIN 標(biāo)志的 TCP 數(shù)據(jù)包。在 RFC793 技術(shù)規(guī)范中,如果端口是關(guān)閉的,主機(jī)接收到 FIN 標(biāo)志激活的數(shù)據(jù)包后,必須回復(fù)一個(gè) RST 標(biāo)志激活的數(shù)據(jù)包;如果端口是開(kāi)放的,則應(yīng)忽略該數(shù)據(jù)包。這樣,攻擊者就能知道哪些端口是開(kāi)放的。但并非所有系統(tǒng)都遵守這些規(guī)范,在任何情況下都會(huì)返回一個(gè) RST 標(biāo)志激活的 TCP 數(shù)據(jù)包,從而使掃描失去作用。
當(dāng)發(fā)送/接收 FINs/分鐘(無(wú)響應(yīng))的數(shù)量超過(guò)閾值 > 256 FINs/分鐘時(shí),Ntopng 會(huì)觸發(fā)警報(bào)。閾值可以更改。
04
SCAN DETECTED(掃描檢測(cè))
當(dāng)檢測(cè)到掃描(主機(jī)/端口)時(shí),如果未完成的 TCP/UDP 流量超過(guò)指定限制,Ntopng 會(huì)觸發(fā)警報(bào)... > 32 流量(分鐘)。閾值可以更改。
05
FLOWS FLOOD
當(dāng)新的客戶端/服務(wù)器/秒流量超過(guò)閾值 > 256 流量/秒(分鐘)時(shí),Ntopng 會(huì)觸發(fā)警告。閾值可以更改。
06
異常分?jǐn)?shù)行為
注意異常分?jǐn)?shù)行為,以發(fā)現(xiàn)威脅或缺陷。
當(dāng)界面出現(xiàn)意想不到的行為時(shí),ntopng警報(bào)可能會(huì)被觸發(fā)。
07
異常流量行為
注意異常分?jǐn)?shù)行為,以發(fā)現(xiàn)威脅或缺陷。
當(dāng)界面出現(xiàn)意想不到的行為時(shí),ntopng警報(bào)可能會(huì)被觸發(fā)。
08
超過(guò)分?jǐn)?shù)閾值
每臺(tái)主機(jī)都有一個(gè)非負(fù)數(shù)值,用于存儲(chǔ)分?jǐn)?shù)值。該值的計(jì)算時(shí)間間隔為 1 分鐘。當(dāng)主機(jī)的分?jǐn)?shù)在一分鐘內(nèi)超過(guò)分?jǐn)?shù)閾值 > 5000 時(shí),ntopng警告就會(huì)激活。閾值可以更改。
補(bǔ)充信息:Ntopng 如何計(jì)算得分
分?jǐn)?shù)是一個(gè)數(shù)字指標(biāo),如果不為零,則表示存在某種問(wèn)題,分?jǐn)?shù)越高,相關(guān)問(wèn)題越嚴(yán)重。
分?jǐn)?shù)主要有三個(gè)來(lái)源:
1. 數(shù)據(jù)流得分:表示數(shù)據(jù)流的糟糕程度,例如:有多次重傳的數(shù)據(jù)流得分不為零。
2. 流量的源主機(jī)得分:與源主機(jī)相關(guān)聯(lián)的數(shù)值,例如:在步驟 1 的流量中,如果只有目的地 -> 客戶端的重傳,則該流量的源主機(jī)得分為 0,但如果源端也有重傳,則該值為正。
3. 流量的目的主機(jī)得分:與之前相同,但針對(duì)的是流量的目的主機(jī)。由于流量可能存在多個(gè)問(wèn)題,因此流量上遇到的每個(gè)問(wèn)題(例如流量上檢測(cè)到的 TCP 重傳或過(guò)時(shí)的 TLS 版本)都會(huì)影響得分。因此,得分是在該流量上發(fā)現(xiàn)的單個(gè)流量/源/目的得分的總和。
二
警告:最近的活躍流
“Warning Recently live flows”消息顯示,Ntopng正在觀察到網(wǎng)絡(luò)中大量活躍的數(shù)據(jù)流,因此資源利用率很高,因此對(duì)安全的擔(dān)憂;因此,有必要對(duì)此進(jìn)行調(diào)查。
為了應(yīng)付這一警告,可能需要:
檢查當(dāng)前網(wǎng)絡(luò)活動(dòng),查看流量模式是否符合預(yù)期或是否存在異常。查找可能存在的安全威脅或異常網(wǎng)絡(luò)行為。
三
一個(gè)攻擊和檢測(cè)過(guò)程示例
——使用slowhttptest進(jìn)行HTTP慢速攻擊
HTTP慢速攻擊允許單個(gè)客戶端使用最小帶寬使服務(wù)器資源飽和。具體做法是盡可能保持與目標(biāo)服務(wù)器的連接處于開(kāi)放狀態(tài),惡意客戶端連接到目標(biāo)服務(wù)器并向其發(fā)送部分請(qǐng)求,即未完成 http 頭的發(fā)送;具體來(lái)說(shuō),當(dāng)客戶端發(fā)出 HTTP 請(qǐng)求時(shí),網(wǎng)絡(luò)服務(wù)器只能在請(qǐng)求頭發(fā)送完成后才能關(guān)閉 TCP 連接。這種技術(shù)迫使服務(wù)器保持連接開(kāi)放,從而達(dá)到服務(wù)器可用連接的最大數(shù)量,使其無(wú)法訪問(wèn)其他客戶端的合法請(qǐng)求。
下面是" slowhttptest"命令的示例:
slowhttptest -H -c 2000 -g -o output -i 10 -r 300 -t GET -u http://10.0.20.10 -x 24 -p 3
-H: 啟用慢速HTTP攻擊中的Slow Headers攻擊模式。
-c 2000: 模擬的客戶端數(shù)量,這里設(shè)置為2000個(gè)客戶端。
-g: 啟用慢速HTTP攻擊中的Slow Read攻擊模式。
-o output: 指定輸出文件的名稱為output。
-i 10: 設(shè)置攻擊間隔為10秒。
-r 300: 設(shè)置攻擊持續(xù)時(shí)間為300秒(5分鐘)。
-t GET: 指定HTTP請(qǐng)求的類型為GET。
-u http://10.0.20.10: 指定目標(biāo)服務(wù)器的URL為http://10.0.20.10。
-x 24: 設(shè)置攻擊時(shí)使用的線程數(shù)為24。
-p 3: 設(shè)置慢速攻擊的延遲參數(shù),這里設(shè)置為3秒。
解釋:
通過(guò)這個(gè)命令,slowhttptest將會(huì)模擬2000個(gè)客戶端對(duì)http://10.0.20.10的GET請(qǐng)求,其中會(huì)包含Slow Headers攻擊和Slow Read攻擊,并持續(xù)5分鐘。攻擊過(guò)程中每10秒執(zhí)行一次攻擊,攻擊的延遲設(shè)置為3秒,使用24個(gè)線程進(jìn)行攻擊。最后,攻擊結(jié)果會(huì)輸出到名為output的文件中。
在上圖的左半部分,可以看到攻擊的開(kāi)始,在右半部分,可以看到攻擊的結(jié)束,每 5 秒鐘就會(huì)更新一次狀態(tài),實(shí)時(shí)報(bào)告已建立的連接、打開(kāi)的連接和關(guān)閉的連接。
上圖片是ntopng的主屏幕。
大約 30 秒后,Ntopng 檢測(cè)到一次檢測(cè)到的掃描,特別是Slow Header攻擊沒(méi)有掃描到,但 Ntopng 報(bào)告主機(jī) 10.0.10.10 和服務(wù)器 10.0.20.10 之間發(fā)生了超過(guò) 32 個(gè)不完整的 HTTP 流。當(dāng)數(shù)據(jù)流得分/源數(shù)據(jù)流/目標(biāo)數(shù)據(jù)流之和大于設(shè)定值(本例中為默認(rèn)值 5000)時(shí),Ntopng 會(huì)報(bào)告警報(bào) SCORE THRESHOLD EXCEED,即 "超過(guò)得分閾值(在上一主題中解釋過(guò))"。
Ntopng 還會(huì)報(bào)告與 HTTP 數(shù)據(jù)流相關(guān)的警告,這種情況發(fā)生在網(wǎng)絡(luò)中存在大量活動(dòng)數(shù)據(jù)流、資源利用率高、安全隱患大的時(shí)候。顯然,有必要了解流量模式是預(yù)期的還是異常的。在我們的案例中,顯然存在持續(xù)的 DoS 攻擊,因?yàn)橛袛?shù)以百計(jì)的數(shù)據(jù)流具有相同的源 IP。
F1 & F2
這兩張圖是 -o -g 選項(xiàng)創(chuàng)建的 HTML 輸出圖,從圖 F1 中可以看出,在前 10 秒內(nèi)建立了 750 個(gè)連接,并打開(kāi)了另外 750 個(gè)連接,這反映了命令中設(shè)置的選項(xiàng),即以每秒 300 個(gè)連接的速度連接 2000 個(gè)連接。然而,在達(dá)到所需的 2000 個(gè)連接之前,服務(wù)器由于響應(yīng)時(shí)間超過(guò) 3 秒而不可用,選項(xiàng) -p 3
F1→ slowhttptest -H -c 2000 -g -o output -i 10 -r 300 -t GET -u http://10.0.20.10 -x 24 -p 3
第二張圖表示始終可用的服務(wù)(綠色區(qū)域),這是因?yàn)槲页鲇跍y(cè)試目的將 -p(http 響應(yīng)的等待時(shí)間間隔)設(shè)置為 225,在現(xiàn)實(shí)中,服務(wù)器響應(yīng)的等待時(shí)間如此之長(zhǎng)是不可想象的。
F2→slowhttptest -H -c 2000 -g -o output -i 10 -r 300 -t GET -u http://10.0.20.10 -x 24 -p 225
時(shí)間戳顯示幀與幀之間的間隔為 10 秒;該間隔與命令中的 -i 設(shè)置相對(duì)應(yīng)。
一個(gè)小問(wèn)題是,所有 HTTP 請(qǐng)求都會(huì)超時(shí)關(guān)閉,這意味著連接會(huì)被服務(wù)器強(qiáng)制關(guān)閉。
HTTP狀態(tài)代碼408 "請(qǐng)求超時(shí) "表示服務(wù)器因請(qǐng)求超時(shí)而終止連接。當(dāng)服務(wù)器在允許的最長(zhǎng)時(shí)間內(nèi)沒(méi)有收到客戶端的完整請(qǐng)求時(shí),就會(huì)返回該代碼。所有請(qǐng)求都以這種方式結(jié)束,因此我們可以說(shuō)服務(wù)器在應(yīng)用層受到了 DoS 攻擊。
通過(guò)觀察ntopng提供的流量數(shù)據(jù),可以發(fā)現(xiàn)可能的DoS攻擊跡象,比如異常的流量模式、異常的連接請(qǐng)求等。ntopng能夠提供關(guān)于網(wǎng)絡(luò)流量的實(shí)時(shí)和歷史信息,這使得管理員能夠觀察流量變化并可能識(shí)別出與DoS攻擊相關(guān)的異常模式。
要更好地檢測(cè)和應(yīng)對(duì)DoS攻擊,通常需要結(jié)合使用多種安全工具和技術(shù),包括入侵檢測(cè)系統(tǒng)(IDS)、入侵防御系統(tǒng)(IPS)、防火墻、負(fù)載均衡器等。這些工具可以幫助監(jiān)控和過(guò)濾網(wǎng)絡(luò)流量,并采取相應(yīng)的措施來(lái)防御和減輕DoS攻擊的影響。
-
HTTP
+關(guān)注
關(guān)注
0文章
505瀏覽量
31242 -
DoS攻擊
+關(guān)注
關(guān)注
0文章
7瀏覽量
3347
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論