什么是包過濾技術?包過濾(Packet Filtering)技術是根據流經防火墻的數據包的特征,依據預先定義好的規則,決定是否允許數據包通過的技術。它對數據包進行分析篩選的依據是系統內設置的訪問控制表(Access Control Table)。通過檢查數據流中每個數據包的源地址、目的地址、所用的端口號、協議狀態等信息或它們的組合信息來確定是否允許該數據包通過。
(1)靜態包過濾
靜態包過(guo)(guo)濾(lv)(lv),又稱簡單包過(guo)(guo)濾(lv)(lv)(Simple Packet Filter)是(shi)根據(ju)定(ding)(ding)義好的過(guo)(guo)濾(lv)(lv)規(gui)則審(shen)查每(mei)個數據(ju)包,以便(bian)確定(ding)(ding)其是(shi)否與某一條包過(guo)(guo)濾(lv)(lv)規(gui)則匹配,然(ran)后(hou)對所(suo)接收的每(mei)個數據(ju)包做允許或拒絕的決定(ding)(ding)。過(guo)(guo)濾(lv)(lv)規(gui)則基于數據(ju)包報頭中的信(xin)息,例如(ru)源(yuan)IP地址(zhi)、目(mu)標IP地址(zhi)、協(xie)議類型(TCP、UDP、ICMP等)、源(yuan)端口和(he)目(mu)的端口。
(2)動態包過濾
動態(tai)包(bao)過濾(lv)(Dynamic Packet Filter)采(cai)用(yong)動態(tai)設置包(bao)過濾(lv)規則的方法過濾(lv)數據(ju)包(bao)。采(cai)用(yong)這種技術的防火墻對每一(yi)個連接都進行跟蹤,動態(tai)地決定(ding)哪些數據(ju)包(bao)可(ke)以通過,并且可(ke)以根據(ju)需要動態(tai)地在過濾(lv)規則中(zhong)增加或更新條目(mu)。
(3)包狀態檢測
包(bao)(bao)狀(zhuang)(zhuang)態檢(jian)測(ce)(Stateful Inspection)技(ji)術繼承了(le)包(bao)(bao)過(guo)濾技(ji)術的(de)優點,同(tong)時(shi)摒棄(qi)了(le)包(bao)(bao)過(guo)濾技(ji)術僅(jin)考查(cha)(cha)數(shu)據(ju)包(bao)(bao)的(de)IP地址、協議類型等幾個(ge)參數(shu),而不關心數(shu)據(ju)包(bao)(bao)連接狀(zhuang)(zhuang)態變(bian)化的(de)缺(que)點,通過(guo)建立狀(zhuang)(zhuang)態連接表(biao),并將進出(chu)網絡(luo)的(de)數(shu)據(ju)當成一個(ge)個(ge)的(de)會話,利用(yong)狀(zhuang)(zhuang)態表(biao)跟蹤每一個(ge)會話狀(zhuang)(zhuang)態。狀(zhuang)(zhuang)態監(jian)測(ce)對(dui)每一個(ge)包(bao)(bao)的(de)檢(jian)查(cha)(cha)不僅(jin)根據(ju)“規則表(biao)”,更考慮了(le)數(shu)據(ju)包(bao)(bao)是(shi)否符合會話所處的(de)狀(zhuang)(zhuang)態,檢(jian)查(cha)(cha)數(shu)據(ju)包(bao)(bao)之間的(de)關聯性,因而能提供更完整的(de)對(dui)傳輸層(ceng)的(de)控制能力。
(4)深度包檢測
深度(du)包檢(jian)(jian)測(ce)(Deep Packet Inspection)技術融合了入(ru)侵檢(jian)(jian)換(和(he)攻擊防范的功能,通過指紋(wen)匹配、啟(qi)發式(shi)(shi)技術、異(yi)常檢(jian)(jian)測(ce)和(he)統計分析(xi)等技術來決定(ding)如何處理數據(ju)包,并可以(yi)根(gen)據(ju)特征檢(jian)(jian)測(ce)和(he)內容過濾來尋找已知(zhi)的攻擊,阻止分布式(shi)(shi)拒絕服務攻擊、病毒傳播和(he)異(yi)常訪問等威(wei)脅網絡安全的行為。
包過(guo)(guo)濾防火墻(qiang)通常(chang)工作在OSI的(de)(de)3層(ceng)及3層(ceng)以(yi)(yi)下,可控的(de)(de)內容主要包括報文的(de)(de)源地址(zhi)、報文的(de)(de)目(mu)標(biao)地址(zhi)、服務(wu)類型(xing),以(yi)(yi)及數(shu)(shu)據(ju)鏈路(lu)層(ceng)的(de)(de) MAC 地址(zhi)等。隨著包過(guo)(guo)濾防火墻(qiang)的(de)(de)發展(zhan),部分OSI的(de)(de)4層(ceng)內容也(ye)被(bei)包括進來(lai),例如報文的(de)(de)源端口和目(mu)的(de)(de)端口。包過(guo)(guo)濾防火墻(qiang)遵循的(de)(de)一條基(ji)本原則是“最小特權原則”,即明(ming)確允(yun)許(xu)某些數(shu)(shu)據(ju)包通過(guo)(guo),而禁止其他的(de)(de)數(shu)(shu)據(ju)包通過(guo)(guo)。
由于大(da)多數路(lu)由器(qi)都提供簡單的(de)數據(ju)包過(guo)濾(lv)功(gong)能,所(suo)以傳統的(de)包過(guo)濾(lv)防(fang)火(huo)墻(qiang)多數是由路(lu)由器(qi)集成(cheng)的(de)。
包過(guo)濾(lv)(lv)(lv)防火墻的優點是不(bu)用(yong)改動應用(yong)程(cheng)序、數據包過(guo)濾(lv)(lv)(lv)對用(yong)戶(hu)透(tou)明、過(guo)濾(lv)(lv)(lv)速度(du)快(kuai)、通用(yong)性(xing)(xing)強(因為它不(bu)針(zhen)對具體的網絡(luo)服務);缺點是不(bu)能(neng)(neng)徹底防止地址欺騙(pian),某(mou)些協議不(bu)適合(he)于數據包過(guo)濾(lv)(lv)(lv)(例如過(guo)濾(lv)(lv)(lv)器不(bu)能(neng)(neng)有效(xiao)地過(guo)濾(lv)(lv)(lv)UDP、RPC類(lei)協議),無法執行某(mou)些安(an)全策略(lve)(例如審計和報警(jing)),安(an)全性(xing)(xing)較差(例如:過(guo)濾(lv)(lv)(lv)器只能(neng)(neng)依據包頭信息進(jin)行過(guo)濾(lv)(lv)(lv),能(neng)(neng)對用(yong)戶(hu)身份進(jin)行驗證),對網絡(luo)管理(li)人員(yuan)素質要求高(gao)以及隨著過(guo)濾(lv)(lv)(lv)規則數目(mu)的增加,性(xing)(xing)能(neng)(neng)會受到很大地影響等(deng)。
在包(bao)狀(zhuang)態(tai)檢測防火墻(qiang)的內核(he)中,運(yun)行(xing)著狀(zhuang)態(tai)檢測引擎(Stateful Inspections Engine),它負(fu)責在對接(jie)收到的數(shu)據包(bao)進(jin)行(xing)審核(he),當接(jie)收到的數(shu)據包(bao)符合訪(fang)問控制要(yao)求(qiu)(qiu)時(shi),將該(gai)數(shu)據包(bao)傳(chuan)到高層進(jin)行(xing)應用級別和狀(zhuang)態(tai)的審核(he),如果不(bu)符合要(yao)求(qiu)(qiu),則丟(diu)棄。
與包狀態檢測防火墻相比,深度包檢測防火墻不但要保留基本的網絡連接狀態,而且還要維持網絡的應用狀態。