第15講:第十一章-Snort分析課件_第1頁(yè)
第15講:第十一章-Snort分析課件_第2頁(yè)
第15講:第十一章-Snort分析課件_第3頁(yè)
第15講:第十一章-Snort分析課件_第4頁(yè)
第15講:第十一章-Snort分析課件_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

入侵檢測(cè)技術(shù)分析第15講0入侵檢測(cè)技術(shù)分析

第11章Snort分析1課程安排入侵檢測(cè)概述5學(xué)時(shí)入侵檢測(cè)技術(shù)分類3學(xué)時(shí)基于主機(jī)的入侵檢測(cè)技術(shù)2學(xué)時(shí)基于網(wǎng)絡(luò)的入侵檢測(cè)技術(shù)3學(xué)時(shí)混合型的入侵檢測(cè)技術(shù)2學(xué)時(shí)先進(jìn)的入侵檢測(cè)技術(shù)3學(xué)時(shí)分布式入侵檢測(cè)架構(gòu)3學(xué)時(shí)設(shè)計(jì)考慮及響應(yīng)問(wèn)題2學(xué)時(shí)入侵檢測(cè)系統(tǒng)的評(píng)估與測(cè)試3學(xué)時(shí)Snort分析4學(xué)時(shí)入侵檢測(cè)技術(shù)的發(fā)展趨勢(shì)2學(xué)時(shí)2教材及參考書《入侵檢測(cè)技術(shù)》唐正軍等清華大學(xué)出版社《入侵檢測(cè)技術(shù)》曹元大人民郵電出版社《入侵檢測(cè)》羅守山北京郵電大學(xué)出版社3上一章回顧Snort的安裝配置Snort總體結(jié)構(gòu)Snort的使用4第十一章Snort分析Snort的安裝與配置Snort的總體結(jié)構(gòu)分析Snort的使用

Snort的規(guī)則使用Snort構(gòu)建入侵檢測(cè)系統(tǒng)實(shí)例511.4Snort的規(guī)則規(guī)則的結(jié)構(gòu)規(guī)則的語(yǔ)法預(yù)處理程序輸出插件常用攻擊手段對(duì)應(yīng)規(guī)則舉例規(guī)則的設(shè)計(jì)繼續(xù)6規(guī)則的結(jié)構(gòu)Snort的規(guī)則分為兩個(gè)部分:規(guī)則頭和規(guī)則選項(xiàng)。規(guī)則頭規(guī)則動(dòng)作:Alert,log,pass,activate,dynamic用戶可以創(chuàng)建一條規(guī)則,記錄到系統(tǒng)日志和MySQL數(shù)據(jù)庫(kù)ruletyperedalert{typealertoutputalert_syslog:LOG_AUTHLOG_ALERToutputdatabase:log,mysql,user=Snortdbname=Snorthost=localhost}7規(guī)則的結(jié)構(gòu)協(xié)議:TCP,UDP,ICMP和IPIP地址:由直接的數(shù)字型IP地址和一個(gè)Cidr塊組成。“any“用來(lái)定義任何地址??蓪ⅰ保 安僮鞣迷贗P地址上。比如:alerttcp!/24any->/24111(content:“|000186a5|”;msg:“externalmountdaccess”;)端口號(hào):包括“any”端口,靜態(tài)端口定義、范圍、以及通過(guò)否定操作符。例如:Logudpanyany->1:1024Logtcpany:1024->/24500:方向操作符:“->“表示規(guī)則所施加的流的方向,”<>”表示雙向操作符。Activate和Dynamic規(guī)則:將被Tagging所替代。8規(guī)則的結(jié)構(gòu)規(guī)則的選項(xiàng):所有規(guī)則選項(xiàng)用Snort規(guī)則選用分號(hào)“;”隔開。規(guī)則選項(xiàng)關(guān)鍵字和它們的參數(shù)用“:”分開。Snort有42個(gè)規(guī)則選項(xiàng)關(guān)鍵字msgLogtottltosidipoptionfragbitsdsizeSeq等等返回9規(guī)則的語(yǔ)法規(guī)則分類存放在規(guī)則文件中。規(guī)則文件是普通的文本文件。可使用注釋行。Snort允許定義變量,并在規(guī)則中使用這些變量。如:var:<name><value>$name:定義一個(gè)元變量$(name):使用name的內(nèi)容替代$(name:-defaultvalue):使用name的內(nèi)容替代。如果name未定義,則使用defaultvalue$(name:?message):使用name的內(nèi)容替代。若name沒(méi)有定義,則打印錯(cuò)誤信息message,并退出程序。10規(guī)則的語(yǔ)法例如:varMY_NET[/24,/24]varMY_NET$(MY_NET:-/24)logtcpanyany->$(MY_NET:?MY_NETisudefined!)23此外,還可以在規(guī)則文件中使用關(guān)鍵字include,允許引用其它的規(guī)則文件返回11預(yù)處理程序

預(yù)處理程序代碼在探測(cè)引擎被調(diào)用之前運(yùn)行,但在數(shù)據(jù)包譯碼之后。通過(guò)這個(gè)機(jī)制,數(shù)據(jù)包可以通過(guò)額外的方法被修改或分析。使用preprocessor關(guān)鍵字加載和配置預(yù)處理程序。指令格式為:preprocessor<name>:<option>。預(yù)處理模塊的組成如下:HTTPDecode:用于處理HTTPURI字符串并且將串中的數(shù)據(jù)轉(zhuǎn)化為可讀的ASCII字串。例子:preprocessorhttp_decode:808080unicodeiis_flip_slashiis_alt_unicode

12預(yù)處理程序PortscanDetector:向一個(gè)記錄設(shè)備中記錄一個(gè)源IP地址來(lái)的端口掃描的開始和結(jié)束。例子:preprocessorportscan:/2457/var/log/portscan.logPortscanIgnorehosts:忽略源自某些主機(jī)的TCPSYN和UDP端口掃描。例子:preprocessorportscan-ingnorehosts:/32/24Frag2:是一個(gè)新的IP碎片重組預(yù)處理器。等等。。。返回13輸出插件輸出插件在Snort的告警和記錄子系統(tǒng)被調(diào)用時(shí)運(yùn)行,在預(yù)處理程序和檢測(cè)引擎之后。格式:output<name>:<option>例子:outputalert_syslog:LOG_AUTHLOG_LAERT輸出插件的name字段說(shuō)明如下:Alert_syslogAlert_fastAlert_fullAlert_smb等等返回14常用攻擊手段對(duì)應(yīng)規(guī)則舉例

下面介紹如何使用這些規(guī)則描述一個(gè)切實(shí)的攻擊:針對(duì)IIS的例子網(wǎng)絡(luò)中的漏洞的攻擊,相應(yīng)的規(guī)則見web-iis.rule:Alerttcp$EXTERNAL_NETany->$HTTP_SERVERS80(msg:‘WEB-IISsite/iisamplesaccess”;flag:A+;uricontent:“/site/iisamples”nocase;classtype:attempted-recon;sid:1046;rev:1;)針對(duì)利用IISweb服務(wù)器的遠(yuǎn)程漏洞CodeRedIIAlertTCP$EXTERNALany->$INTERNAL80(msg:“IDS552/web-iis_IISISAPIOverflowida”;dsize:>239;flag:A+;uricontent:“.ida?”classtype:system-or-info-attempt;reference:arachnids,552;)15常用攻擊手段對(duì)應(yīng)規(guī)則舉例

針對(duì)特洛伊木馬活動(dòng)的規(guī)則:AlertUDP$INTERNAL31337->$EXTERNALany(msg:“IDS189/trojan2active2back2orifice”;)針對(duì)分布式拒絕服務(wù)(DDoS)攻擊的規(guī)則:Alerttcp$EXTERNAL_NETany->$HOME_NET12754(msg:”DDOSmstreamclienttohandler;content:”>”;flag:A+;referenc:cve,CAN220020138;classtype:attempted2dos;sid:247;rev:1;)16常用攻擊手段對(duì)應(yīng)規(guī)則舉例

對(duì)規(guī)則的更新有以下3種方式:經(jīng)常訪問(wèn)Snort官方網(wǎng)站,更新它所發(fā)布的新規(guī)則可以加入Snort的郵件列表,它會(huì)更及時(shí)地根據(jù)當(dāng)前流行的安全漏洞,發(fā)布相應(yīng)的攻擊標(biāo)識(shí)以及相應(yīng)的Snort規(guī)則可以根據(jù)自己的環(huán)境定制自己的規(guī)則,或者根據(jù)自己發(fā)現(xiàn)的新攻擊來(lái)編寫相應(yīng)的規(guī)則。有一些違反安全策略的行為,并不是某種攻擊或這種攻擊不未發(fā)現(xiàn),這就需要用戶自己去編寫自己的規(guī)則。返回17規(guī)則的設(shè)計(jì)

根據(jù)網(wǎng)絡(luò)的安全策略定制自己的規(guī)則:首先要針對(duì)具體的網(wǎng)絡(luò)環(huán)境制訂自己的安全策略,然后才能制訂自己的規(guī)則。然后考察網(wǎng)絡(luò)中所不提供的服務(wù)和提供的服務(wù)以及誰(shuí)可以訪問(wèn)這些服務(wù)如果一個(gè)內(nèi)部網(wǎng)絡(luò)/24不允許從外部網(wǎng)絡(luò)訪問(wèn),就可以增加一條規(guī)則發(fā)現(xiàn)這種異常訪問(wèn):Alerttcp$EXTERNAL_NETany->/24any(msg:“police:externalnetattempttoaccess/24”;classtype:attempted-recon;sid:10002;rev:1;)18規(guī)則的設(shè)計(jì)

某臺(tái)外部郵件服務(wù)器只用來(lái)提供郵件服務(wù),另外開了個(gè)ssh的端口讓內(nèi)部網(wǎng)管進(jìn)行訪問(wèn),對(duì)其它端口的訪問(wèn)都應(yīng)該是不允許的,外部對(duì)ssh的訪問(wèn)也是異常的,可加入下面規(guī)則:Alerttcpanyany->/32![25,110,22](msg:“Police:Attempttoaccess”;classtype:attempted-recon;sid10003;rev:1)Alerttcp$EXTERNAL_NETany->/3222(msg:“Police:Externalattempttoaccessssh”;classtype:attempted-recon;sid:10004;rev:1;)通過(guò)上述方法可以方便地檢出對(duì)網(wǎng)絡(luò)安全政策的違反行為,從而可以得知異常的網(wǎng)絡(luò)訪問(wèn)。19規(guī)則的設(shè)計(jì)

對(duì)付新的攻擊首先獲得某個(gè)攻擊的描述,這個(gè)描述可以來(lái)自某些安全列表(如bugtraq)。也可來(lái)自某些黑客網(wǎng)站;或自己發(fā)現(xiàn)攻擊描述。分析該攻擊描述與正常網(wǎng)絡(luò)通信的區(qū)別。這一步難度很大,如果設(shè)計(jì)不好,漏報(bào)和誤報(bào)的可能性就很大。最后可以使用Snort的規(guī)則語(yǔ)法來(lái)描述這些差異,相對(duì)上面要簡(jiǎn)單的多。20規(guī)則的設(shè)計(jì)

自已動(dòng)手編寫好的規(guī)則當(dāng)編寫規(guī)則時(shí),首先考慮的是效率和速度。好的規(guī)則要包含content項(xiàng)content規(guī)則是大小寫敏感的(除非用戶使用了nocase選項(xiàng))??紤]如下規(guī)則:Alerttcpanyany->/2421(conent:“userroot”;msg:“l(fā)ogin”;)Alerttcpanyany->/2421(conent:“USERroot”;msg:“l(fā)ogin”;)21規(guī)則的設(shè)計(jì)加速含有內(nèi)容選項(xiàng)的規(guī)則內(nèi)容規(guī)則選項(xiàng)總是最后一個(gè)被檢測(cè).因此,應(yīng)該先運(yùn)用別的快速規(guī)則選項(xiàng),由這些選項(xiàng)決定是否需要檢查數(shù)據(jù)包的內(nèi)容.比如,對(duì)TCP會(huì)話,可先進(jìn)行TCP標(biāo)志位的檢驗(yàn).例如Alerttcpanyany->/2480(content:“cgi-bin/phf”;falgs:PA;msg:“CGI-PHFprobe”;)如果PSH和ACK標(biāo)志沒(méi)有置位,就不需要對(duì)數(shù)據(jù)包的有效載荷進(jìn)行檢驗(yàn).22規(guī)則的設(shè)計(jì)

一個(gè)規(guī)則使用的例子記錄所有登錄到特定主機(jī)的數(shù)據(jù)包:Logtcpanyany->/3223在第一條的基礎(chǔ)上記錄了雙向的流量:Logtcpanyany<>/3223記錄所有到達(dá)你的本地主機(jī)的icmp數(shù)據(jù)包Logicmpanyany<>/24any允許雙向從你的機(jī)子到其他站點(diǎn)的http包:passtcpany80<>/24any23規(guī)則的設(shè)計(jì)

顯示本地主機(jī)對(duì)其它主機(jī)的111端口訪問(wèn),并在log中顯示(‘portmappercall’)信息:alerttcp/24any->any111(msg:”portmappercall”;)記錄其他任意地址的小于1024端口訪問(wèn)本地小于1024端口的流量:logtcpany:1024->/24:1024能發(fā)現(xiàn)SYSFIN掃描的規(guī)則:alerttcpanyany->/24any(msg:“SYS-FINscan!”;flags:SF;)24規(guī)則的設(shè)計(jì)將會(huì)發(fā)現(xiàn)空TCP掃描的規(guī)則:alerttcpanyany->/24any(msg:“Nullscan”;flags:0;)發(fā)現(xiàn)Quesofingerprint掃描的規(guī)則alerttcpanyany->/24any(msg:“Quesofingerprint”;flags:S12;)發(fā)現(xiàn)溢出攻擊的規(guī)則alerttcpanyany->/24143(msg:“IMAPBufferoverflow”;content:“|90E8C0FFFFFF|/bin/sh”;)25規(guī)則的設(shè)計(jì)將會(huì)發(fā)現(xiàn)PHF攻擊:Alerttcpanyany->/2480(msg:“PHFattempt”;content:”/cgi-bin/phf”;)將發(fā)現(xiàn)其它主機(jī)對(duì)本地發(fā)出的icmp包:alertudpanyany->/24(msg:“traceroute”;ttl:1)發(fā)現(xiàn)nmap的TCP的ping掃描alertudpanyany->/24(flags:A;ack:0;msg:“NMAPTCPping!”;)發(fā)現(xiàn)源路由的數(shù)據(jù)包(源路由攻擊):alerttcpanyany->anyany(ipopts:lsrr;msg:”SourceRoutedpacket!;”返回2611.5使用Snort構(gòu)建入侵檢測(cè)系統(tǒng)實(shí)例

下面以使用MySQL作為Snort日志信息的數(shù)據(jù)庫(kù)為例,介紹基于Snort的入侵檢測(cè)系統(tǒng)的構(gòu)建使用過(guò)程。MySQL數(shù)據(jù)庫(kù)的的安裝編譯Snort數(shù)據(jù)庫(kù)日志插件配置Snort數(shù)據(jù)庫(kù)輸出插件建立傳感器建立分析員控制臺(tái)制訂入侵防范策略Snort規(guī)則的測(cè)試?yán)^續(xù)27MySQL數(shù)據(jù)庫(kù)的的安裝

使用源代碼安裝#tar-xzvfmysql-xx.tar.gz

#cdmysql-xx

#./configure--prefix=/usr/local/mysql

#Make

#makeinstall#cdscripts

#./mysql_install_db返回28編譯Snort數(shù)據(jù)庫(kù)日志插件

如果數(shù)據(jù)庫(kù)沒(méi)有安裝在標(biāo)準(zhǔn)位置上,就需要設(shè)置Configure腳本的選項(xiàng)。根據(jù)數(shù)據(jù)庫(kù)所在位置,需要如下命令來(lái)編譯安裝snort:./configure–with-mysql=/usr/ids為了使Snort能使用這個(gè)數(shù)據(jù)記錄日志信息,還需要正確配置Snort的數(shù)據(jù)庫(kù)日志插件。返回29配置Snort數(shù)據(jù)庫(kù)輸出插件

snort數(shù)據(jù)庫(kù)插件配置行格式如下:outputdatabase:[loglalert],[typeofdatabase],[parameterlist]返回30建立傳感器

snort需要許多程序包對(duì)其進(jìn)行支持。需要Libpcap來(lái)完成捕包。OpenSSL與Stunnel聯(lián)合使用對(duì)傳感器到服務(wù)器間的通信進(jìn)行加密.Snort控制臺(tái)必須運(yùn)行openssl守護(hù)進(jìn)程才能進(jìn)行遠(yuǎn)程管理。應(yīng)用程序需要MySQL客戶端與MySQL服務(wù)器建立遠(yuǎn)程連接。Snort安裝的原則是使誤報(bào)與漏報(bào)的比率最大化。Snort.conf用來(lái)指定監(jiān)控的IP范圍、啟用的預(yù)處理、利用的輸出插件和使用的規(guī)則。返回31建立分析員控制臺(tái)

控制臺(tái)的主要用途是提供一個(gè)獨(dú)立的環(huán)境,維護(hù)Snort組件??刂婆_(tái)的兩個(gè)必要組件是Web網(wǎng)頁(yè)瀏覽器和SSH客戶端??刂婆_(tái)既可以是linux操作系統(tǒng),也可以使用微軟windows操作系統(tǒng)。返回32制訂入侵防范策略主要針對(duì)snort.conf文件中的選項(xiàng)設(shè)置設(shè)置網(wǎng)絡(luò)變量配置輸出插件由于snort的規(guī)則集文件很多,為了保持目錄結(jié)構(gòu)的清晰,把它們放在/opt/ids/etc/snort.d目錄中#mkdir–p/opt/ids/etc/snort.d#cpsnort.conf/opt/ids/etc/snort

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論