基于流過濾技術(shù)的IPv6防火墻設(shè)計(jì)與分析
1 引言
本文引用地址:http://2s4d.com/article/163277.htm“流過濾”技術(shù)融合了包過濾和應(yīng)用代理安全性和優(yōu)點(diǎn),克服了包過濾和應(yīng)用代理的諸多缺陷,代表了一種全新的防火墻技術(shù)結(jié)構(gòu)。在大家紛紛開始關(guān)注應(yīng)用層安全的今天,“流過濾”技術(shù)架構(gòu)更加顯示了其前瞻性和先進(jìn)性。經(jīng)過近幾年的不斷完善和實(shí)際使用中的磨合,新產(chǎn)品的“流過濾”引擎已經(jīng)相當(dāng)成熟和完善,在性能和穩(wěn)定性方面得到了大幅度的提升,使其能夠滿足關(guān)鍵業(yè)務(wù)領(lǐng)域的長期穩(wěn)定運(yùn)行的要求。但這都是針對(duì)IPv4防火墻的,隨著IPv6網(wǎng)絡(luò)[1]的普及,對(duì)基于流過濾技術(shù)的IPv6防火墻設(shè)計(jì)和分析則是一個(gè)新的研究熱點(diǎn)。
2 流過濾技術(shù)研究
“流過濾”技術(shù)[2]是以狀態(tài)檢測(cè)包過濾的形態(tài)實(shí)現(xiàn)對(duì)應(yīng)用層保護(hù)的一種防火墻過濾技術(shù),基本原理是在狀態(tài)檢測(cè)包過濾的基礎(chǔ)上,針對(duì)具體應(yīng)用層協(xié)議采用專門設(shè)計(jì)的TCP/IP協(xié)議棧實(shí)現(xiàn)對(duì)鏈路層數(shù)據(jù)流在應(yīng)用層重組并在此基礎(chǔ)上進(jìn)行過濾,以包過濾的形態(tài)提供應(yīng)用層保護(hù)能力,使得規(guī)則匹配在防火墻內(nèi)部由數(shù)據(jù)鏈路層直達(dá)應(yīng)用層。
2.1 流過濾處理策略
在流過濾報(bào)文處理策略中,要對(duì)不同報(bào)文區(qū)別對(duì)待,一部分類型的報(bào)文使用流過濾技術(shù),其它類型的報(bào)文使用包過濾技術(shù),比如說ARP報(bào)文、UDP報(bào)文、非用來傳輸數(shù)據(jù)的TCP報(bào)文都使用包過濾技術(shù),這些報(bào)文可根據(jù)MAC首部、IP首部、TCP首部進(jìn)行判斷。但判斷用來傳輸數(shù)據(jù)的TCP報(bào)文中哪些使用流過濾技術(shù)哪些使用包過濾技術(shù)的判定依據(jù)是TCP報(bào)文中的首部端口號(hào)、某些標(biāo)志字段及應(yīng)用層協(xié)議首部某些字段。使用流過濾技術(shù)的報(bào)文稱為關(guān)鍵報(bào)文,而其它的報(bào)文統(tǒng)稱為非關(guān)鍵報(bào)文。
2.2 流過濾的處理步驟
當(dāng)對(duì)關(guān)鍵報(bào)文應(yīng)用流過濾技術(shù)處理時(shí),流過濾技術(shù)邏輯上斷開數(shù)據(jù)發(fā)送端與數(shù)據(jù)接受端之間的直接網(wǎng)絡(luò)連接,即發(fā)送端與接受端之間在傳輸數(shù)據(jù)之前建立的網(wǎng)絡(luò)連接仍然存在,但發(fā)送端與接受端之間的數(shù)據(jù)傳輸必須通過使用流過濾技術(shù)的防火墻中轉(zhuǎn)。如圖1所示。
圖1 防火墻利用流過濾技術(shù)對(duì)關(guān)鍵報(bào)文進(jìn)行處理的過程,按照時(shí)間先后順序可分為三個(gè)步驟:
(1)對(duì)發(fā)送端發(fā)送應(yīng)答報(bào)文,并將同一會(huì)話中的全部關(guān)鍵報(bào)文在應(yīng)用層數(shù)據(jù)重組。
?。?)按照流過濾規(guī)則對(duì)重組后的完整數(shù)據(jù)進(jìn)行合法性檢查,并做相應(yīng)處理。
(3)對(duì)通過合法性檢查的數(shù)據(jù)發(fā)送給接受端,并處理接受端發(fā)出的應(yīng)答報(bào)文。
2.3 流過濾實(shí)現(xiàn)要點(diǎn)
?。?)報(bào)文分類:首先利用報(bào)文信息判斷第一個(gè)報(bào)文是否為關(guān)鍵報(bào)文,若是,記錄下IPv6基本報(bào)頭的流標(biāo)識(shí)字段值。對(duì)于收到的第二個(gè)報(bào)文,先與第一個(gè)比較流標(biāo)識(shí)字段值,若相等,則說明它們屬于同一個(gè)會(huì)話,第二個(gè)報(bào)文也為關(guān)鍵報(bào)文;否則再利用報(bào)文信息判斷是否為關(guān)鍵報(bào)文,若是,記錄下流標(biāo)識(shí)字段值。
?。?)發(fā)送應(yīng)答報(bào)文:關(guān)鍵在于應(yīng)答報(bào)文中IP首部標(biāo)識(shí)字段、TCP首部確認(rèn)序號(hào)及IP首部、TCP首部校驗(yàn)和的計(jì)算。
?。?)判斷同一會(huì)話關(guān)鍵報(bào)文是否傳輸完畢:在同一會(huì)話中收到TCP首部FIN標(biāo)志位為1的報(bào)文,即可確定傳送傳輸完畢。
(4)重組關(guān)鍵報(bào)文:通過報(bào)文中TCP首部序號(hào)字段的值及應(yīng)用數(shù)據(jù)的長度發(fā)現(xiàn)重復(fù)報(bào)文,并根據(jù)后發(fā)送報(bào)文的TCP首部序字段的值等于先發(fā)送報(bào)文TCP首部序號(hào)值加上應(yīng)用層數(shù)據(jù)長度加1這條規(guī)則,排列好同一會(huì)話的所有報(bào)文。
(5)發(fā)送合法數(shù)據(jù):需要發(fā)送數(shù)據(jù)時(shí)把原始報(bào)文按順序發(fā)送給接受端。
3 IPv6防火墻系統(tǒng)的設(shè)計(jì)
3.1 體系結(jié)構(gòu)
在IPv6網(wǎng)絡(luò)通信中,數(shù)據(jù)流是以密文的形式在網(wǎng)絡(luò)中傳輸,IPv6報(bào)文都是加密的,防火墻無法獲得相關(guān)信息進(jìn)行過濾,要么全部阻攔數(shù)據(jù)包則網(wǎng)絡(luò)將不能進(jìn)行通信,要么全部放行則容易受到攻擊。為解決這一問題,本文將采用屏蔽子網(wǎng)防火墻系統(tǒng)結(jié)構(gòu)[4],在此系統(tǒng)中的堡壘主機(jī)上實(shí)現(xiàn)流過濾技術(shù)。如圖2所示。
圖2 IPV6防火墻體系結(jié)構(gòu)圖
該系統(tǒng)層次結(jié)構(gòu)示意圖如圖3所示。
圖3 IPv6防火墻系統(tǒng)層次結(jié)構(gòu)示意圖
評(píng)論