防火墻的常用三種技術(shù)
防火墻的常用三種技術(shù)
關(guān)于防火墻常用的三種技術(shù)你們知道是哪三個(gè)嗎?如果不知道的話,下面就由小編來(lái)帶大家學(xué)習(xí)一下防火墻的三種常用技術(shù)吧。
防火墻的常用三種技術(shù):
1.包過(guò)濾技術(shù)
包過(guò)濾是最早使用的一種防火墻技術(shù),它的第一代模型是“靜態(tài)包過(guò)濾”(Static Packet Filtering),使用包過(guò)濾技術(shù)的防火墻通常工作在OSI模型中的網(wǎng)絡(luò)層(Network Layer)上,后來(lái)發(fā)展更新的“動(dòng)態(tài)包過(guò)濾”(Dynamic Packet Filtering)增加了傳輸層(Transport Layer),簡(jiǎn)而言之,包過(guò)濾技術(shù)工作的地方就是各種基于TCP/IP協(xié)議的數(shù)據(jù)報(bào)文進(jìn)出的通道,它把這兩層作為數(shù)據(jù)監(jiān)控的對(duì)象,對(duì)每個(gè)數(shù)據(jù)包的頭部、協(xié)議、地址、端口、類型等信息進(jìn)行分析,并與預(yù)先設(shè)定好的防火墻過(guò)濾規(guī)則(Filtering Rule)進(jìn)行核對(duì),一旦發(fā)現(xiàn)某個(gè)包的某個(gè)或多個(gè)部分與過(guò)濾規(guī)則匹配并且條件為“阻止”的時(shí)候,這個(gè)包就會(huì)被丟棄。適當(dāng)?shù)脑O(shè)置過(guò)濾規(guī)則可以讓防火墻工作得更安全有效,但是這種技術(shù)只能根據(jù)預(yù)設(shè)的過(guò)濾規(guī)則進(jìn)行判斷,一旦出現(xiàn)一個(gè)沒(méi)有在設(shè)計(jì)人員意料之中的有害數(shù)據(jù)包請(qǐng)求,整個(gè)防火墻的保護(hù)就相當(dāng)于擺設(shè)了。也許你會(huì)想,讓用戶自行添加不行嗎?但是別忘了,我們要為是普通計(jì)算機(jī)用戶考慮,并不是所有人都了解網(wǎng)絡(luò)協(xié)議的,如果防火墻工具出現(xiàn)了過(guò)濾遺漏問(wèn)題,他們只能等著被入侵了。一些公司采用定期從網(wǎng)絡(luò)升級(jí)過(guò)濾規(guī)則的方法,這個(gè)創(chuàng)意固然可以方便一部分家庭用戶,但是對(duì)相對(duì)比較專業(yè)的用戶而言,卻不見(jiàn)得就是好事,因?yàn)樗麄兛赡軙?huì)有根據(jù)自己的機(jī)器環(huán)境設(shè)定和改動(dòng)的規(guī)則,如果這個(gè)規(guī)則剛好和升級(jí)到的規(guī)則發(fā)生沖突,用戶就該郁悶了,而且如果兩條規(guī)則沖突了,防火墻該聽(tīng)誰(shuí)的,會(huì)不會(huì)當(dāng)場(chǎng)“死給你看”(崩潰)?也許就因?yàn)榭紤]到這些因素,至今我沒(méi)見(jiàn)過(guò)有多少個(gè)產(chǎn)品會(huì)提供過(guò)濾規(guī)則更新功能的,這并不能和殺毒軟件的病毒特征庫(kù)升級(jí)原理相提并論。為了解決這種魚與熊掌的問(wèn)題,人們對(duì)包過(guò)濾技術(shù)進(jìn)行了改進(jìn),這種改進(jìn)后的技術(shù)稱為“動(dòng)態(tài)包過(guò)濾”(市場(chǎng)上存在一種“基于狀態(tài)的包過(guò)濾防火墻”技術(shù),即Stateful-based Packet Filtering,他們其實(shí)是同一類型),與它的前輩相比,動(dòng)態(tài)包過(guò)濾功能在保持著原有靜態(tài)包過(guò)濾技術(shù)和過(guò)濾規(guī)則的基礎(chǔ)上,會(huì)對(duì)已經(jīng)成功與計(jì)算機(jī)連接的報(bào)文傳輸進(jìn)行跟蹤,并且判斷該連接發(fā)送的數(shù)據(jù)包是否會(huì)對(duì)系統(tǒng)構(gòu)成威脅,一旦觸發(fā)其判斷機(jī)制,防火墻就會(huì)自動(dòng)產(chǎn)生新的臨時(shí)過(guò)濾規(guī)則或者把已經(jīng)存在的過(guò)濾規(guī)則進(jìn)行修改,從而阻止該有害數(shù)據(jù)的繼續(xù)傳輸,但是由于動(dòng)態(tài)包過(guò)濾需要消耗額外的資源和時(shí)間來(lái)提取數(shù)據(jù)包內(nèi)容進(jìn)行判斷處理,所以與靜態(tài)包過(guò)濾相比,它會(huì)降低運(yùn)行效率,但是靜態(tài)包過(guò)濾已經(jīng)幾乎退出市場(chǎng)了,我們能選擇的,大部分也只有動(dòng)態(tài)包過(guò)濾防火墻了。
基于包過(guò)濾技術(shù)的防火墻,其缺點(diǎn)是很顯著的:它得以進(jìn)行正常工作的一切依據(jù)都在于過(guò)濾規(guī)則的實(shí)施,但是偏又不能滿足建立精細(xì)規(guī)則的要求(規(guī)則數(shù)量和防火墻性能成反比),而且它只能工作于網(wǎng)絡(luò)層和傳輸層,并不能判斷高級(jí)協(xié)議里的數(shù)據(jù)是否有害,但是由于它廉價(jià),容易實(shí)現(xiàn),所以它依然服役在各種領(lǐng)域,在技術(shù)人員頻繁的設(shè)置下為我們工作著。
2、應(yīng)用代理技術(shù)
由于包過(guò)濾技術(shù)無(wú)法提供完善的數(shù)據(jù)保護(hù)措施,而且一些特殊的報(bào)文攻擊僅僅使用過(guò)濾的方法并不能消除危害(如SYN攻擊、ICMP洪水等),因此人們需要一種更全面的防火墻保護(hù)技術(shù),在這樣的需求背景下,采用“應(yīng)用代理”(Application Proxy)技術(shù)的防火墻誕生了。我們的讀者還記得“代理”的概念嗎?代理服務(wù)器作為一個(gè)為用戶保密或者突破訪問(wèn)限制的數(shù)據(jù)轉(zhuǎn)發(fā)通道,在網(wǎng)絡(luò)上應(yīng)用廣泛。我們都知道,一個(gè)完整的代理設(shè)備包含一個(gè)服務(wù)端和客戶端,服務(wù)端接收來(lái)自用戶的請(qǐng)求,調(diào)用自身的客戶端模擬一個(gè)基于用戶請(qǐng)求的連接到目標(biāo)服務(wù)器,再把目標(biāo)服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)發(fā)給用戶,完成一次代理工作過(guò)程。那么,如果在一臺(tái)代理設(shè)備的服務(wù)端和客戶端之間連接一個(gè)過(guò)濾措施呢?這樣的思想便造就了“應(yīng)用代理”防火墻,這種防火墻實(shí)際上就是一臺(tái)小型的帶有數(shù)據(jù)檢測(cè)過(guò)濾功能的透明代理服務(wù)器(Transparent Proxy),但是它并不是單純的在一個(gè)代理設(shè)備中嵌入包過(guò)濾技術(shù),而是一種被稱為“應(yīng)用協(xié)議分析”(Application Protocol Analysis)的新技術(shù)。
“應(yīng)用協(xié)議分析”技術(shù)工作在OSI模型的最高層——應(yīng)用層上,在這一層里能接觸到的所有數(shù)據(jù)都是最終形式,也就是說(shuō),防火墻“看到”的數(shù)據(jù)和我們看到的是一樣的,而不是一個(gè)個(gè)帶著地址端口協(xié)議等原始內(nèi)容的數(shù)據(jù)包,因而它可以實(shí)現(xiàn)更高級(jí)的數(shù)據(jù)檢測(cè)過(guò)程。整個(gè)代理防火墻把自身映射為一條透明線路,在用戶方面和外界線路看來(lái),它們之間的連接并沒(méi)有任何阻礙,但是這個(gè)連接的數(shù)據(jù)收發(fā)實(shí)際上是經(jīng)過(guò)了代理防火墻轉(zhuǎn)向的,當(dāng)外界數(shù)據(jù)進(jìn)入代理防火墻的客戶端時(shí),“應(yīng)用協(xié)議分析”模塊便根據(jù)應(yīng)用層協(xié)議處理這個(gè)數(shù)據(jù),通過(guò)預(yù)置的處理規(guī)則(沒(méi)錯(cuò),又是規(guī)則,防火墻離不開(kāi)規(guī)則)查詢這個(gè)數(shù)據(jù)是否帶有危害,由于這一層面對(duì)的已經(jīng)不再是組合有限的報(bào)文協(xié)議,甚至可以識(shí)別類似于“GET /sql.asp?id=1 and 1”的數(shù)據(jù)內(nèi)容,所以防火墻不僅能根據(jù)數(shù)據(jù)層提供的信息判斷數(shù)據(jù),更能像管理員分析服務(wù)器日志那樣“看”內(nèi)容辨危害。而且由于工作在應(yīng)用層,防火墻還可以實(shí)現(xiàn)雙向限制,在過(guò)濾外部網(wǎng)絡(luò)有害數(shù)據(jù)的同時(shí)也監(jiān)控著內(nèi)部網(wǎng)絡(luò)的信息,管理員可以配置防火墻實(shí)現(xiàn)一個(gè)身份驗(yàn)證和連接時(shí)限的功能,進(jìn)一步防止內(nèi)部網(wǎng)絡(luò)信息泄漏的隱患。最后,由于代理防火墻采取是代理機(jī)制進(jìn)行工作,內(nèi)外部網(wǎng)絡(luò)之間的通信都需先經(jīng)過(guò)代理服務(wù)器審核,通過(guò)后再由代理服務(wù)器連接,根本沒(méi)有給分隔在內(nèi)外部網(wǎng)絡(luò)兩邊的計(jì)算機(jī)直接會(huì)話的機(jī)會(huì),可以避免入侵者使用“數(shù)據(jù)驅(qū)動(dòng)”攻擊方式(一種能通過(guò)包過(guò)濾技術(shù)防火墻規(guī)則的數(shù)據(jù)報(bào)文,但是當(dāng)它進(jìn)入計(jì)算機(jī)處理后,卻變成能夠修改系統(tǒng)設(shè)置和用戶數(shù)據(jù)的惡意代碼)滲透內(nèi)部網(wǎng)絡(luò),可以說(shuō),“應(yīng)用代理”是比包過(guò)濾技術(shù)更完善的防火墻技術(shù)。
但是,似乎任何東西都不可能逃避“墨菲定律”的規(guī)則,代理型防火墻的結(jié)構(gòu)特征偏偏正是它的最大缺點(diǎn),由于它是基于代理技術(shù)的,通過(guò)防火墻的每個(gè)連接都必須建立在為之創(chuàng)建的代理程序進(jìn)程上,而代理進(jìn)程自身是要消耗一定時(shí)間的,更何況代理進(jìn)程里還有一套復(fù)雜的協(xié)議分析機(jī)制在同時(shí)工作,于是數(shù)據(jù)在通過(guò)代理防火墻時(shí)就不可避免的發(fā)生數(shù)據(jù)遲滯現(xiàn)象,換個(gè)形象的說(shuō)法,每個(gè)數(shù)據(jù)連接在經(jīng)過(guò)代理防火墻時(shí)都會(huì)先被請(qǐng)進(jìn)保安室喝杯茶搜搜身再繼續(xù)趕路,而保安的工作速度并不能很快。代理防火墻是以犧牲速度為代價(jià)換取了比包過(guò)濾防火墻更高的安全性能,在網(wǎng)絡(luò)吞吐量不是很大的情況下,也許用戶不會(huì)察覺(jué)到什么,然而到了數(shù)據(jù)交換頻繁的時(shí)刻,代理防火墻就成了整個(gè)網(wǎng)絡(luò)的瓶頸,而且一旦防火墻的硬件配置支撐不住高強(qiáng)度的數(shù)據(jù)流量而發(fā)生罷工,整個(gè)網(wǎng)絡(luò)可能就會(huì)因此癱瘓了。所以,代理防火墻的普及范圍還遠(yuǎn)遠(yuǎn)不及包過(guò)濾型防火墻,而在軟件防火墻方面更是幾乎沒(méi)見(jiàn)過(guò)類似產(chǎn)品了——單機(jī)并不具備代理技術(shù)所需的條件,所以就目前整個(gè)龐大的軟件防火墻市場(chǎng)來(lái)說(shuō),代理防火墻很難有立足之地。
3、狀態(tài)檢測(cè)技術(shù)
這是繼“包過(guò)濾”技術(shù)和“應(yīng)用代理”技術(shù)后發(fā)展的防火墻技術(shù),它是CheckPoint技術(shù)公司在基于“包過(guò)濾”原理的“動(dòng)態(tài)包過(guò)濾”技術(shù)發(fā)展而來(lái)的,與之類似的有其他廠商聯(lián)合發(fā)展的“深度包檢測(cè)”(Deep Packet Inspection)技術(shù)。這種防火墻技術(shù)通過(guò)一種被稱為“狀態(tài)監(jiān)視”的模塊,在不影響網(wǎng)絡(luò)安全正常工作的前提下采用抽取相關(guān)數(shù)據(jù)的方法對(duì)網(wǎng)絡(luò)通信的各個(gè)層次實(shí)行監(jiān)測(cè),并根據(jù)各種過(guò)濾規(guī)則作出安全決策。
“狀態(tài)監(jiān)視”(Stateful Inspection)技術(shù)在保留了對(duì)每個(gè)數(shù)據(jù)包的頭部、協(xié)議、地址、端口、類型等信息進(jìn)行分析的基礎(chǔ)上,進(jìn)一步發(fā)展了“會(huì)話過(guò)濾”(Session Filtering)功能,在每個(gè)連接建立時(shí),防火墻會(huì)為這個(gè)連接構(gòu)造一個(gè)會(huì)話狀態(tài),里面包含了這個(gè)連接數(shù)據(jù)包的所有信息,以后這個(gè)連接都基于這個(gè)狀態(tài)信息進(jìn)行,這種檢測(cè)的高明之處是能對(duì)每個(gè)數(shù)據(jù)包的內(nèi)容進(jìn)行監(jiān)視,一旦建立了一個(gè)會(huì)話狀態(tài),則此后的數(shù)據(jù)傳輸都要以此會(huì)話狀態(tài)作為依據(jù),例如一個(gè)連接的數(shù)據(jù)包源端口是8000,那么在以后的數(shù)據(jù)傳輸過(guò)程里防火墻都會(huì)審核這個(gè)包的源端口還是不是8000,否則這個(gè)數(shù)據(jù)包就被攔截,而且會(huì)話狀態(tài)的保留是有時(shí)間限制的,在超時(shí)的范圍內(nèi)如果沒(méi)有再進(jìn)行數(shù)據(jù)傳輸,這個(gè)會(huì)話狀態(tài)就會(huì)被丟棄。狀態(tài)監(jiān)視可以對(duì)包內(nèi)容進(jìn)行分析,從而擺脫了傳統(tǒng)防火墻僅局限于幾個(gè)包頭部信息的檢測(cè)弱點(diǎn),而且這種防火墻不必開(kāi)放過(guò)多端口,進(jìn)一步杜絕了可能因?yàn)殚_(kāi)放端口過(guò)多而帶來(lái)的安全隱患。
由于狀態(tài)監(jiān)視技術(shù)相當(dāng)于結(jié)合了包過(guò)濾技術(shù)和應(yīng)用代理技術(shù),因此是最先進(jìn)的,但是由于實(shí)現(xiàn)技術(shù)復(fù)雜,在實(shí)際應(yīng)用中還不能做到真正的完全有效的數(shù)據(jù)安全檢測(cè),而且在一般的計(jì)算機(jī)硬件系統(tǒng)上很難設(shè)計(jì)出基于此技術(shù)的完善防御措施(市面上大部分軟件防火墻使用的其實(shí)只是包過(guò)濾技術(shù)加上一點(diǎn)其他新特性而已)。