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