成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號

免費(fèi)NIDS的構(gòu)建與應(yīng)用
2005-11-25   

一般說來,一個典型的網(wǎng)絡(luò)攻擊是以大量的端口掃描等手段獲取所攻擊對象的信息的,這個過程必然產(chǎn)生大量異常的網(wǎng)絡(luò)流量,它預(yù)示著即將到來的真正攻擊。這就要求網(wǎng)管人員對網(wǎng)絡(luò)運(yùn)行狀態(tài)進(jìn)行實時監(jiān)控,以便隨時發(fā)現(xiàn)可能的入侵行為,并進(jìn)行具體分析,及時、主動地進(jìn)行干預(yù),從而取得防患于未然的效果。完成這種功能的安全產(chǎn)品之一是網(wǎng)絡(luò)入侵檢測系統(tǒng)(Network Intrusion Detection Systems,NIDS)。

目前,NIDS產(chǎn)品可分為硬件和軟件兩種類型,但無論選擇哪種,都有一個共同的特點(diǎn): 昂貴。即便在單點(diǎn)安裝的情況下,無論是硬件類型的費(fèi)用,還是軟件類型的許可費(fèi),動輒數(shù)萬元乃至十余萬元。相對于規(guī)模不是很大、費(fèi)用支出有限的企業(yè),承受起來勉為其難。是不是安全防御可以不搞了?答案是否定的。

事實上,互聯(lián)網(wǎng)在給我們帶來挑戰(zhàn)的同時,也給我們帶來無數(shù)的寶貴資源,只等我們?nèi)ラ_發(fā)、利用。開放源代碼軟件(Open Source Software)便是其中之一。本文試圖從這一角度,講述利用互聯(lián)網(wǎng)上免費(fèi)的開放源代碼軟件實現(xiàn)構(gòu)建完整NIDS的過程。

一、系統(tǒng)概述

本處描述的NIDS采用三層分布式體系結(jié)構(gòu),它包括網(wǎng)絡(luò)入侵探測器、入侵事件數(shù)據(jù)庫和基于Web的分析控制臺。為了避免不必要的網(wǎng)絡(luò)流量,本例將網(wǎng)絡(luò)入侵探測器和入侵事件數(shù)據(jù)庫整合在一臺主機(jī)中,利用標(biāo)準(zhǔn)瀏覽器,異地訪問主機(jī)上的Web服務(wù)器,并把它作為分析控制臺,兩者之間的通信采用HTTPS安全加密協(xié)議傳輸。

由于實現(xiàn)本系統(tǒng)所需的軟件較多,筆者在此做一簡要說明(見附表)。

上述軟件都是開放軟件,用戶可以直接登錄相應(yīng)軟件的正式網(wǎng)站下載源代碼。

附表

軟件名稱 功能簡述 正式網(wǎng)址 軟件版本
Snort 網(wǎng)絡(luò)入侵探測器 www.snort.org/ 1.8.6
Libpcap Snort所依賴的網(wǎng)絡(luò)抓包庫 www.tcpdump.org/ 0.7.1
MySQL 入侵事件數(shù)據(jù)庫 www.mysql.org/ 3.23.49
Apache Web服務(wù)器 www.apache.org/ 1.3.24
Mod_ssl 為Apache提供SSL加密功能的模塊 www.modssl.org/ 2.8.8
OpenSSL 開放源代碼的SSL加密庫,為mod_ssl所依賴 www.openssl.org/ 0.9.6d
MM 為Apache的模塊提供共享內(nèi)存服務(wù) www.engelschall.com 1.1.3
ACID 基于Web的入侵事件數(shù)據(jù)庫分析控制臺 www.cert.org/kb// 0.9.6b21
PHP ACID的實現(xiàn)語言 www.php.net/ 4.0.6
GD 被PHP用來即時生成PNG和JPG圖像的庫 www.boutell.com/gd 1.8.4
ADODB 為ACID提供便捷的數(shù)據(jù)庫接口 php.weblogs.com/ 2.00
PHPlot ACID所依賴的制圖庫 www.phplot.com/ 4.4.6

需要特別說明的是,雖然本例中構(gòu)建NIDS所采用的系統(tǒng)平臺基于Solaris 8 for Intel Platform,但由于在其他種類的系統(tǒng)平臺上(如Linux、OpenBSD以及Windows 2000等)構(gòu)建NIDS的步驟大同小異,用戶仍可學(xué)有所用。

    二、安裝與配置

在正式進(jìn)行軟件安裝之前,請檢查系統(tǒng),確保擁有符合ANSI標(biāo)準(zhǔn)的C/C++編譯器等軟件開發(fā)工具。

1.安裝入侵事件數(shù)據(jù)庫MySQL

首先,以超級用戶的身份登錄系統(tǒng),創(chuàng)建MySQL 用戶和MySQL用戶組; 然后,以MySQL身份登錄,按照缺省配置將MySQL安裝在/usr/local目錄下;接下來,將源代碼樹中的缺省配置文件My.cnf拷貝到/etc目錄下;再用超級用戶身份執(zhí)行源碼樹中Scripts目錄下的可執(zhí)行腳本文件Mysql_install_db創(chuàng)建初始數(shù)據(jù)庫; 隨后,用/etc/init.d/mysql.server命令啟動數(shù)據(jù)庫服務(wù)器,使用/usr/local/bin/mysqladmin程序改變數(shù)據(jù)庫管理員的口令。

2.安裝Snort

首先安裝Snort所依賴的網(wǎng)絡(luò)抓包庫Libpcap,將其按照缺省配置安裝在/usr/local目錄下之后,開始正式安裝Snort。

#gzip -d -c snort-1.8.6.tar.gz | tar xvf -

#cd snort-1.8.6

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

--with-libpcap-includes=/usr/local \

--with-libpcap-libraries=/usr/local

#make

#make install

安裝完畢后,將源碼樹中的Snort.conf文件、Classification.config文件和規(guī)則文件(*.rules)拷貝到系統(tǒng)的/etc目錄下。

按照下列步驟配置Snort,以便將其捕獲的網(wǎng)絡(luò)信息輸出到MySQL數(shù)據(jù)庫。

(1)創(chuàng)建Snort入侵事件數(shù)據(jù)庫和存檔數(shù)據(jù)庫。

#/usr/local/bin/mysqladmin -u root -p create snort

#/usr/local/bin/mysqladmin -u root -p create snort_archive

(2)執(zhí)行Snort源碼樹下Contrib目錄下的Create_mysql SQL腳本文件,創(chuàng)建相關(guān)表。

#/usr/local/bin/mysql -u root -D snort -p < create_mysql

#/usr/local/bin/mysql -u root -D snort_archive -p < create_mysql

(3)編輯/etc/snort.conf文件,在Output Plugin 段中加入如下一行:

output database: alert, mysql, user=root password=abc123 dbname=snort host=localhost

3.安裝Web服務(wù)器Apache

(1)安裝MM庫

按照缺省配置將MM庫安裝在/usr/local目錄下。

(2)安裝OpenSSL

按照缺省設(shè)置將OpenSSL安裝在/usr/local目錄下。

(3)為Apache擴(kuò)展mod_ssl代碼

#gzip -d -c apache-1.3.24.tar.gz | tar xvf -

#gzip -d -c mod_ssl-2.8.8-1.3.24.tar.gz | tar xvf -

#cd mod_ssl-2.8.8-1.3.24

#./configure --with-apache=apache-1.3.24

該命令運(yùn)行成功之后,會有提示說明已經(jīng)成功擴(kuò)展了Apache的源代碼。

(4)安裝Apache

#cd ../apache-1.3.24

#SSL_BASE=/usr/local EAPI_MM=/usr/local \

./configure --enable-module=so

--enable-module=ssl --prefix=/usr/local

#make

#make certificate

#make install

其中,Make certificate命令是為mod_ssl生成所需的安全證書,按照提示輸入相應(yīng)信息即可。這樣,Apache就被安裝在/usr/local目錄下。

4.安裝實現(xiàn)語言PHP

按照缺省配置,將為PHP提供即時生成PNG和JPG圖像功能的GD庫安裝到/usr/local目錄下; 然后采用PHP的Apache DSO安裝模式將其安裝到/usr/local/libexec目錄,成為Apache的動態(tài)共享模塊。另外,不要忘記把對MySQL的支持和GD庫也編譯到模塊里。

5.安裝分析控制臺ACID

該部分的安裝工作具體包括3個軟件包:Adodb200.tar.gz、Phplot-4.4.6.tar.gz和Acid-0.9.6b21.tar.gz。安裝過程十分簡單,只需分別將這3個軟件包解壓縮并展開在Apache服務(wù)器的文檔根目錄下即可。

然后開始配置工作。轉(zhuǎn)到Acid-0.9.6b21目錄下編輯ACID的配置文件Acid_conf.php,給下列變量賦值:

$Dblib_path="../adodb200"

$DBtype="mysql"

$alert_dbname="snort"

$alert_host="localhost"

$alert_port="3306"

$alert_user="root"

$alert_password="abc123"

$archive_dbname="snort_archive"

$archive_host="localhost"

$archive_port="3306"

$archive_user="root"

$archive_password="abc123"

$ChartLib_path="../phplot-4.4.6"

$Chart_file_format="png"

$portscan_file="/var/log/snort/portscan.log"

至此,網(wǎng)絡(luò)入侵檢測系統(tǒng)的軟件安裝工作結(jié)束。

    三、系統(tǒng)部署及運(yùn)行

本系統(tǒng)被部署在網(wǎng)絡(luò)服務(wù)器所處的DMZ區(qū),用來監(jiān)控來自互聯(lián)網(wǎng)和內(nèi)網(wǎng)的網(wǎng)絡(luò)流量。負(fù)責(zé)監(jiān)控的網(wǎng)絡(luò)探測器Snort使用無IP地址的網(wǎng)卡進(jìn)行監(jiān)聽,以保證NIDS自身的安全; 通過另一塊網(wǎng)卡接入內(nèi)網(wǎng),并為其分配內(nèi)網(wǎng)所使用的私有IP地址,以便從內(nèi)網(wǎng)訪問分析控制臺程序ACID。通過啟用Apache服務(wù)器的用戶身份驗證和訪問控制機(jī)制,并結(jié)合SSL,保證系統(tǒng)的訪問安全。

另外,部署NIDS的關(guān)鍵是應(yīng)當(dāng)保證系統(tǒng)的監(jiān)聽網(wǎng)卡所連接的設(shè)備端口能夠“看到”受監(jiān)控網(wǎng)段的全部網(wǎng)絡(luò)流量。在共享式網(wǎng)絡(luò)中,這不是問題,但在交換式網(wǎng)絡(luò)中,由于交換機(jī)的每個端口擁有自己的沖突域,因此無法捕獲除廣播和組播之外的網(wǎng)絡(luò)流量,這就要求交換機(jī)提供監(jiān)控端口,本網(wǎng)絡(luò)使用的是Cisco Catalyst系列交換機(jī),其監(jiān)控端口是通過端口的SPAN特性來實現(xiàn)的,用交換機(jī)管理軟件啟用該特性即可。

為了運(yùn)行該系統(tǒng),以超級用戶身份執(zhí)行下列命令:

#/etc/init.d/mysql.server start

#/usr/local/bin/snort -c /etc/snort.conf -l /var/log/snort -I elx0 -D

#/usr/local/bin/apachectl sslstart

這樣,NIDS已開始運(yùn)行,然后在內(nèi)網(wǎng)的管理PC機(jī)上啟動瀏覽器,在地址欄中鍵入:https://192.168.1.8/acid-0.9.6b21/,其中192.168.1.8是為該NIDS內(nèi)網(wǎng)網(wǎng)卡分配的IP地址。首次運(yùn)行時,控制臺會提示用戶對入侵事件數(shù)據(jù)庫進(jìn)行擴(kuò)展,按照提示擴(kuò)展完畢后,控制臺主界面出現(xiàn)。如圖1所示。

圖1 一天之內(nèi)的報警頻率

主界面里顯示的信息包括:觸發(fā)安全規(guī)則的網(wǎng)絡(luò)流量中各種協(xié)議所占的比例、警報的數(shù)量、入侵主機(jī)和目標(biāo)主機(jī)的IP地址及端口號等。ACID控制臺還提供強(qiáng)大的搜索功能,用戶可根據(jù)時間、IP地址、端口號、協(xié)議類型以及數(shù)據(jù)凈荷(payload)等多種條件的靈活組合,在入侵事件數(shù)據(jù)庫中進(jìn)行查詢,以幫助網(wǎng)管人員進(jìn)行分析。

入侵特征庫是否豐富對一個NIDS非常重要,本系統(tǒng)同時支持多種有影響的入侵特征庫,包括CERT/CC、arachNIDS和CVE等。在警報中除了列出入侵事件的命名外,還有到相應(yīng)入侵特征庫的Web鏈接,如果某個警報存在多個命名,則同時予以列出,以便參考。網(wǎng)絡(luò)管理人員可通過這些鏈接去查找在線入侵特征庫,以便獲得關(guān)于特定入侵事件更加詳細(xì)的信息和相應(yīng)的解決辦法。

應(yīng)用ACID提供的制圖功能可以直觀地對網(wǎng)絡(luò)入侵事件進(jìn)行分析,而生成的圖表又可進(jìn)一步豐富網(wǎng)管人員編制的報告。例如ACID分析控制臺可以按用戶指定的時間段生成入侵事件的頻率圖,如圖2所示。

圖2 一周報警頻率

結(jié)束語

網(wǎng)絡(luò)安全是一個復(fù)雜的問題,只依靠1~2種網(wǎng)絡(luò)安全產(chǎn)品是不能解決問題的,必須綜合應(yīng)用多種安全技術(shù),并將其功能有機(jī)地整合到一起,進(jìn)而構(gòu)成統(tǒng)一的網(wǎng)絡(luò)安全基礎(chǔ)設(shè)施。

對于一些企業(yè)用戶來說,安全產(chǎn)品并不是非買不可,當(dāng)前在互聯(lián)網(wǎng)上以開放源代碼為代表的免費(fèi)資源非常多,這些企業(yè)應(yīng)該努力開發(fā)與利用。也許有人會懷疑這種資源的可靠性,請不要忘記互聯(lián)網(wǎng)的3大應(yīng)用都在由開放源代碼軟件支撐著:互聯(lián)網(wǎng)上超過半數(shù)的站點(diǎn)是在運(yùn)行Apache; BIND完成著幾乎全部的域名解析;說不定您的電子郵件正通過Sendmail程序在互聯(lián)網(wǎng)上傳遞。


熱詞搜索:

上一篇:從入侵檢測系統(tǒng)到入侵防御系統(tǒng)
下一篇:IDS欺騙之Fragroute

分享到: 收藏
主站蜘蛛池模板: 天津电视台体育频道节目单| 无内女秘书| 王牌空战| 都市频道在线直播| 画心吉他谱| 宇宙魔方| 抖音pc端| 天云山传奇 电影| 孤岛飞鹰演员表| 守株待兔的老农夫音乐教案| 太深了太爽了受不了了| 广告设计培训速成班| 圣洁四人行| 林柒予| 历史试卷反思| 飞哥和小佛| 阿娇老公| 电影世界冒险记| 天与地越南版| 书柜效果图大全2023款| 亚新| 欲情电影在线观看 | 美国要塞1986| 低糖食物一览表| 卧虎演员表| 范瑞君| 宝宝乐园| 456电影网络重口味456| 《推拿》完整版播放| angie faith| 鹌鹑图片| 罗素克劳主演电影| 电影院线| 东星斑鱼图片| 索玛花开 电视剧| 格子论文| 抖音1| 保镖1983| 美女出水| 中国黄色片子| 香谱七十二法图解|