什么是包過濾技術(shù)?包過濾(Packet Filtering)技術(shù)是根據(jù)流經(jīng)防火墻的數(shù)據(jù)包的特征,依據(jù)預(yù)先定義好的規(guī)則,決定是否允許數(shù)據(jù)包通過的技術(shù)。它對(duì)數(shù)據(jù)包進(jìn)行分析篩選的依據(jù)是系統(tǒng)內(nèi)設(shè)置的訪問控制表(Access Control Table)。通過檢查數(shù)據(jù)流中每個(gè)數(shù)據(jù)包的源地址、目的地址、所用的端口號(hào)、協(xié)議狀態(tài)等信息或它們的組合信息來確定是否允許該數(shù)據(jù)包通過。
(1)靜態(tài)包過濾
靜態(tài)包過濾,又稱簡(jiǎn)單包過濾(Simple Packet Filter)是根據(jù)定義好的過濾規(guī)則審查每個(gè)數(shù)據(jù)包,以便確定其是否與某一條包過濾規(guī)則匹配,然后對(duì)所接收的每個(gè)數(shù)據(jù)包做允許或拒絕的決定。過濾規(guī)則基于數(shù)據(jù)包報(bào)頭中的信息,例如源IP地址、目標(biāo)IP地址、協(xié)議類型(TCP、UDP、ICMP等)、源端口和目的端口。
(2)動(dòng)態(tài)包過濾
動(dòng)態(tài)包過濾(Dynamic Packet Filter)采用動(dòng)態(tài)設(shè)置包過濾規(guī)則的方法過濾數(shù)據(jù)包。采用這種技術(shù)的防火墻對(duì)每一個(gè)連接都進(jìn)行跟蹤,動(dòng)態(tài)地決定哪些數(shù)據(jù)包可以通過,并且可以根據(jù)需要?jiǎng)討B(tài)地在過濾規(guī)則中增加或更新條目。
(3)包狀態(tài)檢測(cè)
包狀態(tài)檢測(cè)(Stateful Inspection)技術(shù)繼承了包過濾技術(shù)的優(yōu)點(diǎn),同時(shí)摒棄了包過濾技術(shù)僅考查數(shù)據(jù)包的IP地址、協(xié)議類型等幾個(gè)參數(shù),而不關(guān)心數(shù)據(jù)包連接狀態(tài)變化的缺點(diǎn),通過建立狀態(tài)連接表,并將進(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)當(dāng)成一個(gè)個(gè)的會(huì)話,利用狀態(tài)表跟蹤每一個(gè)會(huì)話狀態(tài)。狀態(tài)監(jiān)測(cè)對(duì)每一個(gè)包的檢查不僅根據(jù)“規(guī)則表”,更考慮了數(shù)據(jù)包是否符合會(huì)話所處的狀態(tài),檢查數(shù)據(jù)包之間的關(guān)聯(lián)性,因而能提供更完整的對(duì)傳輸層的控制能力。
(4)深度包檢測(cè)
深度包檢測(cè)(Deep Packet Inspection)技術(shù)融合了入侵檢換(和攻擊防范的功能,通過指紋匹配、啟發(fā)式技術(shù)、異常檢測(cè)和統(tǒng)計(jì)分析等技術(shù)來決定如何處理數(shù)據(jù)包,并可以根據(jù)特征檢測(cè)和內(nèi)容過濾來尋找已知的攻擊,阻止分布式拒絕服務(wù)攻擊、病毒傳播和異常訪問等威脅網(wǎng)絡(luò)安全的行為。
包過濾防火墻通常工作在OSI的3層及3層以下,可控的內(nèi)容主要包括報(bào)文的源地址、報(bào)文的目標(biāo)地址、服務(wù)類型,以及數(shù)據(jù)鏈路層的 MAC 地址等。隨著包過濾防火墻的發(fā)展,部分OSI的4層內(nèi)容也被包括進(jìn)來,例如報(bào)文的源端口和目的端口。包過濾防火墻遵循的一條基本原則是“最小特權(quán)原則”,即明確允許某些數(shù)據(jù)包通過,而禁止其他的數(shù)據(jù)包通過。
由于大多數(shù)路由器都提供簡(jiǎn)單的數(shù)據(jù)包過濾功能,所以傳統(tǒng)的包過濾防火墻多數(shù)是由路由器集成的。
包過濾防火墻的優(yōu)點(diǎn)是不用改動(dòng)應(yīng)用程序、數(shù)據(jù)包過濾對(duì)用戶透明、過濾速度快、通用性強(qiáng)(因?yàn)樗会槍?duì)具體的網(wǎng)絡(luò)服務(wù));缺點(diǎn)是不能徹底防止地址欺騙,某些協(xié)議不適合于數(shù)據(jù)包過濾(例如過濾器不能有效地過濾UDP、RPC類協(xié)議),無法執(zhí)行某些安全策略(例如審計(jì)和報(bào)警),安全性較差(例如:過濾器只能依據(jù)包頭信息進(jìn)行過濾,能對(duì)用戶身份進(jìn)行驗(yàn)證),對(duì)網(wǎng)絡(luò)管理人員素質(zhì)要求高以及隨著過濾規(guī)則數(shù)目的增加,性能會(huì)受到很大地影響等。
在包狀態(tài)檢測(cè)防火墻的內(nèi)核中,運(yùn)行著狀態(tài)檢測(cè)引擎(Stateful Inspections Engine),它負(fù)責(zé)在對(duì)接收到的數(shù)據(jù)包進(jìn)行審核,當(dāng)接收到的數(shù)據(jù)包符合訪問控制要求時(shí),將該數(shù)據(jù)包傳到高層進(jìn)行應(yīng)用級(jí)別和狀態(tài)的審核,如果不符合要求,則丟棄。
與包狀態(tài)檢測(cè)防火墻相比,深度包檢測(cè)防火墻不但要保留基本的網(wǎng)絡(luò)連接狀態(tài),而且還要維持網(wǎng)絡(luò)的應(yīng)用狀態(tài)。