《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 分布式防火墻中日志系統(tǒng)的設(shè)計與實現(xiàn)
分布式防火墻中日志系統(tǒng)的設(shè)計與實現(xiàn)
舒 朗,王蔚然
電子科技大學(xué) 電子工程學(xué)院,四川 成都610054
摘要: 結(jié)合分布式防火墻及其日志服務(wù)器模型,分析了日志系統(tǒng)的特點,并在此基礎(chǔ)上給出了其功能模塊與設(shè)計要點。
Abstract:
Key words :

摘  要: 結(jié)合分布式防火墻及其日志服務(wù)器模型,分析了日志系統(tǒng)的特點,并在此基礎(chǔ)上給出了其功能模塊與設(shè)計要點。
關(guān)鍵詞: 分布式防火墻  日志服務(wù)器  入侵檢測

  分布式防火墻是一種主機(jī)駐留式的安全系統(tǒng),用以保護(hù)主機(jī)用戶和網(wǎng)絡(luò)中的關(guān)鍵結(jié)點免受非法入侵的破壞。它對來自Internet和內(nèi)部網(wǎng)絡(luò)的所有信息流進(jìn)行過濾與限制。
作為分布式防火墻中主要模塊之一的日志服務(wù)器,它有別于傳統(tǒng)意義上邊界防火墻的日志系統(tǒng)。它的設(shè)計與實現(xiàn)關(guān)系著分布式防火墻的整體架構(gòu)與性能。
1  分布式防火墻日志系統(tǒng)模型及特點
1.1 分布式防火墻基本模型
  分布式防火墻作為一個完整的系統(tǒng),負(fù)責(zé)對網(wǎng)絡(luò)邊界、各子網(wǎng)和網(wǎng)絡(luò)內(nèi)部各節(jié)點之間進(jìn)行安全防護(hù)。其基本模型如圖1所示,包含4個部分:(1)策略中心(Policy Central):策略中心作為分布式防火墻的核心,負(fù)責(zé)整個防火墻總體安全策略的策劃、管理與分發(fā)。(2)邊界防火墻(Perimeter Firewall):邊界防火墻是連接內(nèi)網(wǎng)與外網(wǎng)的橋梁。(3)主機(jī)防火墻(Host Firewall):主機(jī)防火墻負(fù)責(zé)對網(wǎng)絡(luò)中的服務(wù)器和桌面機(jī)進(jìn)行防護(hù)。它位于內(nèi)部子網(wǎng)的工作站與服務(wù)器之間,以確保內(nèi)部網(wǎng)絡(luò)服務(wù)器的安全。(4)日志服務(wù)器(Log Server):日志服務(wù)器負(fù)責(zé)對發(fā)生在整個網(wǎng)絡(luò)的所有事件(如協(xié)議規(guī)則日志、用戶登錄事件日志、用戶Internet訪問日志等)進(jìn)行匯總,以供審計分析。

1.2 分布式防火墻中日志服務(wù)器的特點
  防火墻的日志系統(tǒng)主要是對網(wǎng)絡(luò)上某個節(jié)點的訪問進(jìn)行記錄和審計,幾乎不從內(nèi)部網(wǎng)絡(luò)的主機(jī)節(jié)點去審計網(wǎng)絡(luò)的狀態(tài)。而分布式防火墻中日志服務(wù)器是集中管理并審計整個內(nèi)部網(wǎng)絡(luò)上傳的日志信息,包括所有受保護(hù)的主機(jī)、邊界防火墻和策略服務(wù)器等,同時實時監(jiān)控內(nèi)部網(wǎng)絡(luò)狀態(tài),并在此基礎(chǔ)上實現(xiàn)基于日志信息的統(tǒng)計入侵檢測功能。
  日志服務(wù)器功能包括3個方面:收集系統(tǒng)中各種信息;記錄和顯示信息;基于日志信息統(tǒng)計入侵檢測。所以,當(dāng)各個功能模塊生成日志信息時,日志服務(wù)器需將日志信息寫入數(shù)據(jù)庫,并通過分析引擎進(jìn)行統(tǒng)計分析。而當(dāng)管理者要求顯示統(tǒng)計信息時,日志服務(wù)器又需從數(shù)據(jù)庫中提取出有價值的信息,并通過審計系統(tǒng)提供給審計界面。
  對日志系統(tǒng)功能的實現(xiàn)進(jìn)行分析,得到以下設(shè)計要點:(1)將日志服務(wù)器設(shè)計為客戶/服務(wù)器模式。各個信息采集引擎作為客戶端向日志服務(wù)器發(fā)出請求,而日志服務(wù)器作為服務(wù)器端對各種請求進(jìn)行具體處理。(2)采用數(shù)據(jù)庫連接池技術(shù)避免頻繁的數(shù)據(jù)庫操作而引起速度瓶頸。(3)日志服務(wù)器采用加密傳輸通信方式以防范來自內(nèi)部網(wǎng)絡(luò)的類似DDOS的攻擊。(4)由于一個服務(wù)器對應(yīng)多個客戶Socket 連接,因此服務(wù)器采用多線程方式進(jìn)行處理。(5)建立入侵檢測的聯(lián)動過程以實現(xiàn)內(nèi)部網(wǎng)絡(luò)的自動響應(yīng)報警。
  根據(jù)上面的分析和考慮,日志系統(tǒng)由3個部分組成:審計系統(tǒng)、數(shù)據(jù)采集和基于日志信息的統(tǒng)計入侵檢測。下面分別給出了設(shè)計與實現(xiàn)要點。
2  日志服務(wù)器的設(shè)計與實現(xiàn)
2.1 審計系統(tǒng)的實現(xiàn)
  日志數(shù)據(jù)的產(chǎn)生由分布式防火墻中各主機(jī)的相關(guān)模塊實現(xiàn)。日志服務(wù)器接收到實時并發(fā)上傳的日志信息后,存儲在專門的數(shù)據(jù)庫中,并通過審計界面來完成數(shù)據(jù)查找和統(tǒng)計等各項功能。調(diào)用接口內(nèi)置于審計系統(tǒng)中。審計系統(tǒng)由以下幾個功能模塊組成:網(wǎng)絡(luò)實時監(jiān)控、統(tǒng)計數(shù)據(jù)查詢、系統(tǒng)資源狀況監(jiān)控、攻擊行為查詢和編輯歸檔。
  數(shù)據(jù)庫處理通常是審計系統(tǒng)處理中最耗時的步驟。而在各種數(shù)據(jù)庫處理的過程中,數(shù)據(jù)庫的連接和釋放又是關(guān)鍵點。在系統(tǒng)中采用數(shù)據(jù)庫連接池技術(shù)來減少數(shù)據(jù)庫連接與釋放操作從而解決耗時問題,即在系統(tǒng)初啟或者初次使用時,完成數(shù)據(jù)庫的連接,而后不再釋放此連接,當(dāng)后面的請求到來時,反復(fù)使用這些已建立的連接。這種方式可以大大減少數(shù)據(jù)庫的處理時間,有利于提高系統(tǒng)的整體性能。
2.2 數(shù)據(jù)采集的實現(xiàn)
2.2.1 日志數(shù)據(jù)接收過程
  日志接收流程如圖2所示,它包括6個部分:信息采集引擎、數(shù)據(jù)過濾與精簡、數(shù)據(jù)格式化、日志接收代理、數(shù)據(jù)入庫和用戶GUI界面。

  對于分布式防火墻來說需要將4類日志信息上傳到日志服務(wù)器。前3類分別為主機(jī)與邊界的防火墻、入侵檢測以及網(wǎng)絡(luò)連接這3個模塊產(chǎn)生的日志信息。第4類為策略中心產(chǎn)生的日志信息,如證書安裝和策略下發(fā)等。
  日志的接收有單線程與多線程2種方法可供選擇。由于日志服務(wù)器將實時接收多路日志信息,若采用單線程方法,將可能導(dǎo)致數(shù)據(jù)擁塞,造成信息丟失,嚴(yán)重時可能使日志服務(wù)器主機(jī)癱瘓。而多線程方法在實現(xiàn)上較為復(fù)雜,但確能彌補單線程的不足。通過對比,日志接收模塊采用多線程的方法監(jiān)聽一個固定端口,然后根據(jù)數(shù)據(jù)包中的運行方式字段來區(qū)分不同的日志。一旦有數(shù)據(jù)到達(dá),接收模塊就實時地進(jìn)行接收和處理,提取有用的信息并以一定的格式存儲到數(shù)據(jù)庫中。所有的功能模塊都是基于數(shù)據(jù)庫的。由此實現(xiàn)了日志服務(wù)器實時接收多路日志信息的功能。這里將日志信息分為8類,其中一般信息作為NOTICE級別,普通報警作為LOG_WARNING級別。日志信息分類情況如表1所示。

  日志數(shù)據(jù)包可以記錄所有IP包的基本信息,包括每次經(jīng)過防火墻的成功和失敗的連接、源IP地址、目的IP地址和端口號、時間信息等。頭部記錄結(jié)構(gòu)為:
{  unsigned long time;   //IP包經(jīng)過防火墻開始時間
   unsigned long src_ip;  //源IP地址
   unsigned long dst_ip;  //目的IP地址
   short src_port;      //源主機(jī)端口號
   short dst_port;      //目的主機(jī)端口號
   char proto;         //協(xié)議號
   unsigned char type;    //IP包的類型
   short len;        //IP包的長度
}
2.2.2 安全通信的實現(xiàn)
  在整個分布式防火墻中,日志上傳與接收采用SSL證書加密通信方式,以確保通信安全。采用的安全通信數(shù)據(jù)結(jié)構(gòu)如圖3所示。

  當(dāng)接收模塊接收到指令數(shù)據(jù)后,根據(jù)指令數(shù)據(jù)中的命令類型字段判別該命令的類型,根據(jù)運行方式字段確定該命令的處理方式,然后根據(jù)數(shù)據(jù)長度確定需要讀取的后繼字節(jié)數(shù)。SSL加密通信方式實現(xiàn)了日志的安全傳送與接收,并可有效地防止日志服務(wù)器受到如DDOS等手段的攻擊。
2.3 基于日志信息的統(tǒng)計入侵檢測的實現(xiàn)
  檢測系統(tǒng)基于日志信息的統(tǒng)計分析結(jié)果發(fā)現(xiàn)入侵行為,上報策略中心以阻擊入侵。檢測系統(tǒng)模型是基于統(tǒng)計用戶日常行為,通常通過對主體特征變量的度量(即頻度、使用時間、記錄分布等屬性)的統(tǒng)計概率分布進(jìn)行分析,通過對比用戶的短期概貌與長期概貌的差異來檢測當(dāng)前用戶行為是否異常。
2.3.1 基于日志信息的統(tǒng)計入侵檢測過程
  基于日志信息的統(tǒng)計入侵檢測模型如圖4所示,主要包括:日志數(shù)據(jù)接收與預(yù)處理、日志分析引擎和自動響應(yīng)代理。

  分析引擎是整個系統(tǒng)的核心。統(tǒng)計分析首先根據(jù)用戶的訪問次數(shù)創(chuàng)建一個統(tǒng)計描述,即一個度量,進(jìn)行長期概貌學(xué)習(xí)。學(xué)習(xí)的天數(shù)是通過指定“半生”的方法來設(shè)置的。若半生設(shè)為30天,則意味著在長期概率分布中,半生(也就是最近30天)的審計記錄所占權(quán)重為最新記錄的一半。而下一個半生(60天)的審計記錄的權(quán)重則是一半的一半,也就是四分之一,依此類推。半生與概貌長度之間有著緊密的關(guān)系,概貌長度大概是半生的1.5倍。
  度量長期概貌和短期概貌的差異程度是通過Q統(tǒng)計來計算的。此處將Q值的長期行為的概貌作為真實的概率分布,短期行為的概貌作為被考察的對象。每天Q值的更新過程通過如下公式進(jìn)行:
  

  其中:r為衰減率,受半生影響,r越大表示最近的記錄對Q值影響也越大;t表示逝去的時間,當(dāng)以訪問次數(shù)來表征時,t設(shè)為1。
  在經(jīng)過一定時間長期概貌學(xué)習(xí)后,統(tǒng)計模塊就可進(jìn)入短期概貌學(xué)習(xí)。短期所得的Q值偏離均值越多,說明短期概貌和長期概貌的差異也越大,即在短期行為中的可疑點越多。這樣對Q設(shè)定不同的閥值就可以表征不同程度的入侵行為。這種統(tǒng)計分析方法的優(yōu)點是可檢測到未知的、更為復(fù)雜的入侵。
2.3.2 聯(lián)動過程
  由于分布式防火墻具有整體性,因此當(dāng)分析引擎發(fā)現(xiàn)異常行為時,將通過自動響應(yīng)代理實現(xiàn)聯(lián)動,實時上報策略中心。由策略中心向發(fā)生異常的主機(jī)發(fā)出相關(guān)的安全策略以保護(hù)內(nèi)部網(wǎng)絡(luò)。
3  結(jié)束語
  本文所介紹的分布式防火墻中日志服務(wù)器的設(shè)計方法已在“新型分布式防火墻”的研發(fā)中得以實現(xiàn)。選用Linux操作系統(tǒng)平臺,實現(xiàn)工具為可視化編程語言Kylix與MySQL輕量級數(shù)據(jù)庫。Kylix語言作為圖形界面的工具與后臺的MySQL數(shù)據(jù)庫通過DBExpress技術(shù)實現(xiàn)連接。系統(tǒng)運行正常。
參考文獻(xiàn)
1   韓曉璞.用分布式防火墻堵住內(nèi)部網(wǎng)的漏洞.http://www.pcworld.Com,2001-04-06
2   Denning D E.Anintrusion-detectionmode.IEEE Transactionon Software Engineering,1987;13(2)
3   王偉.主機(jī)日志分析及其在入侵檢測中的應(yīng)用.計算機(jī)工程與應(yīng)用,2002;13(6)
4   韓東海.入侵檢測系統(tǒng)及實例剖析.北京:清華大學(xué)出版社,2002

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。