• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      使用Snort構(gòu)建基于Linux的入侵檢測(cè)系統(tǒng)

      2006-12-29 00:00:00謝冬松


        一個(gè)穩(wěn)定、安全、高效的網(wǎng)絡(luò)環(huán)境,不僅需要有防火墻系統(tǒng)、身份驗(yàn)證、加密傳輸?shù)葌鹘y(tǒng)安保措施,也需要構(gòu)建入侵檢測(cè)系統(tǒng)IDS(Intrusion Detection System)進(jìn)行主動(dòng)性的偵知。目前,主機(jī)采用Linux承載平臺(tái)運(yùn)行Snort系統(tǒng),不愧為中小學(xué)校閱網(wǎng)搭建網(wǎng)絡(luò)IDS的理想解決方案。Snort是由Martin Roesch開發(fā)的,基于模式發(fā)現(xiàn)技術(shù)的IDS系統(tǒng)。它假定所有入侵行為(或手段)都具有特定的模式或特征,因此只要將相關(guān)入侵行為的特征寫入其檢測(cè)規(guī)則庫(kù),就可以用匹配的方法發(fā)現(xiàn)。Snort的優(yōu)點(diǎn)在于它是遵循公共許可證GPL的免費(fèi)軟件,且具有安裝配置簡(jiǎn)便、擴(kuò)展性好、誤報(bào)少、反應(yīng)迅速、可跨多種平臺(tái)運(yùn)行等優(yōu)點(diǎn)。
        
        一、Snort系統(tǒng)的工作流程與體系結(jié)構(gòu)
        
        Snort占用系統(tǒng)資源很少,可以長(zhǎng)時(shí)間穩(wěn)定運(yùn)行。因此,應(yīng)選用基于Linux系統(tǒng)的主機(jī)作為Snort的承載平臺(tái)。因?yàn)長(zhǎng)inux系統(tǒng)提供了穩(wěn)定,高效的網(wǎng)絡(luò)服務(wù)支持,內(nèi)置TCP/IP協(xié)議,它是真正意義上的多任務(wù)、多用戶操作系統(tǒng)。Linux還具有兼容IEEEPOSIX標(biāo)準(zhǔn),支持?jǐn)?shù)十種文件系統(tǒng)格式,采用先進(jìn)的內(nèi)存管理機(jī)制等優(yōu)點(diǎn),它的安全性和穩(wěn)定性優(yōu)于Windows網(wǎng)絡(luò)系統(tǒng)。無(wú)論從執(zhí)行效率還是經(jīng)濟(jì)角度考慮都是較適宜的選擇。
        基于SnorL的IDS系統(tǒng)工作流程如右圖所示:
        
        1.加載檢測(cè)規(guī)則,調(diào)用Libpcap庫(kù)函數(shù)采集數(shù)據(jù),該庫(kù)函數(shù)可以為應(yīng)用程序提供直接從鏈路層捕獲數(shù)據(jù)包的接口函數(shù),并可以設(shè)置數(shù)據(jù)包的過濾器,來(lái)捕獲指定的數(shù)據(jù)。
        2.解碼抓取來(lái)的數(shù)據(jù)包,按照TCP/IP協(xié)議的不同層次將數(shù)據(jù)包進(jìn)行解析,為Snort檢測(cè)引擎準(zhǔn)備數(shù)據(jù)。
        3.根據(jù)加載的規(guī)則依次掃描每個(gè)數(shù)據(jù)包,一旦包內(nèi)的數(shù)據(jù)和檢測(cè)規(guī)則產(chǎn)生匹配,則根據(jù)規(guī)則中的處理策略對(duì)其進(jìn)行處理,不產(chǎn)生規(guī)則匹配的數(shù)據(jù)包被視為正常包而忽略。(Snort對(duì)每個(gè)被檢測(cè)的數(shù)據(jù)包都定義了三種處理方式:報(bào)警alert、記錄log和忽略pass)。
        4.產(chǎn)生告警并記錄日志。在缺省安裝配置下,系統(tǒng)日志將寫入/Var/log/Snort目錄中。告警文什寫入/Var/log/Snort/alert目錄中。
        
        二、Snort檢測(cè)原理分析
        
        為了能夠快速檢測(cè)IP網(wǎng)絡(luò)數(shù)據(jù)包,對(duì)檢測(cè)到的可疑情況做出迅速反應(yīng),Snort將規(guī)則描述為規(guī)則鏈表結(jié)構(gòu),鏈表由表頭(包含源端、目的端IP地址、協(xié)議、連接端口號(hào))和鏈表選項(xiàng)(包含如TCP標(biāo)志位、ICMP代碼,有效負(fù)載大小,規(guī)則內(nèi)容)組成。這樣通過依次過濾Snort規(guī)則庫(kù)中定義的規(guī)則,Snort分析每個(gè)數(shù)據(jù)包,一旦發(fā)現(xiàn)與規(guī)則特征產(chǎn)生匹配的數(shù)據(jù)包則根據(jù)預(yù)先定義的方式處理(告警或記錄),否則忽略當(dāng)前分析的數(shù)據(jù)包,轉(zhuǎn)向下一個(gè)繼續(xù)分析。
        Snort廣泛支持各種分析和規(guī)則匹配,目前能支持的協(xié)議類型有TCP協(xié)議、UDP協(xié)議、IPX協(xié)議,ICMP等協(xié)議。隨著系統(tǒng)軟件版本的不斷改進(jìn),Snort可進(jìn)行檢測(cè)的協(xié)議種類將不斷豐富。需要注意的是,當(dāng)剛開始使用Snort時(shí),網(wǎng)絡(luò)管理人員常常不能將檢測(cè)規(guī)則描述得比較完善,此時(shí)可以從Snort的站點(diǎn)(WWW.Snort.org)上下載現(xiàn)成的規(guī)則庫(kù),再根據(jù)本單位特有的網(wǎng)絡(luò)情況,單獨(dú)定義若干規(guī)則向其中添加即可。
        Snotrt規(guī)則的總體格式分四部分,即為處理動(dòng)作、協(xié)議類型、數(shù)據(jù)流向、檢測(cè)端口。例:記錄來(lái)自任何端口的,目標(biāo)端口范圍在1~1024的UDP數(shù)據(jù)流,描述為:log udp any any—>192.168.1.0/24 1:1024。
        
        三、Snort系統(tǒng)的安裝與運(yùn)行
        
        Snort對(duì)計(jì)算機(jī)系統(tǒng)軟,硬件環(huán)境的要求不高,由于要求長(zhǎng)期在線,有條件的推薦使用專用服務(wù)器(處理器相當(dāng)于PⅢ及以上配置皆可)運(yùn)行。系統(tǒng)軟件方面,應(yīng)用比較普遍的微軟的Windows 2000Server系列或Linux等網(wǎng)絡(luò)操作系統(tǒng)都可以安裝運(yùn)行Snort。這里將以Linux系統(tǒng)為例介紹,步驟如下:
        可以從Snort的站點(diǎn)獲得其源代碼或者RPM包。使用源代碼安裝Snort需要1ibpcap庫(kù),可以從ftp://ftp.ee.1b1.gov下載安裝。
        
        1.安裝RPM包
        可以使用下面的命令:(注:1.7為Snort版本號(hào))bash#rpm-Ihv--nodeps Snort-1.7-1.i386.rpm開始解壓規(guī)則庫(kù)libpcap包:bash#uncompress libpcap.tar.Zbash#tar xvf libpcap.tar第三步編譯libpcap庫(kù):bash#./configurebash#make解壓Snort—1.7.0.tar.gz:
        bash#tar zxvf Snort-1.7.0.tar.gz
        進(jìn)入到其所在目錄,編譯Snort:
        bash#./configure——with-libpcap-includes=/path/to/your/libcap/headers
        bash#make
        bash#make install
        configure腳本還有一些選項(xiàng):如with-mysql=DIR 支持mysql數(shù)據(jù)庫(kù)with-odbc=DIR 支持ODBC數(shù)據(jù)庫(kù)-enable-openssl 支持SSL
        可以根據(jù)自己的實(shí)際情況選擇這些選項(xiàng),全部設(shè)置完畢后從新引導(dǎo)系統(tǒng)。至此,Snort安裝完成。
        2.將Snort作為NIDS(網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng))的設(shè)置
        列出所有Snort選項(xiàng)命令開關(guān),鍵入bash#Snort-?,系統(tǒng)顯示Snort版本信息:
        -*Snortl<*-
        Version 1.7
        By Martin Roesch(roesch@clark.net,WWW.Snort.org)
        USAGE:Snort[-options]
        Options:(大小寫有別,這里只列出常用的參數(shù))
        -A(設(shè)置報(bào)警模式:fast、full、none只是使用報(bào)警文件)、unsock(使用Linux套接字記人日志,出于測(cè)試階段)
        -a顯示ARP(Address Resolution Protocol,地址解析協(xié)議)包
       ?。璪(日志文件使用tcpdump格式)
        -c(使用規(guī)則文件rules)
       ?。璬(復(fù)制應(yīng)用層)
       ?。璂(在后臺(tái)運(yùn)行Snort)
       ?。璭(顯示數(shù)據(jù)鏈路層包頭信息)
        -I(把界面名加入到報(bào)警輸出界面)
       ?。璉(設(shè)置目錄ld為日志目錄)
        -N(關(guān)閉日志功能,警報(bào)功能仍然有效)
       ?。璒(把規(guī)則測(cè)試順序改為:PassIAlertILog)
       ?。璼(把所有警告信息記人syslog)
        -u(初始化完成后,把Snort的uid設(shè)置為ne)
        -X(從鏈路層開始復(fù)制包的數(shù)據(jù))
        -?(顯示幫助信息)
        啟動(dòng)IDS模式,將Snort作為網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng):/Snort—dev-I./log-h(huán) 192.168.1.O/24-c Snort.
        Snort.conf是規(guī)則集文件。Snort會(huì)對(duì)整個(gè)包和規(guī)則集進(jìn)行匹配,發(fā)現(xiàn)這樣的包就采用取相應(yīng)的行動(dòng)。如果不指定輸出目錄,Snort就輸出到/Var/log/Snort目錄。lOg/Snort目錄。
        或鍵入:
       ?。疭nort-d-h 192.168.1.O/24-I./log-C Snort.conf
        這是使用Snort作為網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)基本形式。為省略影響系統(tǒng)長(zhǎng)期運(yùn)行的不必要功能開關(guān),日志記錄符合規(guī)則的包,以ASCII碼形式保存在層次日錄結(jié)構(gòu)中。Snort掃描數(shù)據(jù)流,將檢測(cè)到的與規(guī)則庫(kù)產(chǎn)生相應(yīng)匹配的信息輸出(告警),告警的配置方式較多,這里只給出簡(jiǎn)例:用戶可參考有關(guān)資料根據(jù)實(shí)際網(wǎng)絡(luò)環(huán)境自行設(shè)置。
        默認(rèn)方式的輸入配置Snort將報(bào)警發(fā)給syslog:
        /Snort-C Snort.conf-l./Iog-s-h(huán) 192.168.1.O/24大程度地避免可能遭受的攻擊和侵害,需要科技人員不斷總結(jié)和交流經(jīng)驗(yàn),努力改進(jìn)管理方法和手段,共同為建立一個(gè)安全、穩(wěn)定、高效的網(wǎng)絡(luò)運(yùn)行環(huán)境付出不懈的努力。
        
         參考文獻(xiàn)
        [1]Martin Roesch Snort -Lightweogjt IntrusionDetectio for Networks :Snort.org.
        [2]李洋.使用Snort搭建安全的Linux服務(wù)器[J].計(jì)算機(jī)世界。2005,

      金川县| 彝良县| 康定县| 安国市| 江西省| 志丹县| 云霄县| 环江| 水城县| 措勤县| 桃江县| 绵阳市| 三明市| 新蔡县| 沐川县| 宜兴市| 北票市| 图们市| 开化县| 兴隆县| 华宁县| 和田县| 富民县| 原平市| 南涧| 安达市| 无为县| 江源县| 兰坪| 贵港市| 江城| 浏阳市| 北川| 乐业县| 菏泽市| 潜江市| 从化市| 嘉鱼县| 呼伦贝尔市| 绍兴县| 大同市|