版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 入侵檢測課程設(shè)計</b></p><p> 題 目 基于snort的入侵檢測系統(tǒng)</p><p> 計算機科學學院 計算機科學與技術(shù) 專業(yè)</p><p> 10 級 計算科學與技術(shù)本科 班</p><p><b> 一、課程設(shè)計目的</b></p&g
2、t;<p> 1、通過實驗深入理解入侵檢測系統(tǒng)的原理和工作方式。</p><p> 2、熟悉入侵檢測工具snort在Windows操作系統(tǒng)中的安裝和配置方法。</p><p> 3、通過使用 Snort,了解基于網(wǎng)絡(luò)和主機的入侵檢測系統(tǒng)的工作原理和應(yīng)用方法。</p><p><b> 二、課程設(shè)計的原理</b></p
3、><p> 1、入侵檢測技術(shù)簡介</p><p> 入侵檢測就是一個監(jiān)視計算機系統(tǒng)或者網(wǎng)絡(luò)上發(fā)生的事件,然后對其進行安全分析的過程。它可以用來發(fā)現(xiàn)外部攻擊與合法用戶濫用特權(quán),根據(jù)用戶的歷史行為,基于用戶的當前操作,完成對入侵的檢測,記錄入侵證據(jù),為數(shù)據(jù)恢復和事故處理提供依據(jù)。入侵檢測系統(tǒng)的原理如圖A所示:</p><p> 圖A 入侵檢測的原理圖</p&g
4、t;<p> 大多數(shù)的入侵檢測系統(tǒng)都可以被歸入到基于主機、基于網(wǎng)絡(luò)以及分布式三類?;谥鳈C的入侵檢測系統(tǒng)是一種早期的IDS設(shè)計模型,它主要設(shè)計用來監(jiān)視單一的服務(wù)器,因為DNS、Email和web服務(wù)器是多數(shù)網(wǎng)絡(luò)攻擊的目標,這些攻擊大約占據(jù)全部網(wǎng)絡(luò)攻擊事件的1/3以上,基于主機的入侵檢測系統(tǒng)就是為了解決這些問題而設(shè)計的,它能夠監(jiān)視針對主機的活動(用戶的命令、登錄/退出過程,使用數(shù)據(jù)等等),它的特點就是針對性好而且,效果明顯
5、,誤報率低。基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)是后于基于主機入侵檢測系統(tǒng)而出現(xiàn)的,它主要用于集中用于監(jiān)控通過網(wǎng)絡(luò)互連的多個服務(wù)器和客戶機,能夠監(jiān)視網(wǎng)絡(luò)數(shù)據(jù)發(fā)現(xiàn)入侵或者攻擊的蛛絲馬跡。分布式IDS通過分布于各個節(jié)點的傳感器或者代理對整個網(wǎng)絡(luò)和主機環(huán)境進行監(jiān)視,中心監(jiān)視平臺收集來自各個節(jié)點的信息監(jiān)視這個網(wǎng)絡(luò)流動的數(shù)據(jù)和入侵企圖。</p><p> 在入侵檢測系統(tǒng)中,系統(tǒng)將用戶的當前操作所產(chǎn)生的數(shù)據(jù)同用戶的歷史操作數(shù)據(jù)根據(jù)一定的
6、算法進行檢測,從而判斷用戶的當前操作是否是入侵行為,然后系統(tǒng)根據(jù)檢測結(jié)果采取相應(yīng)的行動。入侵檢測的過程是一個機器(檢測工具)與人(黑客)對抗的決策分析過程,其技術(shù)基礎(chǔ)是基于知識的智能推理,需要用到人工智能的相關(guān)技術(shù)。</p><p> 各種入侵檢測系統(tǒng)使用的檢測方法可以分為兩類:基于特征碼的檢測方法和異常檢測。使用基于特征碼檢測方法的系統(tǒng)從網(wǎng)絡(luò)獲得數(shù)據(jù),然后從中發(fā)現(xiàn)以知的攻擊特征。例如:在某些URL中包含一些奇
7、怪的Unicode編碼字符就是針對IIS Unicode缺陷的攻擊特征。此外各種模式匹配技術(shù)的應(yīng)用,提高了這種檢測方法的精確性。使用異常檢測的系統(tǒng)能夠把獲得的數(shù)據(jù)與一個基準進行比較,檢測這些數(shù)據(jù)是否異常。例如:如果一個雇員的工作時間是上9點到下午5點,但是在某個晚上他的計算機記錄了他曾經(jīng)在半夜登錄了公司的郵件服務(wù)器,這就是一個異常事件,需要深入調(diào)查。現(xiàn)在,大量的統(tǒng)計學方法用于這個領(lǐng)域。</p><p> ?。?)
8、入侵檢測系統(tǒng)定義</p><p> 入侵檢測系統(tǒng)(Intrusion Detection System,簡稱IDS)是一種從計算機網(wǎng)絡(luò)或計算機系統(tǒng)中的若干關(guān)鍵點收集入侵者攻擊時所留下的痕跡,如異常網(wǎng)絡(luò)數(shù)據(jù)包與試圖登錄的失敗記錄等信息,通過分析發(fā)現(xiàn)是否有來自于外部或內(nèi)部的違反安全策略的行為或被攻擊的跡象。它以探測與控制作為技術(shù)本質(zhì),起著主動式、動態(tài)的防御作用,是網(wǎng)絡(luò)安全中極其重要的組成部分。目前入侵檢測涉及到的功
9、能有監(jiān)視分析用戶和系統(tǒng)的行為、審計系統(tǒng)配置和漏洞、評估敏感系統(tǒng)和數(shù)據(jù)的完整性、識別攻擊行為、對異常行為進行統(tǒng)計、自動地收集與系統(tǒng)相關(guān)的補丁、進行審計跟蹤識別違反安全策略的行為、使用誘騙服務(wù)器記錄黑客行為等功能,使系統(tǒng)管理員可以較有效地監(jiān)視、審計、評估自己的系統(tǒng)等。 </p><p> ?。?)入侵檢測系統(tǒng)的作用</p><p> 入侵檢測是防火墻的合理補充,幫助系統(tǒng)對付網(wǎng)絡(luò)攻擊,擴展了系
10、統(tǒng)管理員的安全管理能力(包括安全審計、監(jiān)視、進攻識別和響應(yīng)),提高了信息安全基礎(chǔ)結(jié)構(gòu)的完整性。它從計算機網(wǎng)絡(luò)系統(tǒng)中的若干關(guān)鍵點收集信息,并分析這些信息,看看網(wǎng)絡(luò)中是否有違反安全策略的行為和遭到襲擊的跡象。入侵檢測被認為是防火墻之后的第二道安全閘門,在不影響網(wǎng)絡(luò)性能的情況下能對網(wǎng)絡(luò)進行監(jiān)測,從而提供對內(nèi)部攻擊、外部攻擊和誤操作的實時保護。</p><p> (3)入侵檢測系統(tǒng)的檢測信息來源</p>
11、<p> 入侵檢測系統(tǒng)的檢測信息來源都是通過自身的檢測部分Sensor 得到的?;诰W(wǎng)絡(luò)的入侵檢測,主要是通過對網(wǎng)絡(luò)數(shù)據(jù)包的截取分析,來查找具有攻擊特性和不良企圖的數(shù)據(jù)包的。在網(wǎng)絡(luò)里基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的檢測部分Sensor 一般被布置在一個交換機的鏡象端口(或者一個普通的HUB任意端口),聽取流經(jīng)網(wǎng)絡(luò)的所有數(shù)據(jù)包,查找匹配的包,來得到入侵的信息源?;谥鳈C的入侵檢測系統(tǒng)的Sensor 不可能直接從系統(tǒng)內(nèi)部獲取信息的,它是
12、要通過一個事先做好的代理程序,安裝在需要檢測的主機里的,這些代理程序主要收集系統(tǒng)和網(wǎng)絡(luò)日志文件,目錄和文件中的不期望的改變,程序執(zhí)行中的不期望行為,物理形式的入侵信息。</p><p> ?。?)入侵檢測方法介紹 </p><p> 當前入侵檢測技術(shù)的發(fā)展方向主要有兩個:一是基于異常方式的入侵檢測 (Anomaly Detection),另一個是基于誤用方式的入侵檢測(Misuse De
13、tection)。</p><p> 基于異常入侵檢測技術(shù)是通過檢測攻擊者與合法用戶具有的不同特征來識別入侵行為。例如,如果用戶A僅僅是在早上9點鐘到下午5點鐘之間在辦公室使用計算機,則用戶A在晚上的活動是異常的,就有可能是入侵。異常檢測試圖通過定量方式描述常規(guī)的或可接受的行為,以標記非常規(guī)的、潛在的入侵行為。異常入侵檢測的主要前提是入侵性活動作為異?;顒拥淖蛹?,異常檢測主要使用概率統(tǒng)計方法,還有順序模式歸納產(chǎn)
14、生法和神經(jīng)網(wǎng)絡(luò)等檢測方法。隨著對計算機系統(tǒng)弱點和攻擊方法的不斷收集和研究,入侵特征化描述的方法越來越有效,這使得誤用檢測的使用也越來越廣泛。 </p><p> 基于誤用入侵檢測技術(shù)是根據(jù)己知的入侵模式來檢測。入侵者常常利用系統(tǒng)和應(yīng)用軟件的弱點進行攻擊,而這些弱點可以歸類為某種模式,如果入侵者攻擊方式恰好匹配上檢測系統(tǒng)中的模式庫,則入侵者即被檢測到。例如,Windows的IIS常見的CGI,SQL等漏洞,就可以
15、根據(jù)它的攻擊特征進行檢測。誤用檢測使用的方法主要有專家系統(tǒng)、狀態(tài)轉(zhuǎn)換分析、基于模型的方法和模式匹配,人工智能技術(shù)、免疫檢測和自主代理等方法正在實踐或者科研當中。 </p><p> 2、Snort簡介 </p><p> Snort是一個強大的輕量級的網(wǎng)絡(luò)入侵檢測系統(tǒng)。它具有實時數(shù)據(jù)流量分析和日志IP網(wǎng)絡(luò)數(shù)據(jù)包的能力,能夠進行協(xié)議分析,對內(nèi)容搜索/匹配。它能夠檢測各種不同的攻擊方式,對
16、攻擊進行實時警報。此外,Snort具有很好的擴展性和可移植性。</p><p> ?。?)Snort的特點:</p><p> Snort是一個強大的清量級的網(wǎng)絡(luò)入侵檢測系統(tǒng)。它具有實時數(shù)據(jù)流量分析和日志Ip網(wǎng)絡(luò)數(shù)據(jù)包的能力,能夠進行協(xié)議分析,對內(nèi)容搜索/匹配。它能夠檢測各種不同的攻擊方式,對攻擊進行實時警報。此外,Snort具有很好的擴展性和可移植性。還有,這個軟件遵循公用許可GPL,
17、所以只要遵守GPL任何組織和個人都可以自由使用。</p><p> ?、賁nort雖然功能強大,但是其代碼極為簡潔,短小,其源代碼壓縮包只有200KB不到。Snort可移植性非常好。Snort的跨平臺性能極佳,目前已經(jīng)支持Linux系列, Solaris,BSD系列,IRIX,HP-UX,Windows系列,ScoOpenserver,Unixware等。</p><p> ?、赟nort
18、具有實時流量分析和日志Ip網(wǎng)數(shù)據(jù)包的能力。能夠快速地檢測網(wǎng)絡(luò)攻擊,及時地發(fā)出警報。Snort的警報機制很豐富。</p><p> 例如:Syslog,用戶指定文件,UnixSocket,還有使用SAMBA協(xié)議向Windows客戶程序發(fā)出WinPopup消息。利用XML插件,Snort可以使用SNML(簡單網(wǎng)絡(luò)標記語言.simple network markup language)把日志存放在一個文件或者適時警報
19、。</p><p> ?、跾nort能夠進行協(xié)議分析,內(nèi)容的搜索/匹配?,F(xiàn)在Snort能夠分析的協(xié)議有TCP,UDP和ICMP。將來的版本,將提供對ARP.ICRP,GRE,OSPF,RIP,ERIP,IPX,APPLEX等協(xié)議的支持。它能夠檢測多種方式的攻擊和探測,例如:緩沖區(qū)溢出,CGI攻擊,SMB檢測,探測操作系統(tǒng)質(zhì)問特征的企圖等等。</p><p> ?、躍nort的日至格式既可以
20、是Tcpdump的二進制格式,也可以編碼成ASCII字符形式,更便于擁護尤其是新手檢查,使用數(shù)據(jù)庫輸出插件,Snort可以把日志記入數(shù)據(jù)庫,當前支持的數(shù)據(jù)庫包括:Postagresql,MySQL,任何UnixODBC數(shù)據(jù)庫,MicrosoftMsSQL,還有Oracle等數(shù)據(jù)庫。</p><p> ?、菔褂肨CP流插件(TCPSTREAM),Snort可以對TCP包進行重組。Snort能夠?qū)P包的內(nèi)容進行匹配
21、,但是對于TCP攻擊,如果攻擊者使用一個程序,每次發(fā)送只有一個字節(jié)的數(shù)據(jù)包,完全可以避開Snort的模式匹配。而被攻擊的主機的TCP西醫(yī)棧會重組這些數(shù)據(jù),將其發(fā)送給目標端口上監(jiān)聽的進程,從而使攻擊包逃過Snort的監(jiān)視。使用TCP流插件,可以對TCP包進行緩沖,然后進行匹配,使Snort具備對付上面攻擊的能力。</p><p> ⑥使用Spade(Statistical Packet Anomaly Detec
22、tion Engine)插件,Snort能夠報告非正常的可以包,從而對端口掃描進行有效的檢測。</p><p> ?、逽nort還有很強的系統(tǒng)防護能力。如:是用其IPTables,IPFilter插件可以使入侵檢測主機與防火墻聯(lián)動,通過FlexResp功能,Snort能夠命令防火墻主動短開惡意連接。</p><p> ⑧擴展性能較好,對于新的攻擊威脅反應(yīng)迅速。</p>&l
23、t;p> 作為一個輕量級的網(wǎng)絡(luò)入侵檢測系統(tǒng),Snort有足夠的擴展能力。它使用一種簡單的規(guī)則描述語言(很多商用入侵檢測系統(tǒng)都兼容Snort的規(guī)則語言)。最基本的規(guī)則知識包含四個域:處理動作,協(xié)議,方向,端口。</p><p> 例如 Log Tcp Any any -> 10.1.1.0/24 80(誰都看得明白)</p><p> ⑨Snort支持插件,可以使用具有特定
24、功能的報告,檢測子系統(tǒng)插件對其功能進行擴展。Snort當前支持的插件包括:數(shù)據(jù)庫日志輸出插件,破碎數(shù)據(jù)包檢測插件,斷口掃描檢測插件,HTTP URI插件,XML網(wǎng)頁生成等插件。</p><p> ?、釹nort的規(guī)則語言非常簡單,能夠?qū)π碌木W(wǎng)絡(luò)攻擊做出很快的反應(yīng)。發(fā)現(xiàn)新攻擊后,可以很快地根據(jù)Bugtrag郵件列表,找到特征碼,寫出新的規(guī)則文件。</p><p> ?。?)Snort的工作模
25、式</p><p> Snort有三種工作模式:嗅探器、數(shù)據(jù)包記錄器、網(wǎng)絡(luò)入侵檢測系統(tǒng)。嗅探器模式僅僅是從網(wǎng)絡(luò)上讀取數(shù)據(jù)包并作為連續(xù)不斷的流顯示在終端上。數(shù)據(jù)包記錄器模式把數(shù)據(jù)包記錄到硬盤上。網(wǎng)路入侵檢測模式是最復雜的,而且是可配置的。我們可以讓snort分析網(wǎng)絡(luò)數(shù)據(jù)流以匹配用戶定義的一些規(guī)則,并根據(jù)檢測結(jié)果采取一定的動作。</p><p> (3)Snort系統(tǒng)工作原理 </p
26、><p> Snort作為一個基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)(NIDS),在基于共享網(wǎng)絡(luò)上檢測原始的網(wǎng)絡(luò)傳輸數(shù)據(jù),通過分析捕獲的數(shù)據(jù)包,匹配入侵行為的特征或者從網(wǎng)絡(luò)活動的角度檢測異常行為,進而采取入侵的告警或記錄。從檢測模式而言,Snort屬于是誤用檢測,即對已知攻擊的特征模式進行匹配。從本質(zhì)上來說,Snort是基于規(guī)則檢測的入侵檢測工具,即針對每一種入侵行為,都提煉出它的特征值并按照規(guī)范寫成檢驗規(guī)則,從而形成一個規(guī)則數(shù)據(jù)
27、庫。其次將捕獲得數(shù)據(jù)包按照規(guī)則庫逐一匹配,若匹配成功,則認為該入侵行為成立。</p><p> 入侵行為主要是指對系統(tǒng)資源的非授權(quán)使用,可以造成系統(tǒng)數(shù)據(jù)的丟失和破壞、系統(tǒng)拒絕服務(wù)等危害。對于入侵檢測而言的網(wǎng)絡(luò)攻擊可以分為4類:</p><p> ?、贆z查單IP包(包括TCP、UDP)首部即可發(fā)覺的攻擊,如winnuke、ping of death、land.c、部分OS detectio
28、n、source routing等。</p><p> ?、跈z查單IP包,但同時要檢查數(shù)據(jù)段信息才能發(fā)覺的攻擊,如利用CGI漏洞,緩存溢出攻擊等。</p><p> ?、弁ㄟ^檢測發(fā)生頻率才能發(fā)覺的攻擊,如端口掃描、SYN Flood、smurf攻擊等。</p><p> ?、芾梅制M行的攻擊,如teadrop,nestea,jolt等。此類攻擊利用了分片組裝算法的
29、種種漏洞。若要檢查此類攻擊,必須提前(在IP層接受或轉(zhuǎn)發(fā)時,而不是在向上層發(fā)送時)作組裝嘗試。分片不僅可用來攻擊,還可用來逃避未對分片進行組裝嘗試的入侵檢測系統(tǒng)的檢測。</p><p> 入侵檢測通過對計算機網(wǎng)絡(luò)或計算機系統(tǒng)中的若干關(guān)鍵點收集信息并進行分析,從中發(fā)現(xiàn)網(wǎng)絡(luò)或系統(tǒng)中是否有違反安全策略的行為和被攻擊的跡象。進行入侵檢測的軟件與硬件的組合就是入侵檢測系統(tǒng)。</p><p> 入
30、侵檢測系統(tǒng)執(zhí)行的主要任務(wù)包括:監(jiān)視、分析用戶及系統(tǒng)活動;審計系統(tǒng)構(gòu)造和弱點;識別、反映已知進攻的活動模式,向相關(guān)人士報警;統(tǒng)計分析異常行為模式;評估重要系統(tǒng)和數(shù)據(jù)文件的完整性;審計、跟蹤管理操作系統(tǒng),識別用戶違反安全策略的行為。入侵檢測一般分為3個步驟,依次為信息收集、數(shù)據(jù)分析、響應(yīng)(被動響應(yīng)和主動響應(yīng))。</p><p> 信息收集的內(nèi)容包括系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)及用戶活動的狀態(tài)和行為。入侵檢測利用的信息一般來自系
31、統(tǒng)日志、目錄以及文件中的異常改變、程序執(zhí)行中的異常行為及物理形式的入侵信息4個方面。</p><p> 數(shù)據(jù)分析是入侵檢測的核心。它首先構(gòu)建分析器,把收集到的信息經(jīng)過預處理,建立一個行為分析引擎或模型,然后向模型中植入時間數(shù)據(jù),在知識庫中保存植入數(shù)據(jù)的模型。數(shù)據(jù)分析一般通過模式匹配、統(tǒng)計分析和完整性分析3種手段進行。前兩種方法用于實時入侵檢測,而完整性分析則用于事后分析??捎?種統(tǒng)計模型進行數(shù)據(jù)分析:操作模型、
32、方差、多元模型、馬爾柯夫過程模型、時間序列分析。統(tǒng)計分析的最大優(yōu)點是可以學習用戶的使用習慣。</p><p> 入侵檢測系統(tǒng)在發(fā)現(xiàn)入侵后會及時作出響應(yīng),包括切斷網(wǎng)絡(luò)連接、記錄事件和報警等。響應(yīng)一般分為主動響應(yīng)(阻止攻擊或影響進而改變攻擊的進程)和被動響應(yīng)(報告和記錄所檢測出的問題)兩種類型。主動響應(yīng)由用戶驅(qū)動或系統(tǒng)本身自動執(zhí)行,可對入侵者采取行動(如斷開連接)、修正系統(tǒng)環(huán)境或收集有用信息;被動響應(yīng)則包括告警和通
33、知、簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)陷阱和插件等。另外,還可以按策略配置響應(yīng),可分別采取立即、緊急、適時、本地的長期和全局的長期等行動。</p><p> ?。?)Snort規(guī)則</p><p> Snort是基于規(guī)則的模式匹配的,這種體系結(jié)構(gòu)非常靈活,用戶可以到http://www.snort.org/dl/signatures/下載最新的規(guī)則,在snort.org上幾乎每幾天就會有新的規(guī)
34、則被更新,同時用戶也可以自己書寫新的規(guī)則,Snort規(guī)則文件是一個ASCII文本文件,可以用常用的文本編輯器對其進行編輯。規(guī)則文件的內(nèi)容由以 下幾部分組成:</p><p> 變量定義:在這里定義的變量可以在創(chuàng)建Snort規(guī)則時使用。</p><p> Snort規(guī)則:在入侵檢測時起作用的規(guī)則,這些規(guī)則應(yīng)包括了總體的入侵檢測策略。</p><p> 預處理器:
35、即插件,用來擴展Snort的功能。如用portscan來檢測端口掃描。</p><p> 包含文件Include Files:可以包括其它Snort規(guī)則文件。</p><p> 輸出模塊:Snort管理員通過它來指定記錄日志和警告的輸出。當Snort調(diào)用告警及日志子系統(tǒng)時會執(zhí)行輸出模塊。</p><p> 規(guī)則具體的書寫不再做說明,如果想想進行更進一步了解可以
36、到snort.org的文檔中心去下載snort的官方文檔《Snort Users Manual》中的Writing Snort Rules章節(jié)(其鏈接是http://www.snort.org/docs/writing_rules/chap2.html#tth_chAp2)。</p><p> ?。?)snort的體系結(jié)構(gòu)</p><p> 圖B snort的體系結(jié)構(gòu)</p&g
37、t;<p> 總之,對于世界上各安全組織來講,Snort入侵檢測都是一個優(yōu)秀入侵檢測系統(tǒng)的一個標準的標準。通過研究它,我們可以學到到所有入侵檢測系統(tǒng)的內(nèi)部框架及工作流程(也包括同類型的商業(yè)入侵檢測系統(tǒng)的框架及工作流程)。Snort系統(tǒng)是一個以開放源代碼的形式發(fā)行的網(wǎng)絡(luò)入侵檢測系統(tǒng),由Martin Roesch編寫,并由遍布在世界各地的眾多程序員共同維護和升級。Snort運行在Libpcap庫函數(shù)的基礎(chǔ)之上,系統(tǒng)代碼遵循G
38、NU/GPL協(xié)議。它是一個輕量級的網(wǎng)絡(luò)入侵檢測系統(tǒng)。這里所謂的輕量級是指在檢測時盡可能低地影響網(wǎng)絡(luò)的正常操作,一個優(yōu)秀的輕量級的網(wǎng)絡(luò)入侵檢測系統(tǒng)應(yīng)該具備跨系統(tǒng)平臺操作,對系統(tǒng)影響最小等特征,并且管理員能夠在短時間內(nèi)通過修改配置進行實時的安全響應(yīng),更為重要的是能夠成為整體安全結(jié)構(gòu)的重要成員。Snort作為網(wǎng)絡(luò)入侵檢測系統(tǒng)中的典型范例,首先它可以運行在多種操作系統(tǒng)平臺之上,例如UNIX系列和Windows (需要 1ibpcap for w
39、in32--Winpcap的支持),與很多商業(yè)產(chǎn)品相比,它對操作系統(tǒng)的依賴性比較低。其次用戶可以根據(jù)自己的需要及時在短時間內(nèi)調(diào)整檢測策略。就檢測攻擊的</p><p><b> 三、課程設(shè)計任務(wù)</b></p><p> 1、Windows環(huán)境下安裝和配置snort</p><p> ?。?)安裝Snort和Wincap包</p>
40、;<p> 1)Snort的安裝:</p><p> 圖1 snort安裝協(xié)議</p><p> 圖2 snort 的安裝選項</p><p> 圖3 snort的安裝組件</p><p> 圖4 snort的安裝路徑</p><p> 圖5 Snort安裝成功</p>
41、<p> 2)Winpcap的安裝:</p><p> 圖6 Winpcap 的安裝界面</p><p> 圖7 Winpcap安裝過程</p><p> 圖8 Winpcap安裝成功</p><p><b> 2.AppServ</b></p><p> ?。?)Ap
42、pServ的安裝:</p><p> 圖9 AppServ安裝初始界面</p><p> 圖10 AppServ安裝協(xié)議圖</p><p> 圖11 AppServ安裝路徑圖</p><p> 啟動AppServ安裝文件后,出現(xiàn)如圖所示的設(shè)置服務(wù)器信息界面:</p><p> 在Server Name中
43、輸入域名localhost;</p><p> Administrator's Email Address 中輸入郵箱地址:694046703@qq.com;</p><p> 監(jiān)聽端口設(shè)為8080,如下圖:</p><p> 圖12 設(shè)置服務(wù)器信息界面</p><p> 點擊next,進入下一界面:</p>
44、<p> 在出現(xiàn)的界面中輸入密碼(lwh),如下圖:</p><p> 圖13 安裝MySQL Server Collations</p><p> 然后單擊"Install",進入安裝過程,如下圖:</p><p> 圖14 AppServer 的安裝過程圖</p><p> 圖15 AppS
45、erver 完成安裝</p><p> 安裝完成后將C:\Appserv\php5目錄下的php.ini-dist 文件改名為php.Ini,如下圖:</p><p> 修改前 修改后</p><p> 圖16 修改前、后比較</p><p> 并啟動Apache和MySql如下:</p>&l
46、t;p> ?。刂泼姘濉芾怼?wù) 確保Apache和MySql已啟動)</p><p> 安裝完成后可以查看(MySQL啟動如下圖)</p><p> 圖17 MySQL成功啟動</p><p> 在瀏覽器中輸入http://localhost :8080 出現(xiàn)如下界面:</p><p> 界面1 表示安裝成功!<
47、/p><p> ?。?)測試AppServ</p><p> 首先查看"控制面板"/"管理"/"服務(wù)",確保Apache和MySQL已經(jīng)啟動如下:</p><p> 然后,在瀏覽器中輸入http://localhost :8080/phpinfo.php出現(xiàn)如下界面:</p><p>
48、; 界面2 Apache2.2安裝成功</p><p> 通過此界面可以了解php的一些信息。</p><p> 最后打開瀏覽器,輸入http://localhost :8080/phpMyAdmin/index.php,輸入用戶名root和密碼</p><p><b> 可以瀏覽數(shù)據(jù)庫內(nèi)容</b></p><p&
49、gt;<b> 圖18 登陸界面</b></p><p> 圖19 信息查看界面</p><p> ?。?)配置AppServ</p><p> 第一步,編輯Apache服務(wù)器配置文件。打開Apache2.2\conf文件中的httpd.conf,檢查相應(yīng)的一些值。</p><p> 圖20 編輯配置文件
50、 </p><p> 圖21 查看httpd.conf相應(yīng)值</p><p> 第二步,編輯phpMyAdmin中的關(guān)鍵文件。</p><p> 圖22 編輯phpMyAdmin中的關(guān)鍵文件</p><p> 打開C:\AppServ\www\phpMyAdmin\libraries目錄下的config.default.php文件
51、,并修改相關(guān)信息如下所示:</p><p> 搜索cfg['PmaAbsoluteUri'],設(shè)置phpMyAdmin的URL, cfg['PmaAbsoluteUri']='http://localhost:8080/phpmyadmin/'</p><p> 搜索cfg['blowfish_secret'],設(shè)定好ro
52、ot密碼后,這里也要填寫,如root的密碼lwh,則設(shè)置cfg['blowfish_secret)']=‘lwh’。 </p><p> 搜索cfg['DefaultLang'],將其設(shè)置為zh-gb2312;</p><p> 搜索$cfg['Servers'][$i]['auth_type'],默認的config是不安
53、全的,推薦使用cook-ie,將其設(shè)置為cfg['Servers']['i']['auth_type']='cookie'。</p><p> 搜索cfg['DefaultCharset'],將其設(shè)置為gb2312。</p><p> 第三步,為安全起見,還必須刪除Mysql安裝后默認的any@%、any@
54、localhost和root@%帳號。</p><p> 圖23 刪除默認賬號</p><p><b> 圖24 成功刪除</b></p><p> delete from db where user='' and host='%';# MySQL 返回的查詢結(jié)果為空(即零行)。</p>
55、<p> delete from tables_priv where user='' and host='%';# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> delete from columns_priv where user='' and host='%';# MySQL 返回的查詢結(jié)果為空(即零行)。</
56、p><p> delete from user where user='' and host='localhost';# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> delete from db where user='' and host='localhost';# MySQL 返回的查詢結(jié)果為空(即零行)
57、。</p><p> delete from tables_priv where user='' and host='localhost';# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> delete from columns_priv where user='' and host='localhost'
58、;# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> delete from user where user='root' and host='%';# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> delete from db where user='root' and 'host'=
59、9;%';# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> delete from tables_priv where user='root' and host='%';# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> delete from columns_priv where user='root
60、9; and 'host'='%';# MySQL 返回的查詢結(jié)果為空(即零行)。</p><p> 圖24 刪除SQL語句的執(zhí)行</p><p> 第四步,配置php.ini。打開C:\WINDOWS|php.ini文件。修改后的值如下圖:</p><p> 第五步,首先需要建立Snort運行必需的Snort 庫和Snort
61、_archive庫如下圖:</p><p> 圖25 Snort 庫和Snort_archive庫的建立</p><p> 其次,對Mysql進行修改。</p><p> 圖26 編輯Mysql</p><p><b> 圖27 查詢表</b></p><p><b>
62、圖28 創(chuàng)建表</b></p><p> 第六步,使用C:\Snort\schemas目錄下的create_MySQL腳本建立Snort運行必需的數(shù)據(jù)表。在此,可以通過MySQL提示符下運行SQL語句show tables來檢驗配置的正確性</p><p> 其中c:\Snort為Snort的安裝目錄,打開命令提示符,運行以下命令:</p><p>
63、; mysql -D Snort -u root -p < c:\Snort\schemas\create_mysql</p><p> mysql -D Snort_archive -u root -p < c:\Snort\schemas\create_Mysql</p><p> 每次提示輸入root的密碼,輸入密碼即可建立所需要的表。</p><
64、;p> 圖29 MySQL腳本建立Snort數(shù)據(jù)表</p><p> 通過MySQL提示符下運行SQL語句如下圖:</p><p> 圖30 SQL語句運行</p><p> show tables來檢驗配置的正確性如下圖:</p><p> 圖31 show tables來檢驗配置的正確性</p><
65、;p> 第七步,必須在Appache服務(wù)器主機上建立ACID和Snort用戶,并且設(shè)置權(quán)限和密碼</p><p> (主要是根據(jù)課本步驟修改代碼)</p><p><b> 代碼:</b></p><p> mysql> grant usage on *.* to "acid"@"localho
66、st" identified by "acidtest";</p><p> mysql> grant usage on *.* to "snort"@"localhost" identified by "snorttest";</p><p> mysql> grant select
67、,insert,update,delete,create on *.* to "snort"@"localhost" id</p><p> entified by "snorttest";</p><p> mysql> grant select,insert,update,delete,create,alter on
68、 snort. * to "acid"@"loc</p><p><b> alhost";</b></p><p> mysql> grant select,insert on snort. * to "snort"@"localhost";</p><p&
69、gt; mysql> grant select,insert,update,delete,create,alter on snort_archive. * to "a</p><p> cid"@"localhost";</p><p> mysql> set password for "snort"@&quo
70、t;locahost"=password('lwh');</p><p> mysql> set password for "acid"@"locahost"=password('lwh');</p><p> 圖32 Appache服務(wù)器主機上建立ACID和Snort用戶</p>
71、<p> 設(shè)置權(quán)限和密碼如下:</p><p> 圖33 更新acid權(quán)限</p><p> 圖34 更新snort權(quán)限</p><p><b> 設(shè)置結(jié)果如圖所示:</b></p><p><b> 圖35 設(shè)置完成</b></p><p>
72、(3)安裝Adodb,jpGraph和ACID</p><p> 移動文件adodb jpgraph acid 得到: </p><p> Adodb生成目錄:C:\AppServ\php5\adodb</p><p> 圖36 Adodb生成目錄</p><p> jpgraph生成目錄:C:\AppServ\php5\jp
73、graph</p><p> 圖37 jpgraph生成目錄:</p><p> acid 生成目錄:C:\AppServ\www\acid</p><p> 圖38 acid 生成目錄</p><p> 修改C:\AppServ\www\acid中的 acid-conf.php文件</p><p> $
74、DBlib_path = "C:\AppServ\php5\adodb";</p><p> $alert_dbname = "snort";</p><p> $alert_host = "localhost";</p><p> $alert_port = "3306
75、";</p><p> $alert_user = "acid";</p><p> $alert_password = "123";</p><p> $archive_dbname = "snort_archive";</p><p> $archi
76、ve_host = "localhost";</p><p> $archive_port = "";</p><p> $archive_user = "acid";</p><p> $archive_password = "123";</p>
77、;<p> $ChartLib_path = "C:\AppServ\php5\jpggraph\src";</p><p> 在mysql命令端輸入如下命令并回車,出現(xiàn)如下所示,表明運行成功:</p><p> 圖39 mysql命令運行</p><p> 最后在瀏覽器中輸入http://localhost :8080
78、/acid/acid-db-setup.php 出現(xiàn)如下界面:</p><p> 圖40 acid安裝成功</p><p> ?。?)配置snort</p><p> 修改C:\snort\etc\snort.conf 主要改絕對路徑如下:</p><p><b> 圖41 修改前</b></p>
79、<p><b> 圖42 修改后</b></p><p> 然后還需要修改引用路徑:</p><p> dynamicpreprocessor directory C:/snort/lib/snort_dynamicpreprocessor/</p><p> dynamicengine C:/snort/lib/sno
80、rt_dynamicengine/libsf_engine.dll</p><p> 圖43 引用路徑修改</p><p> 設(shè)置snort 輸出alert 到mysql server</p><p> 1>把“# var HOME_NET 10.1.1.0/24”改成“var HOME_NET 192.168.0.4/24”你自己LAN內(nèi)的地址,把前
81、面的#號去掉。</p><p> 2>把“var RULE_PATH ../rules”改成“var RULE_PATH /etc/snort”</p><p> 3>把“# output database: log, mysql, user=root password=test dbname=db host=localhost”改成“output database: lo
82、g, mysql, user=root password=123 dbname=snort host=localhost”把前面的#號去掉。</p><p> 4>把“# include $RULE_PATH/web-attacks.rules</p><p> # include $RULE_PATH/backdoor.rules</p><p> #
83、 include $RULE_PATH/shellcode.rules</p><p> # include $RULE_PATH/policy.rules</p><p> # include $RULE_PATH/porn.rule</p><p> s# include $RULE_PATH/info.rules</p><p>
84、 # include $RULE_PATH/icmp-info.rulesinclude $RULE_PATH/virus.rules</p><p> # include $RULE_PATH/chat.rules# include $RULE_PATH/multimedia.rules</p><p> # include $RULE_PATH/p2p.rules”前面的#號刪除
85、。</p><p> 修改完畢后,保存退出。</p><p> 圖44設(shè)置snort 輸出alert 到mysql server</p><p><b> ?。?)、系統(tǒng)測試</b></p><p> 1)、phpMyAdmin測試</p><p> Snort系統(tǒng)全部安裝完以后,用戶將可
86、以使用root、acid、snort3個賬戶ID登錄phpMyAdmin。這3個用戶能否順利登陸關(guān)系到整個snort系統(tǒng)能否順利運行,因此必須進行檢測。登陸時先后輸入3個用戶名和密碼,如下圖:</p><p><b> 圖45 登陸界面</b></p><p> 如果用戶不慎忘記數(shù)據(jù)庫acid密碼,可以通過程序組中的AppServ組內(nèi)的重置密碼命令恢復acid的
87、密碼,如下圖:</p><p> 界面3 phpMyAdmin重置密碼</p><p> 界面4 phpMyAdmin重置密碼</p><p><b> 2)命令行界面測試</b></p><p> 重新啟動snort后,用戶可以使用如下命令測試snort是否正常工作:C:\snort\bin>snor
88、t -c"C:\snort\etc\snort.cong" -l "C:\snort\log" -d -e -X如果看到“小豬”,就標志著snort已經(jīng)正常啟動了。</p><p> 圖46 命令行界面測試</p><p> 然后用另外一臺主機ping 本機,snort 即可監(jiān)控到如下圖的情況:snort成功捕捉數(shù)據(jù)包。</p>
89、<p> 圖47 用另一臺主機ping本機</p><p> 圖48 snort成功捕捉數(shù)據(jù)包</p><p> 3)Windows下Snort的使用</p><p> IDScenter是一款Windows平臺下基于Snort的界面工具。它雖然簡化了Snort的的使用,但我們?nèi)匀槐仨氄莆誗nort和網(wǎng)絡(luò)的相關(guān)知識。他不但具有省去了敲代碼的繁瑣
90、工作,而且提供了管理功能。主要特點有:①支持Snort的2.0,1.9,1.8,1.7。②支持Snort服務(wù)模式。③Snort配置向?qū)?包括設(shè)置Snort變量,配置預處理插件,輸出插件,指定規(guī)則集。④規(guī)則編輯器,支持Snort2.0的所有規(guī)則選項,還可以從文件和web站點導入現(xiàn)存的規(guī)則集⑤監(jiān)視,允許監(jiān)視多達10報警文件和MySQL數(shù)據(jù)庫信息。⑥日志回收功能,允許根據(jù)指定的時間表壓縮和備份日志文件。⑦集成的日志查看器,可查看文件日志,XM
91、L日志和HTML日志。</p><p> 安裝snort界面工具IDScenter</p><p><b> 四 、設(shè)計總結(jié)</b></p><p> snort已日益成為入侵檢測產(chǎn)品市場上不可或缺的一分子,同時,它也是目前安全領(lǐng)域中最活躍的開放源碼工程之一。Snort的開發(fā)者Martin Roesch說:“入侵與反入侵猶如軍備競賽,新
92、的入侵手段的出現(xiàn)是一種正常現(xiàn)象。”,同樣對于網(wǎng)絡(luò)安全工作者來說也沒有一勞永逸的事情,密切跟蹤分析國際上入侵技術(shù)的發(fā)展,不斷獲得最新的攻擊方法,通過分析這些已知的攻擊方法,豐富現(xiàn)有的入侵檢測系統(tǒng)的檢測能力,已成為每個網(wǎng)絡(luò)安全工作者必須完成的任務(wù)。經(jīng)過兩個多星期的努力,Snort系統(tǒng)作為入侵檢測的軟件運用Snort掃描終于完成在整個設(shè)計過程中,出現(xiàn)過很多的難題,但都在老師和同學的幫助下順利解決了,在不斷的學習過程中我體會到:做課程設(shè)計是一個
93、不斷學習的過程,從最初的模糊認識到最后能夠?qū)υ搯栴}有深刻的認識,我體會到實踐對于學習的重要性,以前只是明白理論,沒有經(jīng)過實踐考察,對知識的理解不夠明確,通過這次的論文,真正做到理論與實踐相結(jié)合。總之,通過這次課程設(shè)計,我深刻體會到要做好一個完整的事情,需要有系統(tǒng)的思維方式和方法,對待要解決的問題,要耐心、要善于運用已有的資源來充實自己。同時我也深刻的認識到,在對待一個新事</p><p><b> 五
94、、參考文獻</b></p><p> [1] Martin Roesch Snort —Lightweight Intrusion Detection for Networks:Snort.org</p><p> [2] Steven J. Scott Snort Install Manual—Snort,MySQL,Redhat7.2</p><p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 入侵檢測課程設(shè)計--snort入侵檢測系統(tǒng)
- 基于snort入侵檢測系統(tǒng)的研究.pdf
- 基于SNORT入侵檢測系統(tǒng)的算法研究.pdf
- 基于snort的入侵檢測系統(tǒng)的研究與設(shè)計.pdf
- 基于Snort的入侵檢測系統(tǒng)研究.pdf
- 基于Snort的Web入侵檢測系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于snort的入侵檢測系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于Snort的入侵檢測系統(tǒng)的設(shè)計和實現(xiàn).pdf
- 基于Snort的入侵檢測應(yīng)用系統(tǒng)設(shè)計與實施.pdf
- 基于Snort的入侵檢測系統(tǒng)研究與設(shè)計.pdf
- 基于Snort高速入侵檢測系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于Snort的分布式入侵檢測系統(tǒng).pdf
- 基于Snort網(wǎng)絡(luò)入侵檢測系統(tǒng)研究.pdf
- 基于Snort入侵檢測引擎的研究與設(shè)計.pdf
- 基于Snort入侵檢測系統(tǒng)的改進系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于數(shù)據(jù)挖掘的Snort入侵檢測系統(tǒng)的研究.pdf
- 基于Snort的入侵檢測系統(tǒng)的研究與實現(xiàn).pdf
- 基于Snort的入侵檢測系統(tǒng)的分析與改進.pdf
- 基于SNORT的入侵檢測系統(tǒng)的研究與應(yīng)用.pdf
- 基于snort的入侵檢測系統(tǒng)的分析和改進.pdf
評論
0/150
提交評論