百科解釋
目錄·使用簡(jiǎn)介·編輯Snort偵測(cè)規(guī)則 Snort? 是一套開(kāi)放源代碼(open source)的網(wǎng)絡(luò)入侵預(yù)防軟件(IPS)與網(wǎng)絡(luò)入侵偵測(cè)軟件(IDS)。Snort使用了以偵測(cè)簽章(signature-based)與通訊協(xié)定(protocol)的偵測(cè)方法。截至目前為止,Snort的被下載次數(shù)已達(dá)到數(shù)百萬(wàn)次。 Snort 被認(rèn)為是全世界最廣泛使用的入侵預(yù)防與偵測(cè)軟件。 1998年, Martin Roesch撰寫(xiě)了一個(gè)名為Snort的軟件, 被其定位成"簡(jiǎn)單輕巧"的入侵偵測(cè)軟件。 如今Snort的影響力遠(yuǎn)廣布全世界. 經(jīng)過(guò)多年的發(fā)展,Snort已經(jīng)成為一成熟且多功能的軟件,在入侵偵測(cè)與預(yù)防的領(lǐng)域中被廣泛使用。近來(lái)在侵入規(guī)則語(yǔ)言(rules language)和偵測(cè)功能的進(jìn)步之下,Snort已成為最富彈性與精確的威脅偵測(cè)軟件之一。 使用簡(jiǎn)介 Snort并非復(fù)雜難以操作的軟件。Snort可以三個(gè)模式進(jìn)行運(yùn)作: 偵測(cè)模式(Sniffer Mode):此模式下, Snort將在現(xiàn)有的網(wǎng)域內(nèi)擷取封包,并顯示在屏幕上。 封包紀(jì)錄模式(packet logger mode):此模式下, Snort將已擷取的封包存入儲(chǔ)存媒體中(如硬盤(pán))。 上線(xiàn)模式(inline mode):此模式下, Snort可對(duì)擷取到的封包做分析的動(dòng)作,并根據(jù)一定的規(guī)則來(lái)判斷是否有網(wǎng)絡(luò)攻擊行為的出現(xiàn)。 基本指令:偵測(cè)模式 若你想要在屏幕上顯示網(wǎng)絡(luò)封包的標(biāo)頭檔(header)內(nèi)容,請(qǐng)使用 ./snort -v 如果想要在屏幕上顯示正在傳輸?shù)姆獍鼧?biāo)頭檔內(nèi)容,請(qǐng)使用 ./snort -vd 如果除了以上顯示的內(nèi)容之外,欲另外顯示資料連結(jié)層(Data link layer)的資料的話(huà),請(qǐng)使用 ./snort -vde 基本指令:封包紀(jì)錄模式 在記錄封包之前,您必須先指定一個(gè)目錄來(lái)儲(chǔ)存該資料。舉例而言,若您在您目前的目錄下建立了一個(gè)名為log的目錄,欲存紀(jì)錄資料于該目錄下的話(huà),請(qǐng)使用 ./snort -dev -l ./log 若想要以二進(jìn)制碼(binary code)的方式來(lái)儲(chǔ)存封包資料的話(huà),請(qǐng)使用 ./snort -l ./log -b 若欲讀取某已儲(chǔ)存的封包記錄檔案(假設(shè)其檔名為packet.log),請(qǐng)使用 ./snort -dvr packet.log 若欲讀取該檔案中特定網(wǎng)絡(luò)協(xié)定的資訊(假設(shè)是tcp協(xié)定),請(qǐng)使用 ./snort -dvr packet.log tcp 基本指令:入侵偵測(cè)模式 若欲使用入侵偵測(cè)模式,請(qǐng)使用 ./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf 其中snort.conf是封包的簽章檔案 若不需要得知資料連結(jié)層的資訊,請(qǐng)使用 ./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf 以下是Snort在入侵偵測(cè)模式的指令選項(xiàng): 線(xiàn)上模式 封包的抓取不透過(guò) libcap,而是透過(guò)防火墻,并可告知防火墻是否讓此封包通過(guò)。啟用線(xiàn)上模式使用 ./snort -Qd -h 192.168.0.0/16 -l ./log -c snort.conf 防火墻的設(shè)定 Linux iptables -t nat -A PREROUTING -j QUEUE 編輯Snort偵測(cè)規(guī)則 以下是一種編輯偵測(cè)規(guī)則(Snort rule)的例子: alert tcp any any ->192.168.1.0/24 111 依次分為以下幾個(gè)部份: 標(biāo)頭 標(biāo)頭的部份指的是此規(guī)則欲執(zhí)行的動(dòng)作。以上的例子為"alert",即警示。 完整的標(biāo)頭選項(xiàng)列表如下: 通訊協(xié)定 通訊協(xié)定指出執(zhí)行該規(guī)則的協(xié)定為何。上述的例子是tcp協(xié)定。 目前snort支援四種通訊協(xié)定: tcp, udp, icmp, ip 并計(jì)劃在未來(lái)支援以下的協(xié)定: ARP, IGRP, GRE, OSPF, RIP, IPX 等等 IP位置 輸入遵循此規(guī)則的封包IP位置。上述的例子是192.168.1.0。 若要偵測(cè)某一網(wǎng)段的IP位置,請(qǐng)?jiān)贗P位置后面加上 /(數(shù)字)。 阜號(hào) 遵循此規(guī)則的阜號(hào)(port number)。上述的例子是 port 24。 以下為實(shí)際例子: 進(jìn)階規(guī)則編輯 Includes: include允許指令的規(guī)則檔包含其他的規(guī)則檔。 include: 請(qǐng)注意,在該行結(jié)尾處沒(méi)有分號(hào)。被包含的規(guī)則檔會(huì)把任何默認(rèn)的變量值替換為其本身的變量。 Variables : 在Snort中定義的變量。 var: 例子: var NET 192.168.1.0/24 alert tcp any any -> $NET any (flags: S; msg: "FIN packet";) 變量名稱(chēng)可以用多種方法修改?梢栽"$"符號(hào)之后定義變量。"?" 和 "-"可用于變量修改符號(hào)。 $var - 定義變量。 $(var) - 用變量"var"的值替換。 $(var:-default) - 用變量"var"的值替換。若"var"沒(méi)有定義,則使用"default"替換。 $(var:?messageXXX) - 用變量"var"的值替換,或打印出錯(cuò)誤訊息"messageXXX"。 例子: var NET $(NET:-192.168.1.0/24) log tcp any any -> $(NET:?NET is undefined!) 23 Config Snort的很多配置和命令行選項(xiàng)都可以在配置檔中設(shè)置。 config [: ] 指令:
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助