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