張艷麗
中圖分類號:TP393.08文獻標識碼:A文章編號:1673-0992(2009)12-066-02
摘要:大規模的應用程序很少采用單機模式,大多采用分層的體系結構。本文所設計的網絡入侵防御系統的結構采用分層的體系結構。入侵防御模塊為了部署在網絡的關鍵位置上,需要有路由功能,能夠將具備正確路由信息的數據包由一個網卡轉發到另一個網卡,實現內外網之間的正常數據通信。本文主要介紹了網絡入侵防御系統體系,以及對他的框架結構進行了分析
關鍵詞:網絡安全;入侵檢測;入侵防御;系統框架設計
一、網絡入侵防御系統體系結構
大規模的應用程序很少采用單機模式,大多采用分層的體系結構。本文所設計的網絡入侵防御系統的結構采用分層的體系結構。網絡入侵防御系統的體系結構共分三層:
第一層,入侵防御層:對經過的流量監控,檢測入侵并進行入侵防御。
第二層,服務器層:收集日志數據并轉化為可讀形式。
第三層,控制層:是分析控制臺,數據顯示在這一層。
網絡入侵防御系統由四個部分組成,分別是入侵防御模塊、日志記錄模塊、中央控制模塊和模塊間的通信。這四個部分彼此協作,共同實現入侵防御的功能。
入侵防御模塊工作在入侵防御層,負責數據包接收、檢測和入侵響應。入侵防御模塊部署在網絡的關鍵位置上,如連接外網與內網的鏈路上,或者一個子網與另一個子網的鏈路上。這樣,所有經過數據均可被截取到。入侵防御模塊由Snort_inline和IPtables配置的Netfilter防火墻聯動組成的IPS構成,包括數據包接收、數據包分析和檢測、響應三個部分。
日志記錄模塊工作在服務器層,負責日志的收集,格式化。收集的日志包括Snort_inline的入侵檢測日志和IPtables配置的防火墻日志。
中央控制模塊是整個系統的核心,工作在控制層。它負責協調系統各個模塊,進行所有的集中化操作。例如:對結點上的入侵防御系統的配置,日志服務器的管理,數據分析,負載均衡等。
模塊間的通信負責系統各個組件之間安全、可靠的通信,包括中心和結點間的通信,結點和結點間的通信。
二、通用入侵檢測框架
入侵防御模塊中,基于Snort_inline和IPtables配置的Netfilter防火墻的IPS采用通用入侵檢測框架(CIDF)結構。
CIDF提出了一個入侵檢測系統的通用模型,它將入侵檢測系統分為以下幾個單元:事件產生器(Event Generators)、事件分析器(Event Analyzers)、響應單元(Response Units)和事件數據庫(EventDatabases)。CIDF模型將需要分析的數據統稱為事件(Event)。事件產生器即檢測器,它從整個計算環境中獲得事件,并向系統的其它部分提供此事件;事件分析器分析得到的數據,并產生分析結果;響應單元則是對分析結果做出反應的功能單元,它可以做出切斷連接等反應,也可以只簡單的報警;事件數據庫是存放各種中間和最終數據的地方的總稱,它可以是復雜的數據庫,也可以是簡單的文本文件。
Snort_inline和IPtables配置的Netfilter防火墻聯動構成的IPS,其組件組成如下:
* 事件產生器:Netfilter鉤子程序、IPtables、ip_queue內核模塊和netlink接口。收集數據包,把數據包從內核空間送到用戶空間。
* 事件分析器:libipq庫、Snort_inline和規則集。用規則集對數據進行入侵檢測。
* 響應單元:Netfilter鉤子程序、libipq、libnet、IPtables。對數據包的處理。
* 事件數據庫:MySQL數據庫。收集和存放數據。
三、入侵防御模塊設計
入侵防御模塊為了部署在網絡的關鍵位置上,需要有路由功能,能夠將具備正確路由信息的數據包由一個網卡轉發到另一個網卡,實現內外網之間的正常數據通信。路由部分功能的實現,利用了Linux系統自帶的路由模塊,在使用時打開了對用的配置文件,具體方法如下:
echo 1>/proc/sys/net/ipv4/ip_forward
當數據包進入入侵防御模塊時,IP轉發功能己經打開,內核會根據數據包的地址信息和自身的路由表將其轉發。
入侵防御模塊是網絡入侵防御系統實現的關鍵,由數據包接收、數據包檢測、入侵響應三個部分組成。每個入侵防御模塊由Snort_inline和IPtables配置的Netfilter防火墻聯動組成的IPS構成。
1.數據包接收
數據包接收過程是事件產生器,由Netfilter鉤子程序、IPtables、ip_queue內核模塊和netlink接口組成。負責收集數據包,把數據包從內核空間送到用戶空間。
在數據包接收的過程中,入侵防御模塊應該以IPtables配置的Netfilter防火墻過濾后的數據包為數據源,對符合安全策略的流量進行入侵檢測,減少了入侵檢測的數據包數量。IPtables配置的Netfilter防火墻:結合鏈路層、網絡層的防火墻技術實現的包過濾防火墻可以根據安全策略先對數據包進行過濾,然后把需要檢測的數據包送進Snort_inline入侵檢測系統進行檢測。這樣可以降低系統資源的消耗,減輕系統的負擔。
2.數據包檢測
數據包檢測是事件分析器,由libipq庫、Snort_inline和規則集組成。負責入侵檢測,用規則集對數據進行入侵檢測
入侵防御模塊接收到符合安全策略的數據包分層解析數據包的網絡層、傳輸層和應用層,并進行數據格式化,然后將數據包與入侵檢測規則庫相匹配。使用協議分析、狀態協議分析和模式匹配相結合的技術進行數據包入侵檢測。
協議分析技術解析網絡層、傳輸層和應用層的數據,利用協議構建的規則性排除異常協議結構的攻擊;狀態協議分析將應用層數據傳送的過程看作連續的過程,跟蹤連接狀態信息,以便快速而準確的定位攻擊特征;不能準確定位的字符串則使用模式匹配技術來實現入侵檢測,入侵檢測系統snort_inline在入侵檢測過程中使用快速多模式匹配算法。
3.入侵響應
入侵響應是響應單元,由Netfilter鉤子程序、libipq、libnet、IPtables組成。負責對對數據包的處理。
入侵防御模塊位于數據包傳送鏈路的關鍵位置中,可以直接阻斷數據包的傳送,但阻斷有可能攔截正常流量。對規則庫進行優化,將規則按危險等級劃分為高、中、低,阻斷、報警和記錄這三種響應手段是分別針對不同的報警級別進行處理的。對惡意的攻擊事件采取阻斷的響應手段,同時記錄該事件;對懷疑但不能確認的安全事件則采取報警的響應手段;對于正常的網絡流量僅僅記錄一些關鍵信息。
四、中央控制模塊設計
中央控制模塊是整個系統的核心,它負責協調系統各個模塊和進行所有的集中化操作,例如集中地檢測和統計攻擊行為,實時做出安全策略調整等。中央控制模塊位于系統的中心位置,和入侵防御模塊和日志記錄模塊分別連接。中央控制模塊的功能包括策略定制、日志審閱、系統管理,并應該以可視圖形化形式提交管理員進行查詢和管理。
對于策略制定功能,中央控制模塊應該根據日志記錄模塊收集到的入侵防御模塊的入侵檢測和防御日志來制定相應的安全策略。
對于日志審閱功能,中央控制模塊可以實時地分析日志服務器記錄的入侵檢測系統Snort_inline和IPtables配置的防火墻日志,并提供需要的統計信息。
對于系統管理功能,中央控制模塊控制依靠管理控制程序管理入侵防御模塊的各個結點,管理各個結點的規則集,能夠動態地調整入侵檢測規則,動態插入、刪除和更改防火墻規則,管理日志服務器,控制著日志記錄模塊的日志收集,進行流量統計,負載均衡。
中央控制模塊是網絡入侵防御系統實現的一個核心,其功能的完善和具體實現是網絡入侵防御系統設計將來的工作。
五、結語
在網絡技術十分發達的今天,任何一臺計算機都不可能孤立于網絡之外,因此對于網絡中的信息的安全防范就顯得十分重要。本論文構建了網絡入侵防御體系,給出了系統實現的框架結構,并從入侵防御模塊和中央控制模塊兩個層次完成了網絡信息安全體系框架的構建。通過不斷發展的網絡硬件安全技術和軟件加密技術,再加上政府對信息安全的重視,相信計算機網絡的信息安全是可以實現的。
參考文獻:
[1] 胡道元,閔京華.網絡安全[M].北京:清華大學出版社,2004
[2] 葉代亮.內網的安全管理[J].計算機安全,2005
[3] Alessandro G. Di Nuovo, Vincenzo Catania, Santo Di Nuovo, et, al. Psychology with soft computing: An integrated approach and its applications[J].Applied Soft Computing, 2008
[4] 梁軍. 計算機網絡與信息安全[M]. 廣西: 廣西師范大學出版社, 2005
[5] 賈真, 陳建, 李文澤. Linux防火墻的研究與實現[J]. 計算機與現代化, 2005