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