編寫(xiě)的Snort規(guī)則不報(bào)警怎么辦?

Snort規(guī)則編寫(xiě)是一項(xiàng)復(fù)雜的工作,要編寫(xiě)有效Snort規(guī)則,不僅掌握Snort的語(yǔ)法,更多需要大家對(duì)網(wǎng)絡(luò)協(xié)議和Attack 技術(shù)都有一定的了解。在編寫(xiě)規(guī)則之前,我們需建議學(xué)習(xí)相關(guān)的網(wǎng)絡(luò)安全知識(shí)(熟悉常見(jiàn)網(wǎng)絡(luò)Attack原理方法和防御手段)然后需要了解Snort規(guī)則語(yǔ)法。

? ? ? 新手剛接觸Snort規(guī)則編寫(xiě)時(shí)會(huì)遇到各種“奇葩”的問(wèn)題,表面上看規(guī)則語(yǔ)法和網(wǎng)絡(luò)特征描述都沒(méi)啥問(wèn)題,但就是無(wú)法發(fā)出報(bào)警,在網(wǎng)上到處查找資料,即便是把官網(wǎng)下載的規(guī)則,放到系統(tǒng)里也無(wú)法達(dá)到預(yù)期,有幾個(gè)典型問(wèn)題總結(jié)如下:

Q1:為什么交換機(jī)上無(wú)法到數(shù)據(jù)抓包?

A:交換機(jī)在默認(rèn)情況下,網(wǎng)絡(luò)流量無(wú)法抵達(dá)Snort,自然無(wú)法報(bào)警。關(guān)鍵在于我們?cè)趺醋寯?shù)據(jù)包發(fā)送到Snort系統(tǒng)?這就是如何在交換機(jī)上設(shè)置端口鏡像,不解決這個(gè)問(wèn)題,后面的案例都無(wú)從談起。規(guī)則寫(xiě)的再好,沒(méi)有流量過(guò)來(lái)也不行,在Snort課程中會(huì)詳解這個(gè)問(wèn)題。

Q2:簡(jiǎn)單的TCP協(xié)議檢測(cè)報(bào)警

A :用戶(hù)按語(yǔ)法寫(xiě)條規(guī)則,發(fā)現(xiàn)有時(shí)候報(bào)警有時(shí)候不報(bào)警,很是郁悶。

alert tcp? any any <> any any (msg:"abc";content:"abc";sid:10002;)

1.

在我的Snort課程里學(xué)習(xí)過(guò)Snort會(huì)檢查包的內(nèi)容,只有包中內(nèi)容完全符合content條件才會(huì)報(bào)警,但新手往往搞不清楚怎么回事,不知道怎么修改規(guī)則。成功或失敗都不知道怎么回事。

又如例如:

在Wireshark抓包工具中,進(jìn)行抓包分析,發(fā)現(xiàn)數(shù)據(jù)包含有大量的playload為“00ffeeaadd”的可疑數(shù)據(jù)包,希望能通過(guò)Snort能發(fā)現(xiàn)這種異常并報(bào)警,隨后編寫(xiě)規(guī)則如下:

alert tcp any any -> any any (msg:"Test Packet!"; content:"|00ffeeaadd|"; sid:10003; rev:1;)

1.

啟動(dòng)Snort后,始終無(wú)法報(bào)警,規(guī)則語(yǔ)法沒(méi)有問(wèn)題,查找的特征也沒(méi)有問(wèn)題。遇到這類(lèi)問(wèn)題怎么解決?

Q3:FTP登錄的報(bào)警

下面又遇到FTP抓包問(wèn)題,我們先看實(shí)驗(yàn)環(huán)境:

操作系統(tǒng): CentOS 7

? 2.應(yīng)用軟件VsFTP(保持默認(rèn)配置)

以下是一個(gè)用于檢測(cè)FTP登錄成功的規(guī)則:

alert tcp any any -> any 21 (msg:"FTP Login Detected"; content:"230"; sid:10001; rev:1;)

1.

上述規(guī)則的解釋如下:

alert:定義規(guī)則命中時(shí)的動(dòng)作,這里是發(fā)出一個(gè)警報(bào)。

tcp:指定規(guī)則匹配的協(xié)議為T(mén)CP。

any any:指定源IP和源端口可以是任意值。

->:指定數(shù)據(jù)流的方向,這里是從任意源IP和源端口到目標(biāo)IP的FTP端口(21)。

21:FTP端口號(hào)。

msg:"FTP Login Detected":規(guī)則命中時(shí)的警報(bào)消息。

content:"230":代碼“230”表示登錄成功

nocase:指定匹配時(shí)不區(qū)分大小寫(xiě)。

sid:10001:規(guī)則的唯一標(biāo)識(shí)符。

rev:1:規(guī)則的版本號(hào)。

上面這條規(guī)則看上去沒(méi)有什么問(wèn)題,可是放到實(shí)驗(yàn)環(huán)境,卻無(wú)法發(fā)出報(bào)警。新手該如何調(diào)整這條規(guī)則?該從什么地方入手?

? ? ? 類(lèi)似情況還有很多,看似規(guī)則寫(xiě)的沒(méi)有語(yǔ)法錯(cuò)誤,IDS就是不報(bào)警,怎么快速解決經(jīng)常遇到的這類(lèi)問(wèn)題?經(jīng)過(guò)多年的Snort培訓(xùn)經(jīng)驗(yàn)總結(jié),本人整理出了一套行之有效的規(guī)則編寫(xiě)方法將其制作成為適合新人觀看的視頻教程。在?《手動(dòng)構(gòu)建Snort系統(tǒng)》?https://edu.51cto.com/course/23698.html?這門(mén)課中包含2.5小時(shí)的規(guī)則編寫(xiě)實(shí)戰(zhàn),能讓新手迅速成長(zhǎng)為Snort規(guī)則開(kāi)發(fā)工程師。?


作者每周都會(huì)對(duì)規(guī)則開(kāi)發(fā)內(nèi)容進(jìn)行升級(jí),并解答學(xué)員在實(shí)驗(yàn)過(guò)程中遇到的疑難問(wèn)題。

課程學(xué)習(xí)方法

? ? ? ?在首次學(xué)習(xí)Snort規(guī)則時(shí),要聽(tīng)一節(jié)課立刻實(shí)踐,課程聽(tīng)再多,都不如上機(jī)做一遍,我們也需要犯錯(cuò)并從中吸取教訓(xùn)的空間。有效的學(xué)習(xí)方法是聽(tīng)一遍課程,有了大致了解后,馬上去實(shí)踐。在過(guò)程中,就會(huì)得到反饋,慢慢積累經(jīng)驗(yàn),如果遇到問(wèn)題,自己嘗試解決,不行的話,我們帶著問(wèn)題,再去聽(tīng)課,很快就能找到解決方法,達(dá)到事半功倍的效果。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容