http://www.dzsc.com/data/html/2011-8-28/95050.html分布式防火墻由安全策略管理
服務器[Server]以及客戶端防火墻[Client]組成。客戶端防火墻工作在各個從服務器、工作站、個人計算機上,根據安全策略文件的內容,依靠包過濾、特洛伊木馬過濾和腳本過濾的三層過濾檢查,保護計算機在正常使用網絡時不會受到惡意的攻擊,提高了網絡安全性。而安全策略管理服務器則負責安全策略、用戶、日志、審計等的管理。該服務器是集中管理控制中心,統一制定和分發安全策略,負責管理系統日志、多主機的統一管理,使終端用戶“零”負擔。 圖1展示了分布式防火墻在政府/企業中的應用解決方案。該方案是純軟件防火墻,無須改變任何硬件設備和網絡架構,就可以幫助政府/企業阻擋來自外部網絡的攻擊。
隨著網絡的升級和擴容,傳統的盒式防火墻已經很難滿足大容量、高性能、可擴展的需求和挑戰。這就引入了機架式防火墻產品的設計與研發。分布式的Crossbar架構能夠很好的滿足高性能和靈活擴展性的挑戰。 分布式Crossbar架構除了交換網板采用了Crossbar架構之外,在每個業務板上也采用了Crossbar+交換芯片的架構。在業務板上加交換芯片可以很好地解決了本地交換的問題,而在業務板交換芯片和交換網板之間的Crossbar芯片解決了把業務板的業務數據信元化從而提高了交換效率,并且使得業務板的數據類型和交換網板的信元成為兩個平面,也就是說可以有非常豐富的業務板,比如可以把防火墻、IPS系統、路由器、內容交換、IPv6等等類型的業務整合到核心交換平臺上。同時這個Crossbar有相應的高速接口分別連接到兩個主控板或者交換網板,從而大大提高了雙主控主備切換的速度。
1 分布式防火墻日志系統模型及特點
1.1 分布式防火墻基本模型
分布式防火墻作為一個完整的系統,負責對網絡邊界、各子網和網絡內部各節點之間進行安全防護。其基本模型如圖1所示,包含4個部分:(1)策略中心(Policy Central):策略中心作為分布式防火墻的核心,負責整個防火墻總體安全策略的策劃、管理與分發。(2)邊界防火墻(Perimeter Firewall):邊界防火墻是連接內網與外網的橋梁。(3)主機防火墻(Host Firewall):主機防火墻負責對網絡中的服務器和桌面機進行防護。(4)日志服務器(Log Server):日志服務器負責對發生在整個網絡的所有事件(如協議規則日志、用戶登錄事件日志、用戶Internet訪問日志等)進行匯總,以供審計分析。

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

對于分布式防火墻來說需要將4類日志信息上傳到日志服務器。前3類分別為主機與邊界的防火墻、入侵檢測以及網絡連接這3個模塊產生的日志信息。第4類為策略中心產生的日志信息。
日志的接收有單線程與多線程2種方法可供選擇。由于日志服務器將實時接收多路日志信息,若采用單線程方法,將可能導致數據擁塞,造成信息丟失,嚴重時可能使日志服務器主機癱瘓。而多線程方法在實現上較為復雜,但確能彌補單線程的不足。通過對比,日志接收模塊采用多線程的方法監聽一個固定端口,然后根據數據包中的運行方式字段來區分不同的日志。一旦有數據到達,接收模塊就實時地進行接收和處理,提取有用的信息并以一定的格式存儲到數據庫中。日志信息分類情況如表1所示。

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

當接收模塊接收到指令數據后,根據指令數據中的命令類型字段判別該命令的類型,根據運行方式字段確定該命令的處理方式,然后根據數據長度確定需要讀取的后繼字節數。SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。
2.3 基于日志信息的統計入侵檢測的實現
檢測系統基于日志信息的統計分析結果發現入侵行為,上報策略中心以阻擊入侵。檢測系統模型是基于統計用戶日常行為,通常通過對主體特征變量的度量(即頻度、使用時間、記錄分布等屬性)的統計概率分布進行分析,通過對比用戶的短期概貌與長期概貌的差異來檢測當前用戶行為是否異常。
2.3.1 基于日志信息的統計入侵檢測過程
基于日志信息的統計入侵檢測模型如圖4所示,主要包括:日志數據接收與預處理、日志分析引擎和自動響應代理。

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

其中:r為衰減率,受半生影響,r越大表示最近的記錄對Q值影響也越大;t表示逝去的時間,當以訪問次數來表征時,t設為1。
在經過一定時間長期概貌學習后,統計模塊就可進入短期概貌學習。短期所得的Q值偏離均值越多,說明短期概貌和長期概貌的差異也越大,即在短期行為中的可疑點越多。這樣對Q設定不同的閥值就可以表征不同程度的入侵行為。
2.3.2 聯動過程
由于分布式防火墻具有整體性,因此當分析引擎發現異常行為時,將通過自動響應代理實現聯動,實時上報策略中心。由策略中心向發生異常的主機發出相關的安全策略以保護內部網絡。
3 結束語
本文所介紹的分布式防火墻中日志服務器的設計方法已在“新型分布式防火墻”的研發中得以實現。選用Linux操作系統平臺,實現工具為可視化編程語言Kylix與MySQL輕量級數據庫。Kylix語言作為圖形界面的工具與后臺的MySQL數據庫通過DBExpress技術實現連接。系統運行正常。