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