国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Snort的入侵檢測系統(tǒng)的研究

2008-07-14 10:05張治國秦國亮駱德全
電腦知識(shí)與技術(shù) 2008年18期

張治國 秦國亮 駱德全

摘要:隨著互聯(lián)網(wǎng)的不斷發(fā)展,入侵檢測系統(tǒng)已變成計(jì)算機(jī)網(wǎng)絡(luò)安全防范體系的重要組成部分之一。本文是在介紹了入侵檢測系統(tǒng)的基本原理的基礎(chǔ)上,從體系結(jié)構(gòu)、工作原理兩個(gè)方面分析了Snort入侵檢測系統(tǒng),并介紹了怎樣根據(jù)自己的網(wǎng)絡(luò)環(huán)境,編寫規(guī)則來保護(hù)網(wǎng)絡(luò)的安全。

關(guān)鍵詞:入侵檢測系統(tǒng);Snort;編寫規(guī)則

中圖分類號:TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號:1009-3044(2008)18-20ppp-0c

Research of Snort-based Intrusion Detection System

ZHANG Zhi-guo, QIN Guo-liang, LUO De-quan

(Computer school, Sichuan University, Chengdu 610065, China)

Abstract: With the development of Internet, IDS has become one important part of network security system. This paper analyzes IDS Snort in structure and working principle aspects, which based on introduction of basic principle of IDS, then we introduce how to create Snort rule to protect our network according to our network environment.

Key words: IDS; Snort; Writing rule

1 引言

互聯(lián)網(wǎng)的不斷發(fā)展,網(wǎng)上不斷增多的服務(wù)種類,使得網(wǎng)絡(luò)的安全問題變得越來越突出。要保證網(wǎng)絡(luò)的安全,首先要防范對網(wǎng)絡(luò)的攻擊行為,通常采用防火墻技術(shù)。但是,防火墻存在很多的缺陷。因此,通過使用入侵檢測系統(tǒng)來加強(qiáng)網(wǎng)絡(luò)的安全已變得很重要了。而Snort是一種開放的源代碼的入侵檢測工具,這使得基于Snort的入侵檢測系統(tǒng)應(yīng)用得很廣泛。本文就是在這些的基礎(chǔ)上,對基于Snort入侵檢測系統(tǒng)進(jìn)行了分析和研究。

2 入侵檢測系統(tǒng)

入侵檢測(Intrusion Detection,ID),是在有內(nèi)部非授權(quán)行為或外部攻擊行為時(shí),及時(shí)發(fā)現(xiàn)并進(jìn)行記錄和報(bào)告,以便有可能采取進(jìn)一步措施以保護(hù)網(wǎng)絡(luò)的技術(shù),把入侵檢測的軟件和硬件的組合便構(gòu)成了入侵檢測系統(tǒng)(Intrusion Detection System, IDS)。入侵檢測系統(tǒng)主要完成以下功能:監(jiān)視、分析用戶及系統(tǒng)活動(dòng);系統(tǒng)構(gòu)造和弱點(diǎn)的審計(jì);識(shí)別反映已知攻擊的活動(dòng)模式并向相關(guān)人士報(bào)警;異常行為模式的統(tǒng)計(jì)分析;評估重要系統(tǒng)和數(shù)據(jù)文件的完整性;操作系統(tǒng)的審計(jì)跟蹤管理,并為識(shí)別用戶違反安全策略的制定提供指南。其通用的模型如圖1。

圖1入侵檢測系統(tǒng)的通用模型

3 Snort入侵檢測系統(tǒng)的簡介

在市面上有很多的入侵檢測系統(tǒng),比如有ISS公司的Real Secure入侵檢測系統(tǒng)、NFR公司的NID入侵檢測系統(tǒng)、NAI公司的Cyber Cop Monitor入侵檢測系統(tǒng)、Cisco公司的Cisco Secure IDS入侵檢測系統(tǒng)等。但是這些商業(yè)軟件許多都是昂貴而龐大的系統(tǒng),而基于Snort的入侵檢測系統(tǒng)具有便于配置、功能強(qiáng)大、使用靈活等諸多優(yōu)點(diǎn),這使得基于Snort的入侵檢測系統(tǒng)使用得非常廣泛,在業(yè)內(nèi)被喻為“瑞士軍刀”。在這里我們主要介紹一下基于Snort的入侵檢測系統(tǒng)工作原理以及在網(wǎng)絡(luò)中應(yīng)用。

Snort是一個(gè)強(qiáng)大的輕量級的網(wǎng)絡(luò)入侵檢測系統(tǒng). 它是一個(gè)跨平臺(tái)、開放源代碼(Open Source)的免費(fèi)軟件,它運(yùn)行在Libpcap庫函數(shù)基礎(chǔ)上,并支持多種系統(tǒng)軟硬件平臺(tái),如RedHat Linux、Debian Linux、HP-UX、NetBSD以及MacOSX等。不僅能夠進(jìn)行協(xié)議分析、內(nèi)容檢索、內(nèi)容匹配,而且能夠用于檢測緩沖區(qū)溢出、隱蔽端口掃描、CGI攻擊、OS指紋識(shí)別等大量的攻擊和探測,Snort使用基于規(guī)則的匹配模式來檢測這些攻擊,并提供了模塊化的檢測引擎,從而使它能夠檢測出各種不同的攻擊方式,并對攻擊進(jìn)行實(shí)時(shí)報(bào)警。

4 Snort的體系結(jié)構(gòu)

Snort使用一種易于擴(kuò)展的模塊化體系結(jié)構(gòu),開發(fā)人員可以加入自己編寫的模塊來擴(kuò)展Snort的功能。Snort的體系結(jié)構(gòu)由四部分組成:數(shù)據(jù)包解碼器(嗅探器)、預(yù)處理器、檢測引擎、日志記錄與告警系統(tǒng),其體系結(jié)構(gòu)如圖2所示,首先Snort通過數(shù)據(jù)解碼器從網(wǎng)絡(luò)中捕獲數(shù)據(jù)包,然后交由預(yù)處理器進(jìn)行處理,然后從檢測引擎的所有規(guī)則鏈中進(jìn)行匹配,若匹配成功,則說明檢測到可疑數(shù)據(jù),通過告警日志子模塊進(jìn)行記錄,告警信息也可存入SQL數(shù)據(jù)庫中。

圖2Snort的體系結(jié)構(gòu)

5 Snort的工作流程

基于規(guī)則的匹配的是Snort的核心檢測機(jī)制,其工作流程為:Snort首先讀取規(guī)則文件,從規(guī)則文件中讀取每一條規(guī)則并對其進(jìn)行解析,用對應(yīng)的語法表示出來,然后在內(nèi)存中建立規(guī)則語法樹,并初始化和解析規(guī)則樹,分別生成TCP 、UDP 、ICM和IP四個(gè)不同的規(guī)則樹,每一個(gè)規(guī)則樹包含獨(dú)立的三維鏈表:RTN(規(guī)則頭),OTN(規(guī)則選項(xiàng))和指向匹配函數(shù)的指針。當(dāng)Snort捕獲一個(gè)數(shù)據(jù)包時(shí),首先分析該數(shù)據(jù)包使用哪個(gè)IP協(xié)議以決定將與某個(gè)規(guī)則樹進(jìn)行匹配;然后與RTN結(jié)點(diǎn)依次進(jìn)行匹配,當(dāng)與一個(gè)頭結(jié)點(diǎn)相匹配時(shí),向下與該頭結(jié)點(diǎn)的OT N結(jié)點(diǎn)進(jìn)行匹配。每個(gè)OT N結(jié)點(diǎn)包含一條規(guī)則所對應(yīng)的全部選項(xiàng),同時(shí)包含一組函數(shù)指針,用來實(shí)現(xiàn)對這些選項(xiàng)的匹配操作。當(dāng)數(shù)據(jù)包與某個(gè)OT N結(jié)點(diǎn)相匹配時(shí),即判斷此數(shù)據(jù)包為攻擊數(shù)據(jù)包,而規(guī)則匹配流程圖如圖3。

圖3Snort的工作流程

6 Snort的應(yīng)用實(shí)例

Snort是一種開放源代碼的網(wǎng)絡(luò)入侵檢測系統(tǒng),因此我們可以根據(jù)網(wǎng)絡(luò)的變化,編寫新的規(guī)則來實(shí)現(xiàn)對網(wǎng)絡(luò)的保護(hù)。

在命令行中輸人啟動(dòng)Snort的命令C:snortin>snort-dev-1 c:snortlog -h 222.18.28.53/24 -c c:snortetcsnort.conf,這個(gè)命令以網(wǎng)絡(luò)人侵檢測系統(tǒng)的工作模式啟動(dòng)Snort,并捕獲網(wǎng)絡(luò)的所有數(shù)據(jù)包,存放到Mysql數(shù)據(jù)庫中。

然后,我們就可以根據(jù)網(wǎng)絡(luò)的實(shí)際情況來編寫規(guī)則。例如我們想監(jiān)控某種特定的Web內(nèi)容,就可以按下面的步驟來編寫一條規(guī)則以實(shí)現(xiàn)對網(wǎng)絡(luò)的監(jiān)控。

首先,因?yàn)镠TTP流量是建立在TCP之上的,所以我們需要為該規(guī)則建立它使用的TCP協(xié)議。

其次,根據(jù)你想監(jiān)控的目標(biāo)地址來建立規(guī)則。比如,你想監(jiān)控你指定的任何外部地址和它的整個(gè)內(nèi)部網(wǎng)絡(luò),這樣你需要在規(guī)則頭中使用﹩EXTERNAL_NET變量和﹩HOME_NET變量;同時(shí)你還想讓該規(guī)則應(yīng)用到Web服務(wù)器,你還需要用到﹩HTTP_PORTS來標(biāo)志與HTTP連接相關(guān)的段端口。這樣,形成的規(guī)則頭為

Alert tcp ﹩EXTERNAL_NET﹩HTTP_PORTS ->﹩HOME_NET any

其中,﹩HOME_NET any是指HTTP請求可以選擇目標(biāo)地址中的任意的端口。

然后,就是編寫規(guī)則選項(xiàng)來指定你想要監(jiān)控的內(nèi)容。假如你想對上面地址中的某個(gè)網(wǎng)站的所有的訪問進(jìn)行監(jiān)控,你就可以把規(guī)則選項(xiàng)設(shè)置如下:

(msg:"POSSIBLE B-HAT packetstrom content";content:"packetstorm";nocase; flow: to_client; priority:3; rev:1; sid:1000001;)

該規(guī)則就是對任何包含“packetstorm”的內(nèi)容報(bào)警。該規(guī)則分配了的優(yōu)先級為3,將它設(shè)置為當(dāng)TCP會(huì)話中出現(xiàn)ACK數(shù)據(jù)包時(shí)觸發(fā)。

通過以上的例子,我們可以看出,只要我們只要懂得了Snort的規(guī)則的基本原理后,我們就可以根據(jù)我們所在的網(wǎng)絡(luò)的實(shí)際情況,編寫規(guī)則來保護(hù)網(wǎng)絡(luò)的安全。

7 結(jié)束語

Snort作為一個(gè)簡潔、高性能、易于擴(kuò)展的網(wǎng)絡(luò)入侵檢測系統(tǒng),這使得它廣泛應(yīng)用到中小企業(yè)的網(wǎng)絡(luò)防御系統(tǒng)中。而今由網(wǎng)絡(luò)入侵檢測系統(tǒng)、防火墻、病毒防護(hù)軟件等一起構(gòu)成多層次的、全面的網(wǎng)絡(luò)安全防御體系受到越來越多的企業(yè)的歡迎,因此我們可以預(yù)言基于Snort的入侵檢測系統(tǒng)將會(huì)被應(yīng)用得越來越廣泛。

參考文獻(xiàn):

[1] 宋勁松.網(wǎng)絡(luò)入侵檢測——分析、發(fā)現(xiàn)和報(bào)告攻擊[M].北京:國防工業(yè)出版社,2004:30.

[2] 唐正軍,李建華.入侵檢測技術(shù)[M].北京:清華大學(xué)出版社,2004:7-8.

[3] 楊延玉,張同光.入侵檢測系統(tǒng)Snort的研究和應(yīng)用[J].平原大學(xué)學(xué)報(bào),2007(4):105-106.

[4] 唐正軍.入侵檢測技術(shù)導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,2004:16-17.

收稿日期:2008-04-05

作者簡介:張治國(1983-),男, 重慶萬州人,碩士研究生,研究方向:網(wǎng)絡(luò)技術(shù)、網(wǎng)絡(luò)安全;秦國亮,男,河南安陽人,碩士研究生;駱德全,男,四川攀枝花人,碩士研究生。

万山特区| 确山县| 禹州市| 桐乡市| 合肥市| 甘肃省| 安福县| 嘉峪关市| 莱芜市| 大竹县| 巴林左旗| 越西县| 博客| 义乌市| 南昌县| 望江县| 永登县| 靖宇县| 镇江市| 辽阳市| 普兰店市| 新昌县| 沿河| 普宁市| 余姚市| 沙雅县| 汤阴县| 五常市| 兴海县| 莱西市| 长白| 新蔡县| 夏河县| 科技| 杭州市| 平舆县| 开平市| 驻马店市| 南岸区| 集安市| 龙井市|