入侵檢測實(shí)驗報告
入侵檢測實(shí)驗報告
一、實(shí)驗課題:snort策略配置分析
二、實(shí)驗?zāi)康模菏煜nort的環(huán)境,掌握其使用方法,理解其策略配置過程。三、實(shí)驗內(nèi)容:
snrot使用一種簡單的輕量級的規(guī)則描述語言來描述它的規(guī)則配置信息,它靈活而強(qiáng)大。Snort規(guī)則被分成兩個邏輯部分:規(guī)則頭和規(guī)則選項。規(guī)則頭包含規(guī)則的動作,協(xié)議,源和目標(biāo)ip地址與網(wǎng)絡(luò)掩碼,以及源和目標(biāo)端口信息;規(guī)則選項部分包含報警消息內(nèi)容和要檢查的包的具體部分。下面是一個規(guī)則范例:
alerttcpanyany->192.168.1.0/24111(content:"|000186a5|";msg:"mountdaccess";)括號前的部分是規(guī)則頭,括號內(nèi)的部分是規(guī)則選項。規(guī)則選項部分中冒號前的單詞稱為選項關(guān)鍵字。注意:不是所有規(guī)則都必須包含規(guī)則選項部分,選項部分只是為了使對要收集或報警,或丟棄的包的定義更加嚴(yán)格。組成一個規(guī)則的所有元素對于指定的要采取的行動都必須是真的。當(dāng)多個元素放在一起時,可以認(rèn)為它們組成了一個邏輯與(AND)語句。同時,snort規(guī)則庫文件中的不同規(guī)則可以認(rèn)為組成了一個大的邏輯或(OR)語句。
在snort中有五種動作:alert,log和pass,activate和dynamic。1.Alert-使用選擇的報警方法生成一個警報,然后記錄(log)這個包2.Log-記錄這個包
3.Pass-丟棄(忽略)這個包
4.報警然后打開另外一個dynamic規(guī)則
5.等待一個activate來激活,在被激活后,向log規(guī)則一樣記錄數(shù)據(jù)包規(guī)則的下一部分是協(xié)議。Snort當(dāng)前分析可疑包的ip協(xié)議有三種:tcp,udp和icmp。將來可能會更多,例如arp,igrp,gre,ospf,rip,ipx等。IP地址:規(guī)則頭的下一個部分處理一個給定規(guī)則的ip地址和端口號信息。關(guān)鍵字"any"可以被用來定義任何地址。Snort沒有提供根據(jù)ip地址查詢域名的機(jī)制。地址就是由直接的數(shù)字型ip地址和一個cidr塊組成的。Cidr塊指示作用在規(guī)則地址和需要檢查的進(jìn)入的任何包的網(wǎng)絡(luò)掩碼。/24表示c類網(wǎng)絡(luò),/16表示b類網(wǎng)絡(luò),/32表示一個特定的機(jī)器的地址。例如,192.168.1.0/24代表從192.168.1.1到192.168.1.255的地址塊。在這個地址范圍的任何地址都匹配使用這個192.168.1.0/24標(biāo)志的規(guī)則。這種記法給我們提供了一個很好的方法來表示一個很大的地址空間。在“例一”中,源ip地址被設(shè)置為任何連接的計算機(jī),而目標(biāo)地址被設(shè)置為192.168.1.0上的c類網(wǎng)絡(luò)。有一個操作符可以應(yīng)用在ip地址上,它是否定運(yùn)算符(negationoperator)。這個操作符告訴snort匹配除了列出的ip地址以外的所有ip地址。否定操作符用"!"表示。例如,使用否定操作符對“例一”做一個簡單修改,使它對任何來自本地網(wǎng)絡(luò)以外的流都進(jìn)行報警,如:
alerttcp!192.168.1.0/24any->192.168.1.0/24111(content:"|000186
a5|";msg:"externalmountdaccess";)
這個規(guī)則的ip地址代表“任何源ip地址不是來自內(nèi)部網(wǎng)絡(luò)而目標(biāo)地址是內(nèi)部網(wǎng)絡(luò)的tcp包”端口號:
端口號可以用幾種方法表示,包括"any"端口,靜態(tài)端口定義,范圍,以及通過否定操作符定義。"any"端口是一個通配符,表示任何端口。靜態(tài)端口定義表示一個單個端口號,例如:111表示portmapper,23表示telnet,80表示http等等。端口范圍用范圍操作符“:”表示。范圍操作符可以有幾種使用方法,如:
logudpanyany->192.168.1.0/241:1024
記錄來自任何端口的,目標(biāo)端口范圍在1到1024的udp數(shù)據(jù)流logtcpanyany->192.168.1.0/24:6000
記錄來自任何端口,目標(biāo)端口小于等于6000的tcp流logtcpany:1024->192.168.1.0/24500:
記錄來自任何小于等于1024的特權(quán)端口,目標(biāo)端口大于等于500的tcp流
規(guī)則選項組成了snort入侵檢測引擎的核心,既易用又強(qiáng)大還靈活。所有的snort規(guī)則選項用分號“;”隔開。規(guī)則選項關(guān)鍵字和它們的參數(shù)用冒號“:”分開。按照這種寫法,snort中有一下一些規(guī)則選項關(guān)鍵字。1、msg-在報警和包日志中打印一個消息
2、logto-把包記錄到用戶指定的文件中而不是記錄到標(biāo)準(zhǔn)輸出3、ttl-檢查ip頭的ttl的值4、tos-檢查ip頭的tos域的值5、id-檢查ip頭的分片id值6、ipoption-檢查ip頭的option域7、fragbits-檢查ip頭的分片標(biāo)志位8、dsize-檢查包的數(shù)據(jù)部分大小
9、content-在包的數(shù)據(jù)部分中搜索指定的樣式
10、offset-content選項的修飾符,設(shè)定開始搜索的位置11、depth-content選項的修飾符,設(shè)定搜索的最大深度12、nocase-指定對content字符串大小寫不敏感13、content-list在數(shù)據(jù)包中搜索多種可能匹配14、flags-檢查tcpflags的值15、seq-檢查tcp順序號的值16、ack-檢查tcp應(yīng)答(acknowledgement)的值17、itype-檢查icmptype的值18、icode-檢查icmpcode的值
19、session-記錄指定會話的應(yīng)用層信息的內(nèi)容20、icmp_id-檢查ICMPECHOID的值
21、icmp_seq-檢查ICMPECHO順序號的值22、ipoption-監(jiān)視IPoption的特定代碼23、rpc-監(jiān)視特定應(yīng)用/進(jìn)程調(diào)用的RPC服務(wù)24、resp-主動反應(yīng)(切斷連接等)25、reference-外部參考id26、sid-snort的規(guī)則id27、rev-規(guī)則的修正號
28、classtype-規(guī)則的分類號29、priority-規(guī)則的優(yōu)先級
30、uricontent-在數(shù)據(jù)包的URI部分搜索指定的匹配31、tag-高級記錄動作
32、ip_proto-ip頭的協(xié)議值
33、sameip-源地址和目標(biāo)地址相同34、stateless-無狀態(tài)連接35、regex-通配符模式匹配例如:dsize:
選項用于檢查包的數(shù)據(jù)區(qū)的大小。它可以設(shè)置成任意值,可以使用大于/小于符號來指定范圍。例如,如果你知道某個特定的服務(wù)有一個特定大小的緩沖區(qū),你可以設(shè)定這個選項來監(jiān)視緩沖區(qū)溢出的企圖。它在檢查緩沖區(qū)溢出時比檢查數(shù)據(jù)區(qū)內(nèi)容的方法要快得多。格式:dsize:[>|192.168.1.0/24143(content:"|90C8C0FFFFFF|/bin/sh";
msg:"IMAPbufferoverflow!";)
在snort配置文件中可以指定多個輸出插件。如果對同一種類型(報警、日志)指定了幾個輸出插件,那么當(dāng)事件發(fā)生時,snort就會順序調(diào)用這些插件。使用標(biāo)準(zhǔn)日志和報警系統(tǒng),默認(rèn)情況下,輸出模塊就會將數(shù)據(jù)發(fā)送到/var/log/snort目錄,或者用戶使用-l命令行開關(guān)指定的目錄。在規(guī)則文件中,輸出模塊使用output關(guān)鍵詞指定:格式:outputname:
outputalert_syslog:LOG_AUTHLOG_ALERT
可用的輸出模塊:alert_syslog:
使用這個輸出模塊,snort把報警信息發(fā)送到syslog,與-s命令行開關(guān)非常類似。這個輸出模塊允許用戶在規(guī)則文件中指定loggingfacility和優(yōu)先級,給用戶以更大的靈活性。
數(shù)據(jù)庫輸出模塊:
snort的數(shù)據(jù)庫輸出模塊是JedPickel開發(fā)的,用來將snort產(chǎn)生的數(shù)據(jù)送到各種SQL數(shù)據(jù)庫系統(tǒng)。如果要獲得安裝和配置這個模塊更為詳盡的信息,可以參考ncident.orgwebpage。這個插件使用的參數(shù)是記錄snort日志的數(shù)據(jù)庫名和參數(shù)表。參數(shù)表使用這種格式:parameter=argument。有如下參數(shù)可以使用:
1).host:數(shù)據(jù)庫所在的主機(jī)。如果指定了一個非零字符串,snort就使用TCP/IP協(xié)議連接以此命名的主機(jī)。如果沒有主機(jī)名,snort就使用一個本地UNIX-domain套接字連接本地主機(jī)。2).port:數(shù)據(jù)庫所在服務(wù)器的端口號,或者一個UNIX-domain套接字文件。3).dbname:數(shù)據(jù)庫名字。4).user:數(shù)據(jù)庫用戶名。5).passwd:密碼。
6).sensor_name:指定這個snort觸發(fā)器的名字,如果沒有指定就自動產(chǎn)生。
7).encoding:因為數(shù)據(jù)包的負(fù)載和選項都是二進(jìn)制數(shù)據(jù),所以沒有一種簡單和可移植的方式將snort的數(shù)據(jù)保存在數(shù)據(jù)庫。所以在snort數(shù)據(jù)庫輸出插件中提供了一些選項,讓你自己決定使用那種編碼。下面是這幾種編碼的優(yōu)點(diǎn)和缺點(diǎn):
hex:默認(rèn)編碼選項,使用16進(jìn)制字符串代表二進(jìn)制數(shù)據(jù)。存儲空間:兩倍于二進(jìn)制數(shù)據(jù)搜索性:極好可讀性:極差
base64:使用base64字符串代表二進(jìn)制數(shù)據(jù)。存儲空間:大約是直接存儲二進(jìn)制數(shù)據(jù)的1.3倍搜索性:可能無須后續(xù)處理?勺x性:不可讀需要后續(xù)處理。
ascii::使用ASCII字符串代替二進(jìn)制數(shù)據(jù)。非ASCII字符使用.
代替。如果你選擇這個選項,那么IP和TCP包頭的選項會仍然使用hex表示。
存儲空間:比直接存儲二進(jìn)制數(shù)據(jù)稍大。
搜索性:非常便于二進(jìn)制數(shù)據(jù)中搜索文本字符串?勺x性:很好。
8).detail:設(shè)置你要保存多少細(xì)節(jié)數(shù)據(jù),有如下選項:
full:保存引起報警的數(shù)據(jù)包的所有細(xì)節(jié),包括IP/TCP包頭和負(fù)載數(shù)據(jù)。fast:只記錄少量的數(shù)據(jù)。如果選擇這種記錄方式,不利于以后對
數(shù)據(jù)的分析,但在某些情況下還有其用處。使用這種方式,將記錄數(shù)據(jù)包的以下域:時間戳(timestamp)、簽名(signature)、源地址、目的地址、源端口、目的端口、TCP標(biāo)志和協(xié)議。
還需要定義日志方法和數(shù)據(jù)庫類型。有兩種日志方法:log和alert。如果使用log,snort就會調(diào)用log輸出,將日志數(shù)據(jù)記錄到數(shù)據(jù)庫;如果設(shè)置為alert,snort就會調(diào)用alert輸出,在數(shù)據(jù)庫中記錄報警信息。
當(dāng)前版本中,snort可以使用四種數(shù)據(jù)庫:MySQL、PostgreSQL、Oracle以及和unixODBC兼容的數(shù)據(jù)庫?梢允褂媚阆矚g的數(shù)據(jù)庫。格式:database:,,示例:outputdatabase:log,mysql,dbname=snortuser=snorthost=localhostpassword=xyz
四、實(shí)驗結(jié)論:
在開發(fā)高效、高速的snort規(guī)則時,有幾個概念要銘記于心。
1.關(guān)鍵詞content指定的內(nèi)容是大小寫敏感的,除非你使用nocase選項不要忘記content規(guī)則選項指定的內(nèi)容是大小寫敏感的,許多程序一般使用大寫表示命令。FTP就是一個很好的例子。請比較下面兩條規(guī)則:
alerttcpanyany->192.168.1.0/2421(content:"userroot";msg:"FTProotlogin";)
alerttcpanyany->192.168.1.0/2421(content:"USERroot";msg:"FTProotlogin";)
第二條規(guī)則可以使snort捕獲大多數(shù)使用root用戶名的自動登錄企圖,而在數(shù)據(jù)包中從來就沒有小寫的user。
2.提高snort對含有content規(guī)則選項的規(guī)則的檢測速度
snort檢測引擎對各個規(guī)則選項的測試順序與其在各條規(guī)則中所處的位置無關(guān)。在各個規(guī)則選項中,檢測引擎最后測試的總是content規(guī)則選項。因此,在開發(fā)規(guī)則時,要盡量使用快速的選項篩選掉根本不必對其內(nèi)容進(jìn)行檢查的包。例如,如果實(shí)現(xiàn)了一個TCP會話過程,那么在會話過程的大部分時間內(nèi),雙方傳輸?shù)臄?shù)據(jù)包的TCP標(biāo)志ACK、PSH都被置位。而測試包頭的TCP標(biāo)志比對數(shù)據(jù)包的內(nèi)容進(jìn)行模式匹配需要的計算量要小的多。所以,在開發(fā)相關(guān)的檢測規(guī)則時,需要設(shè)置flags規(guī)則選項對PSH和ACK沒有置位的數(shù)據(jù)包進(jìn)行過濾。而這樣做,增加的額外計算量微乎其微。例如:alerttcpanyany->192.168.1.0/2480
(content:"cgi-bin/phf";flags:PA;msg:"CGI-PHFprobe";)
擴(kuò)展閱讀:入侵檢測技術(shù)實(shí)驗報告
甘肅政法學(xué)院
本科生實(shí)驗報告
(一)
姓名:學(xué)院:計算機(jī)科學(xué)學(xué)院專業(yè):計算機(jī)科學(xué)與技術(shù)
班級:實(shí)驗課程名稱:入侵檢測技術(shù)實(shí)驗日期:指導(dǎo)教師及職稱:實(shí)驗成績:開課時間:201*學(xué)年第二學(xué)期
甘肅政法學(xué)院實(shí)驗管理中心印制
實(shí)驗題目局域網(wǎng)網(wǎng)絡(luò)掃描入侵及安全評估實(shí)驗小組合作學(xué)號否姓名班級一、實(shí)驗?zāi)康模赫莆站W(wǎng)絡(luò)端口掃描器的使用方法,熟悉常見端口和其對應(yīng)的服務(wù)程序,掌握發(fā)現(xiàn)系統(tǒng)漏洞的方法。掌握綜合掃描及安全評估工具的使用方法,了解進(jìn)行簡單系統(tǒng)漏洞入侵的方法,了解常見的網(wǎng)絡(luò)和系統(tǒng)漏洞以及其安全防護(hù)方法。二、實(shí)驗環(huán)境:安裝有WINDOWSXP系統(tǒng)安裝有superscan4、Fluxay5軟件的計算機(jī)。三、實(shí)驗內(nèi)容與步驟:1、使用ipconfig/all命令測試本機(jī)的計算機(jī)名、IP地址、MAC地址:2、使用arp命令查看本機(jī)的arp表;(1)先使用arp命令查看本機(jī)的arp表;(2)通過網(wǎng)上鄰居訪問幾個計算機(jī)后,再查看arp表,比較兩次查看結(jié)果的區(qū)別。3、使用ping命令測試網(wǎng)絡(luò)的連通性(1)ping本機(jī)的ip地址;(2)ping相鄰計算機(jī)的ip地址;(3)ping網(wǎng)關(guān)地址;(4)ping兩個網(wǎng)絡(luò)域名二、使用PacketTacer進(jìn)行網(wǎng)絡(luò)連通練習(xí)1)拖動兩臺計算機(jī)PC0、PC1到PT界面,再拖動一臺計算機(jī)2960到桌面;(2)使用直連線連接計算機(jī)和交換機(jī);(3)將兩臺計算機(jī)IP地址分別設(shè)為192.168.1.10和192.168.1.20,子網(wǎng)掩碼都設(shè)為255.255.255.128;(4)在PT上計算機(jī)的命令行模式使用ping命令查看網(wǎng)絡(luò)是否連通。在PT上計算機(jī)的命令行模式使用ping命令兩臺電腦相通2)、建立包含兩個子網(wǎng)的網(wǎng)絡(luò)(1)在前面網(wǎng)絡(luò)的基礎(chǔ)上,再拖動兩臺計算機(jī)PC2、PC3到PT界面;(2)使用直連線連接計算機(jī)和交換機(jī);(3)將兩臺計算機(jī)IP地址分別設(shè)為192.168.1.210和192.168.1.220,子網(wǎng)掩碼都設(shè)為255.255.255.128;(4)在PT上計算機(jī)的命令行模式使用ping命令查看4臺計算機(jī)之間網(wǎng)絡(luò)是否連通,并分析測試結(jié)果。(5)自己試著改變各個計算機(jī)的IP地址,再進(jìn)行測試。通過用ping命令,發(fā)現(xiàn)1和2相通,3和4相通,通過設(shè)置3和4的ip地址,再次使用ping命令,4臺電腦都相通.三,利用Superscan進(jìn)行網(wǎng)絡(luò)端口掃描,利用流光進(jìn)行綜合掃描和安全評估,.常見的TCP端口如下:..常見的UDP端口如下:使用流光Fluxay5綜合掃描工具并分析結(jié)果各部份功能:1:暴力破解的設(shè)置區(qū)域2:控制臺輸出3:掃描出來的典型漏洞列表4:掃描或者暴力破解成功的用戶帳號5:掃描和暴力破解的速度控制6:掃描和暴力破解時的狀態(tài)顯示7:中止按鈕8:探測記錄查找選擇“文件(F)”→“高級掃描向?qū)В╓)”可打開高級掃描向?qū),設(shè)置掃描參數(shù)。使用“高級掃描向?qū)А迸渲酶呒墥呙柰猓可以在探測菜單中直接選取高級掃描工具設(shè)置:IPC是為了讓進(jìn)程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應(yīng)的權(quán)限,在遠(yuǎn)程管理計算機(jī)和查看計算機(jī)的共享資源時使用。利用IPC$,連接者可以與目標(biāo)主機(jī)建立一個空連接而無需用戶名和密碼,從而可以得到目標(biāo)主機(jī)上的用戶列表,并可能破解用戶密碼。1),開始---運(yùn)行---REGEDIT,(2),找到HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\LanmanServer\\Paramaters并選中它(3),在右窗格的任意空白區(qū)域中單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇"新建"---"DWORD值"選項,命名為AutoShareWks,雙擊該鍵值,在彈出的"編輯DWORD值"對話框的"數(shù)值數(shù)據(jù)"文本框中輸入1表示打開磁盤共享,單擊"確定"按鈕.(4),關(guān)閉注冊表編輯器,重起電腦使設(shè)置生效.另外可用netshareipc$開啟IPC$相關(guān)命令:1.建立和目標(biāo)的ipc$連接命令:netuse\\\\目標(biāo)IP\\ipc$“密碼”/user:“ADMIN”(管理員賬號),如:netuse\\\\192.168.27.128\\ipc$“”/user:"administrator"輸入:netuse\\\\192.168.10.36\\ipc$“”/user:”administrator”2.映射網(wǎng)絡(luò)驅(qū)動器命令(將目標(biāo)主機(jī)的盤映射到本地磁盤):netuse本地盤符\\\\目標(biāo)IP\\盤符$,如:netusez:\\\\192.168.27.128\\c$輸入:netusem:\\\\192.168.27.23\\c$
四、實(shí)驗過程與分析:這次實(shí)驗是第一次接觸使用PacketTacer進(jìn)行網(wǎng)絡(luò)連通行檢查,如何建立局域網(wǎng)等操作。以及如何使用入侵檢測的SuperScan端口掃描工具和流光Fluxay5等工具,經(jīng)行端口掃描和安全評估,在老師同學(xué)的幫助下,完成了大部分實(shí)驗內(nèi)容。五、實(shí)驗總結(jié):這次實(shí)驗是我掌握利用SuperScan端口掃描工具和流光Fluxay5綜合掃描工具對于網(wǎng)絡(luò)端口掃描器的使用方法,熟悉常見端口和其對應(yīng)的服務(wù)程序,掌握發(fā)現(xiàn)系統(tǒng)漏洞的方法,以及綜合掃描及安全評估工具的使用方法。六、指導(dǎo)教師評語及成績:實(shí)驗過程與結(jié)果完整,實(shí)驗分析得當(dāng)。教師簽名
成績批閱日期
友情提示:本文中關(guān)于《入侵檢測實(shí)驗報告》給出的范例僅供您參考拓展思維使用,入侵檢測實(shí)驗報告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。