摘 要:分布式入侵檢測(cè)系統(tǒng)是一個(gè)基于snort的B/S結(jié)構(gòu)的針對(duì)于教學(xué)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng),系統(tǒng)對(duì)來(lái)自于教學(xué)網(wǎng)絡(luò)外部和內(nèi)部的非法操作忽然惡意入侵提供預(yù)警信息,并做出相應(yīng)的響應(yīng)。本文對(duì)于分布式入侵檢測(cè)系統(tǒng)的服務(wù)器端的功能實(shí)現(xiàn)進(jìn)行詳細(xì)介紹。
關(guān)鍵詞:分布式;入侵檢測(cè)系統(tǒng);數(shù)據(jù)庫(kù);管理控制平臺(tái)
中圖分類號(hào):TP393.08
教學(xué)網(wǎng)絡(luò)分布式入侵檢測(cè)系統(tǒng)中的分布式是指探針、服務(wù)器或數(shù)據(jù)庫(kù)處于不同的主機(jī)上,它們用網(wǎng)絡(luò)連接,在本系統(tǒng)中,探針主要分布在局域網(wǎng)內(nèi)部的不同網(wǎng)段上,而控制總臺(tái)和數(shù)據(jù)庫(kù)位于同一服務(wù)器上。服務(wù)器的軟件平臺(tái)是Windows Server 2003,一個(gè)經(jīng)典的服務(wù)器操作系統(tǒng)。
1 數(shù)據(jù)庫(kù)建立
在本系統(tǒng)中的數(shù)據(jù)庫(kù)采用的是SQL Server2000,SQL Server是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),雖然其版本在不斷的升級(jí),但是考慮到教學(xué)網(wǎng)絡(luò)中的服務(wù)器系統(tǒng)版本不高,為了不影響其兼容性,選擇了經(jīng)典版本SQL Server 2000。
1.1 SQL Server 2000的安裝。本系統(tǒng)選擇安裝SQL Server 2000個(gè)人版。安裝完成后,運(yùn)行SQL Server2000服務(wù)管理器,啟動(dòng)SQL Server服務(wù)器,在這里就能夠?yàn)镈IDS系統(tǒng)其它模塊提供數(shù)據(jù)庫(kù)連接了,并記錄數(shù)據(jù)庫(kù)日志和執(zhí)行各種操作。默認(rèn)安裝完成后,下次系統(tǒng)啟動(dòng)時(shí)SQL Server服務(wù)管理器就會(huì)自動(dòng)啟動(dòng)了。
1.2 利用SQL Server 2000建立數(shù)據(jù)庫(kù)。啟動(dòng)企業(yè)管理器,然后控制臺(tái)根目錄->Microsoft SQL Servers->SQL Server組->Local(Windows NT)->數(shù)據(jù)庫(kù)。點(diǎn)選“數(shù)據(jù)庫(kù)”建立一個(gè)新的數(shù)據(jù)庫(kù),命名為dids,在該數(shù)據(jù)庫(kù)中就可以為DIDS系統(tǒng)建立所需要的表了,例如:
整個(gè)系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)主要包含下面幾個(gè)表,其中各表的含義描述如下:alert這個(gè)表比較特殊,它是由數(shù)據(jù)庫(kù)Snort中的其它幾個(gè)表中提取出若干重要字段組成。data數(shù)據(jù)包負(fù)載信息。detail按照不同的要求存儲(chǔ)相應(yīng)的細(xì)節(jié)信息,便于查找。endcoding存儲(chǔ)解析類型信息。event存儲(chǔ)警報(bào)事件信息。icmpdhr存儲(chǔ)ICMP 包頭中的所有字段。ipdhr存儲(chǔ)IP包頭中的所有字段。opt存儲(chǔ)協(xié)議選項(xiàng)信息。reference存儲(chǔ)參照信息。reference_system存儲(chǔ)系統(tǒng)參照信息。schema存儲(chǔ)計(jì)劃任務(wù)信息。sensor存儲(chǔ)嗅探器提供的數(shù)據(jù)信息。sig_class存儲(chǔ)簽名分類信息。sig_reference存儲(chǔ)簽名參照信息。signature存儲(chǔ)簽名信息。tcphdr存儲(chǔ)TCP包頭中的所有字段。udpdhr存儲(chǔ)UDP包頭中的所有字段。
2 管理控制平臺(tái)的建立
管理控制臺(tái)系統(tǒng)采用B/S模式設(shè)計(jì),構(gòu)建一個(gè)動(dòng)態(tài)網(wǎng)站,網(wǎng)站后臺(tái)系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接和管理,前端為網(wǎng)絡(luò)管理員提供一個(gè)簡(jiǎn)潔易于操作的界面。與一般的Web網(wǎng)站一樣,它也有用戶注冊(cè),用戶登錄與退出的功能。登錄后即進(jìn)入控制臺(tái)主界面??刂婆_(tái)主界面主要包含用戶管理、探針管理、數(shù)據(jù)庫(kù)管理及響應(yīng)系統(tǒng)等功能模塊。
2.1 控制臺(tái)界面。為了本系統(tǒng)控制平臺(tái)自身的安全,阻止非法用戶,需要驗(yàn)證登陸控制臺(tái)系統(tǒng)用戶的合法性,只有在用戶輸入正確的用戶名和密碼后,該用戶才能登錄到控制臺(tái)主界面。合法注冊(cè)的用戶名和密碼信息都保存在后臺(tái)數(shù)據(jù)庫(kù)中。用戶第一次使用控制臺(tái)系統(tǒng)時(shí),需要注冊(cè)一個(gè)新用戶。點(diǎn)擊新用戶注冊(cè)按鈕后,會(huì)自動(dòng)轉(zhuǎn)向新用戶注冊(cè)界面,對(duì)于注冊(cè)的新用戶名,系統(tǒng)會(huì)自動(dòng)給予最低級(jí)別的權(quán)限,若要想獲得較高權(quán)限,需要系統(tǒng)管理員對(duì)該用戶進(jìn)行權(quán)限設(shè)置。
網(wǎng)站對(duì)系統(tǒng)的主界面布局采用框架模式,左框架是樹(shù)形目錄的形式顯示各功能模塊的鏈接;右框架是主框架,用于顯示每個(gè)功能模塊的詳細(xì)信息。
2.2 用戶管理。分權(quán)管理機(jī)制是系統(tǒng)重要的安全管理辦法,系統(tǒng)將用戶設(shè)置為不同的權(quán)限等級(jí),又將不同的操作劃分為不同的權(quán)限,不同權(quán)限等級(jí)的用戶看到不同的內(nèi)容,實(shí)現(xiàn)不同的操作。
DIDS將用戶分成三個(gè)不同的級(jí)別。系統(tǒng)管理員:最高級(jí)別的權(quán)限,可以進(jìn)行一切操作,包括用戶管理(添加新用戶、刪除用戶、修改用戶口令、用戶權(quán)限配置等)、探針管理和安全審計(jì)的分析等;安全管理員:安全管理和審計(jì)分析,不具有用戶管理的權(quán)限;安全審計(jì)員:權(quán)限最低,數(shù)據(jù)庫(kù)管理和安全審計(jì)分析,不具有用戶管理和探針管理的功能。
不同權(quán)限的用戶看到不同的內(nèi)容是通過(guò)在左框架頁(yè)面left.aspx代碼里加入權(quán)限判斷來(lái)實(shí)現(xiàn)的。當(dāng)用戶登錄時(shí),系統(tǒng)會(huì)自動(dòng)從用戶數(shù)據(jù)庫(kù)中查出該用戶的權(quán)限級(jí)別,并用Session變量將該值傳遞到left.aspx頁(yè)面中。例如,判斷用戶是不是系統(tǒng)管理員,若是,就顯示用戶管理模塊;若不是,則不顯示。
2.3 管理控制平臺(tái)對(duì)探針的管理。在探針管理功能模塊中,用戶可以對(duì)所有的探針進(jìn)行管理,包括添加探針,刪除探針,啟動(dòng)探針等。探針在DIDS中起到一個(gè)后臺(tái)檢測(cè)功能,而控制系統(tǒng)則起到前臺(tái)的管理功能,“探針管理”模塊是探針和控制臺(tái)系統(tǒng)交互的主要部分。
控制臺(tái)實(shí)施對(duì)探針的各項(xiàng)操作,通過(guò)對(duì)web頁(yè)面上改變相關(guān)的值來(lái)改變數(shù)據(jù)庫(kù)sensor表的值。探針管理模塊對(duì)探針的操作是通過(guò)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表的讀寫(xiě)來(lái)實(shí)現(xiàn)的,當(dāng)對(duì)探針進(jìn)行某種操作時(shí),就相應(yīng)地執(zhí)行一個(gè)數(shù)據(jù)庫(kù)寫(xiě)入動(dòng)作,改變數(shù)據(jù)庫(kù)中sensor表的某一字段的值,然后探針讀取該字段的值,再根據(jù)事先定義好的響應(yīng)方式,探針做出相應(yīng)的動(dòng)作。探針的運(yùn)行作為一項(xiàng)服務(wù)運(yùn)行在后臺(tái)。改變探針的狀態(tài)就是通過(guò)改變state的值來(lái)改變的,state為1時(shí),表示正在運(yùn)行,state為2時(shí),表示已經(jīng)停止。
2.4 數(shù)據(jù)庫(kù)管理。數(shù)據(jù)庫(kù)管理模塊包括查看數(shù)據(jù)庫(kù)表、備份數(shù)據(jù)庫(kù)表、還原數(shù)據(jù)庫(kù)表、清空數(shù)據(jù)庫(kù)表等。本系統(tǒng)中最主要的表是告警事件表(event),用戶日志表(userOperate),探針日志表(sensorLogin),通過(guò)選擇可以查看相應(yīng)的數(shù)據(jù)表的信息,如數(shù)據(jù)庫(kù)類型、數(shù)據(jù)庫(kù)表名稱、當(dāng)前數(shù)據(jù)庫(kù)表的記錄總數(shù)等。
備份還原功能是對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行備份和還原。在后臺(tái)代碼里分別設(shè)計(jì)了數(shù)據(jù)庫(kù)備份和數(shù)據(jù)庫(kù)還原的方法,其中數(shù)據(jù)庫(kù)備份命令為一個(gè)存儲(chǔ)過(guò)程。對(duì)數(shù)據(jù)庫(kù)的備份和還原操作也應(yīng)記錄下來(lái),形成日志,建立數(shù)據(jù)庫(kù)備份表(bkrecord)用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)備份日志。其中bk_id代表備份ID號(hào),bk_name是備份名稱,bk_devicename是備份設(shè)備名,bk_time是備份的時(shí)間。
為了及時(shí)清除掉一些無(wú)用的數(shù)據(jù),消除數(shù)據(jù)冗余,節(jié)省空間,本系統(tǒng)提供了清空數(shù)據(jù)庫(kù)表的功能。
2.5 響應(yīng)系統(tǒng)。入侵檢測(cè)系統(tǒng)的功能在于不但能夠發(fā)現(xiàn)入侵行為和入侵企圖,還必須能夠?qū)λ麄冏龀鲰憫?yīng)。最容易實(shí)現(xiàn)的響應(yīng)策略是自動(dòng)通知,例如入侵發(fā)生時(shí),入侵檢測(cè)系統(tǒng)給網(wǎng)絡(luò)管理員發(fā)送Email。比較主動(dòng)的響應(yīng)策略是可以阻止正在發(fā)生的入侵,例如通過(guò)注入復(fù)位數(shù)據(jù)報(bào)來(lái)截?cái)喙粽吆湍繕?biāo)主機(jī)間的連接、通過(guò)防火墻配置更新來(lái)限制入侵者的訪問(wèn)等。主動(dòng)的響應(yīng)策略是探測(cè)到攻擊時(shí)不但能夠阻止還會(huì)對(duì)攻擊者發(fā)出反擊,但這個(gè)方法是非常危險(xiǎn)的,不但不合法,也會(huì)影響網(wǎng)絡(luò)上無(wú)辜的用戶。由于軟硬件條件的限制,本系統(tǒng)只實(shí)現(xiàn)了屏幕告警和發(fā)送郵件的響應(yīng)方式。對(duì)于發(fā)送郵件的實(shí)現(xiàn)過(guò)程,可以用兩種方式實(shí)現(xiàn):
(1)建立郵件服務(wù)器。SMTP 郵件服務(wù)器的配置過(guò)程為首先安裝POP3和SMTP服務(wù)組件,Windows Server 2003默認(rèn)情況下是沒(méi)有安裝POP3和SMTP服務(wù)組件的,因此要手工添加。配置POP3服務(wù)器,包括創(chuàng)建郵件域和創(chuàng)建用戶郵箱。配置SMTP服務(wù)器:點(diǎn)擊“開(kāi)始→程序→管理工具→Internet信息服務(wù)(IIS)管理器”,在“IIS管理器”窗口中右鍵點(diǎn)擊“默認(rèn)SMTP虛擬服務(wù)器”選項(xiàng),在彈出的菜單中選中“屬性”,進(jìn)入“默認(rèn)SMTP虛擬服務(wù)器”窗口,切換到“常規(guī)”標(biāo)簽頁(yè),在“IP地址”下拉列表框中選中郵件服務(wù)器的IP地址即可。點(diǎn)擊“確定”按鈕,此時(shí)SMTP服務(wù)器默認(rèn)的是匿名訪問(wèn),打開(kāi)切換到“訪問(wèn)”標(biāo)簽頁(yè),點(diǎn)擊“身份驗(yàn)證”按鈕,在對(duì)話框中去掉“匿名訪問(wèn)”選項(xiàng),選中“基本身份驗(yàn)證(Basic authentication)”。這樣一個(gè)簡(jiǎn)單的郵件服務(wù)器就架設(shè)完成了。
(2)利用ASP.NET實(shí)現(xiàn)郵件發(fā)送。Asp.net通過(guò)使用SmtpMail對(duì)象來(lái)發(fā)送郵件。SmtpMail對(duì)象發(fā)送郵件(導(dǎo)入與mail相關(guān)的名稱空間,建立一個(gè)message對(duì)象并設(shè)置屬,通過(guò)SmtpMail對(duì)象實(shí)例的'Send'方法來(lái)發(fā)送郵件)。
參考文獻(xiàn):
[1]孫志杰,戶雷.基于數(shù)據(jù)庫(kù)中訪問(wèn)技術(shù)的Web應(yīng)用數(shù)據(jù)訪問(wèn)的實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008.1.
[2]屈喜龍,李屈喜龍,朱杰等.ASP+SQL Server開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站實(shí)例薈萃[M].北京:機(jī)械工業(yè)出版社,2006,3.
[3]Rebecca GWley Bace著,陳明奇等譯.入侵檢測(cè)[M].北京:人民郵電出版社,2001.
[4]初闊林.分布式網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中的通信設(shè)計(jì)[J].微機(jī)發(fā)展,2003,8.
作者簡(jiǎn)介:尚瑩瑩(1982-),女,河南中牟人,講師,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。
作者單位:河南農(nóng)業(yè)職業(yè)學(xué)院,河南中牟 450052