邱洪濤
摘 要 在對(duì)分布式防火墻體系結(jié)構(gòu)及策略分發(fā)的實(shí)現(xiàn)方案研究基礎(chǔ)上,針對(duì)分布式防火墻體系結(jié)構(gòu)及協(xié)同防御架構(gòu)研究中構(gòu)建的新型三層分布式防火墻的體系結(jié)構(gòu)中“推送”、“索取”以及“查詢”的策略分發(fā)機(jī)制,本文對(duì)匯聚防火墻以及邊界防火墻“查詢”策略的部分給予實(shí)現(xiàn)。
關(guān)鍵詞 分布式 防火墻 策略分發(fā)
中圖分類號(hào):TP393.08文獻(xiàn)標(biāo)識(shí)碼:A
0引言
在對(duì)分布式防火墻策略分發(fā)的實(shí)現(xiàn)方案研究的基礎(chǔ)上,針對(duì)分布式防火墻體系結(jié)構(gòu)及協(xié)同防御架構(gòu)研究中構(gòu)建的新型三層分布式防火墻的體系結(jié)構(gòu)中“推送”、“索取”以及“查詢”的策略分發(fā)機(jī)制,本文對(duì)匯聚防火墻以及邊界防火墻“查詢”策略的部分給予實(shí)現(xiàn)。
1運(yùn)行環(huán)境
策略控制中心管理主機(jī):Windows2008操作系統(tǒng)、SQL Server 2008、Apache Web服務(wù)器、Apache SOAP工具包;終端防火墻:Redhat Linux9、Netfilter/iptables防火墻。
Netfilter是Linux網(wǎng)絡(luò)防火墻實(shí)現(xiàn)的基礎(chǔ),它提供了一個(gè)抽象、通用化的框架。
Iptables組件是一種工具,也稱為用戶空間,它使插入、修改和除去數(shù)據(jù)包過濾表中的規(guī)則變得容易。通過使用用戶空間,可以構(gòu)建自己的定制規(guī)則,這些規(guī)則存儲(chǔ)在內(nèi)核空間的數(shù)據(jù)包過濾表filter表中。當(dāng)數(shù)據(jù)包進(jìn)入系統(tǒng)時(shí),系統(tǒng)首先根據(jù)路由表決定數(shù)據(jù)包發(fā)給哪一條鏈。
2系統(tǒng)的總體設(shè)計(jì)
2.1服務(wù)器端的總體設(shè)計(jì)
服務(wù)器端包括代理層、功能層和數(shù)據(jù)層。
2.1.1代理層
代理層提供分布式防火墻管理的Web界面,管理員通過瀏覽器完成管理工作。管理工作具體包括:(1)組的管理,添加、修改、刪除、顯示組。(2)防火墻管理:添加、修改、刪除、顯示防火墻。(3)防火墻的配置管理,包括策略管理:在防火墻中添加、修改、刪除、顯示策略。(4)發(fā)布策略及發(fā)布失敗處理。(5)性能監(jiān)測(cè)及日志察看。(6)用戶管理及登錄認(rèn)證。
2.1.2功能層
功能層包括身份驗(yàn)證模塊、日志管理模塊、策略制定模塊、策略實(shí)施模塊。
(1)身份驗(yàn)證模塊。當(dāng)防火墻端發(fā)起獲取策略請(qǐng)求時(shí),須首先對(duì)防火墻的身份進(jìn)行驗(yàn)證,然后查看策略文件,決定是否允許對(duì)方的請(qǐng)求。身份驗(yàn)證模塊通過系統(tǒng)密碼、一次性密碼、證書等身份驗(yàn)證方案來提供安全保障。主要包括:用戶身份驗(yàn)證、客戶身份驗(yàn)證和會(huì)話身份驗(yàn)證。用戶身份驗(yàn)證可以提供Http,F(xiàn)TP,Telnet和Rlogin連接固有的身份驗(yàn)證,它直接利用了這些應(yīng)用層協(xié)議內(nèi)部的身份驗(yàn)證功能??蛻羯矸蒡?yàn)證可以向那些自身未提供身份驗(yàn)證功能的服務(wù)提供身份驗(yàn)證。會(huì)話身份驗(yàn)證可以提供對(duì)遠(yuǎn)程端點(diǎn)主機(jī)的身份驗(yàn)證,主要采用證書鑒別的形式。每種驗(yàn)證類型都將維護(hù)一個(gè)驗(yàn)證連接表,只有在連接初始化時(shí)才進(jìn)行身份驗(yàn)證。身份驗(yàn)證后就可以建立連接,并將相關(guān)的連接信息寫入連接表中。對(duì)于連接建立以后的過程中進(jìn)行的后續(xù)分組交換,將根據(jù)源/目標(biāo)IP地址及源/目標(biāo)TCP/UDP端口這樣的參數(shù)進(jìn)行身份識(shí)別,并和連接表內(nèi)某條己有連接進(jìn)行匹配。
(2)日志管理模塊。日志管理模塊實(shí)現(xiàn)以下幾種功能:①日志收集記錄,定期從各主機(jī)收集日志文件,然后把所有文件所包含的信息導(dǎo)入到日志庫中。②日志文件定位,實(shí)現(xiàn)用戶自己定義條件的日志查詢,查看系統(tǒng)的運(yùn)行狀況,查找異常等。③日志輪換,允許用戶循環(huán)使用自己的日志文件,即用戶可以關(guān)閉現(xiàn)有的已經(jīng)較大的日志文件,換成一個(gè)新的、空日志文件。進(jìn)行日志輪換的時(shí)候,當(dāng)前打開的日志文件會(huì)被關(guān)閉并且另存為一個(gè)新文件,文件名由用戶手工配置或自動(dòng)生成,其中包括當(dāng)前的日期和時(shí)間標(biāo)記,以保證用戶知道日志文件輪換的時(shí)間。④實(shí)現(xiàn)導(dǎo)出、清除日志文件功能,可以將當(dāng)前的日志記錄項(xiàng)導(dǎo)出為ASCLL格式,并刪除多余的和過時(shí)的數(shù)據(jù)等。⑤阻擋連接,對(duì)日志庫進(jìn)行分析,如果檢測(cè)到異常行為,可以阻擋未經(jīng)授權(quán)的訪問。可以通過添加IP黑名單、關(guān)閉主機(jī)的某項(xiàng)服務(wù)、關(guān)閉主機(jī)的所有網(wǎng)絡(luò)通信、關(guān)閉網(wǎng)關(guān)的所有網(wǎng)絡(luò)通信等方式實(shí)施阻擋。
(3)策略制定模塊。在策略制定模塊中,應(yīng)根據(jù)業(yè)務(wù)的實(shí)時(shí)性變化,包括有以下功能:①策略的添加;策略的修改;策略的刪除;策略的顯示等;②網(wǎng)絡(luò)對(duì)象的管理:將用戶可以訪問的網(wǎng)絡(luò)資源定義為對(duì)象,這可以使系統(tǒng)管理員用域名、子網(wǎng)形式進(jìn)行描述網(wǎng)絡(luò)資源。
(4)策略實(shí)施模塊。策略實(shí)施模塊主要實(shí)施以下功能:①服務(wù)器端使用關(guān)系數(shù)據(jù)庫SQL server保存策略信息,用XML描述的策略存入該數(shù)據(jù)庫中,因此要建立XML元素到數(shù)據(jù)庫表的對(duì)應(yīng)關(guān)系;②需要將防火墻策略信息進(jìn)行SOAP封裝和編碼,并發(fā)布為防火墻端可訪問的SOAP服務(wù);指定防火墻獲取SOAP服務(wù)所使用的方法。
2.1.3數(shù)據(jù)層
數(shù)據(jù)層主要包括數(shù)據(jù)庫管理系統(tǒng)。防火墻策略通過一些格式轉(zhuǎn)換工具轉(zhuǎn)化為XML格式的文件并映射存儲(chǔ)到關(guān)系數(shù)據(jù)庫里。
2.2防火墻端的總體設(shè)計(jì)
防火墻端包括代理層、邏輯功能層、物理功能層。
2.2.1代理層
代理層提供防火墻端管理的Web界面,管理員通過瀏覽器完成管理工作。管理工作具體包括:(1)從服務(wù)器端查詢最新的策略信息。(2)請(qǐng)求和接收新的策略。(3)調(diào)用解析器將策略轉(zhuǎn)成內(nèi)部可識(shí)別的代碼交給iptables執(zhí)行。(4)策略請(qǐng)求及策略執(zhí)行失敗的處理。(5)日志查看。
2.2.2邏輯功能層
邏輯功能層為防火墻功能的邏輯實(shí)現(xiàn),包括策略請(qǐng)求模塊和策略解析兩個(gè)子模塊。
(1)策略請(qǐng)求模塊。策略請(qǐng)求模塊主要實(shí)施以下功能:①從服務(wù)器端查看最新的策略信息,以確定是否要獲取新的策略。②設(shè)置策略請(qǐng)求的細(xì)節(jié):創(chuàng)建一個(gè)遠(yuǎn)程RPC調(diào)用對(duì)象;設(shè)置遠(yuǎn)程對(duì)象的URI;設(shè)置從服務(wù)器端調(diào)用策略的方法名;設(shè)置SOAP編碼的風(fēng)格;創(chuàng)建URL對(duì)象;發(fā)送SOAP PRPC請(qǐng)求的具體操作等。
(2)策略解析子模塊。策略解析子模塊主要負(fù)責(zé)調(diào)用解析器將策略轉(zhuǎn)成內(nèi)部可識(shí)別的代碼交給下層的iptables執(zhí)行。本文采用DOM接口將描述防火墻策略規(guī)則的XML對(duì)象轉(zhuǎn)換成LINUX下的可執(zhí)行腳本。
2.2.3物理功能層
物理功能層為防火墻功能的真正實(shí)現(xiàn)。本文采用Netfilter/iptables作為客戶端的策略執(zhí)行組件。iptables接收進(jìn)入系統(tǒng)的數(shù)據(jù)包,對(duì)每一個(gè)數(shù)據(jù)包,遍歷防火墻規(guī)則庫,尋找有無與之符合的規(guī)則。對(duì)匹配的包進(jìn)行的處理可有以下幾種:丟棄、拒絕、轉(zhuǎn)發(fā)、跳到其他鏈、進(jìn)行時(shí)間限制、放入隊(duì)列中等待用戶空間的程序進(jìn)行處理、記入日志等。
前述服務(wù)器/防火墻端體系結(jié)構(gòu)有以下特性:(1)使用相同的語言描述策略,提供一致的界面,減輕管理員的管理難度。(2)防火墻無論是獨(dú)立使用還是在分布式環(huán)境中使用,用戶看到的是同樣的界面。(3)防火墻的邏輯實(shí)現(xiàn)和物理實(shí)現(xiàn)分開,代碼可以重用,降低產(chǎn)品開發(fā)的工作量。這樣的服務(wù)器、防火墻端體系結(jié)構(gòu)在用統(tǒng)一的語言描述信息時(shí),可以使分布式防火墻管理系統(tǒng)的開發(fā)與具體的防火墻系統(tǒng)開發(fā)分開,易于與分布式入侵檢測(cè)集成實(shí)現(xiàn)網(wǎng)絡(luò)動(dòng)態(tài)防護(hù),易于與網(wǎng)絡(luò)管理系統(tǒng)集成。
3小結(jié)
本文設(shè)計(jì)了基于分布式防火墻策略發(fā)布系統(tǒng),詳細(xì)描述了服務(wù)器端和防火墻端的體系結(jié)構(gòu)及各子功能模塊,并對(duì)此系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行了實(shí)現(xiàn),論證了基于分布式防火墻策略分發(fā)方案的技術(shù)可行性。
參考文獻(xiàn)
[1] 楊楚華.防火墻體系結(jié)構(gòu)研究[J].軟件導(dǎo)刊,2007.
[2] 楊楚華.分布式防火墻體系結(jié)構(gòu)及協(xié)同防御架構(gòu)研究[D].武漢:湖北工業(yè)大學(xué),2008.