查看單個文章
舊 2006-01-21, 12:05 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 防火牆知識介紹

防火牆知識介紹

一. 防火牆的概念


  近年來,隨著普通電腦用戶群的日益增長,「防火牆」一詞已經不再是伺服器領域的專署,大部分家庭用戶都知道為自己愛機安裝各種「防火牆」軟體了。



但是,並不是所有用戶都對「防火牆」有所瞭解的,一部分用戶甚至認為,「防火牆」是一種軟體的名稱……
  到底什麼才是防火牆?
它工作在什麼位置,起著什麼作用?查閱歷史書籍可知,古代構築和使用木製結構房屋的時候為防止火災的發生和蔓延,人們將堅固的石塊堆砌在房屋週圍作為屏障,這種防護構築物就被稱為「防火牆」(FireWall)。



時光飛梭,隨著電腦和網路的發展,各種攻擊入侵手段也相繼出現了,為了保護電腦的安全,人們開發出一種能阻止電腦之間直接通信的技術,並沿用了古代類似這個功能的名字——「防火牆」技術來源於此。




用專業術語來說,防火牆是一種位於兩個或多個網路間,實施網路之間訪問控制的元件集合。對於普通用戶來說,所謂「防火牆」,指的就是一種被放置在自己的電腦與外界網路之間的防禦系統,從網路發往電腦的所有資料都要經過它的判斷處理後,才會決定能不能把這些資料交給電腦,一旦發現有害資料,防火牆就會攔截下來,實現了對電腦的保護功能。
  防火牆技術從誕生開始,就在一刻不停的發展著,各種不同結構不同功能的防火牆,構築成網路上的一道道防禦大堤。


二. 防火牆的分類


  世界上沒有一種事物是唯一的,防火牆也一樣,為了更有效率的對付網路上各種不同攻擊手段,防火牆也派分出幾種防禦架構。根據物理特性,防火牆分為兩大類,硬體防火牆和軟體防火牆。



軟體防火牆是一種安裝在負責內外網路轉換的網路閘道伺服器或者獨立的個人電腦上的特殊程序,它是以邏輯形式存在的,防火牆程序跟隨系統啟動,通過執行在Ring0層次的特殊驅動模組把防禦機制插入系統關於網路的處理部分和網路接頭設備驅動之間,形成一種邏輯上的防禦體系。




  在沒有軟體防火牆之前,系統和網路接頭設備之間的通道是直接的,網路接頭設備通過網路驅動程式接頭(Network Driver Interface Specification,NDIS)把網路上傳來的各種報文都忠實的交給系統處理,例如一台電腦接收到請求列出電腦上所有共享資源的資料報文,NDIS直接把這個報文提交給系統,系統在處理後就會返回相應資料,在某些情況下就會造成訊息洩漏。而使用軟體防火牆後,儘管NDIS接收到仍然的是原封不動的資料報文,但是在提交到系統的通道上多了一層防禦機制,所有資料報文都要經過這層機制根據一定的規則判斷處理,只有它認為安全的資料才能到達系統,其他資料則被丟棄。因為有規則提到「列出共享資源的行為是危險的」,因此在防火牆的判斷下,這個報文會被丟棄,這樣一來,系統接收不到報文,則認為什麼事情也沒發生過,也就不會把訊息洩漏出去了。



  軟體防火牆工作於系統接頭與NDIS之間,用於檢查過濾由NDIS傳送過來的資料,在無需改動硬體的前提下便能實現一定強度的安全保障,但是由於軟體防火牆自身屬於執行於系統上的程序,不可避免的需要佔用一部分CPU資源維持工作,而且由於資料判斷處理需要一定的時間,在一些資料流量大的網路裡,軟體防火牆會使整個系統工作效率和資料吞吐速度下降,甚至有些軟體防火牆會存在漏洞,導致有害資料可以繞過它的防禦體系,給資料安全帶來損失,因此,許多企業並不會考慮用軟體防火牆方案作為公司網路的防禦措施,而是使用看得見摸得著的硬體防火牆。




  硬體防火牆是一種以物理形式存在的專用設備,通常架設於兩個網路的駁接處,直接從網路設備上檢查過濾有害的資料報文,位於防火牆設備後端的網路或者伺服器接收到的是經過防火牆處理的相對安全的資料,不必另外分出CPU資源去進行關於軟體架構的NDIS資料檢測,可以大大提高工作效率。




  硬體防火牆一般是通過網線連接於外部網路接頭與內部伺服器或企業網路之間的設備,這裡又另外派分出兩種結構,一種是普通硬體等級防火牆,它擁有標準電腦的硬體平台和一些功能經過簡化處理的UNIX系列操作系統和防火牆軟體,這種防火牆措施相當於專門拿出一台電腦安裝了軟體防火牆,除了不需要處理其他事務以外,它畢竟還是一般的操作系統,因此有可能會存在漏洞和不穩定因素,安全性並不能做到最好;另一種是所謂的「晶片」級硬體防火牆,它採用專門設計的硬體平台,在上面搭建的軟體也是專門開發的,並非流行的操作系統,因而可以達到較好的安全效能保障。但無論是哪種硬體防火牆,管理員都可以通過電腦連接上去設定工作參數。由於硬體防火牆的主要作用是把傳入的資料報文進行過濾處理後轉發直接於防火牆後面的網路中,因此它自身的硬體規格也是分等級的,儘管硬體防火牆已經足以實現比較高的訊息處理效率,但是在一些對資料吞吐量要求很高的網路裡,等級低的防火牆仍然會形成瓶頸,所以對於一些大企業而言,晶片級的硬體防火牆才是他們的首選。




  有人也許會這麼想,既然PC架構的防火牆也不過如此,那麼購買這種防火牆還不如自己找技術人員專門騰出一台電腦來做防火牆方案了。雖然這樣做也是可以的,但是工作效率並不能和真正的PC架構防火牆相比,因為PC架構防火牆採用的是專門修改簡化過的系統和相應防火牆程序,比一般電腦系統和軟體防火牆更高度緊密集合,而且由於它的工作性質決定了它要具備非常高的穩定性、實用性和非常高的系統吞吐效能,這些要求並不是安裝了多網路卡的電腦就能簡單替代的,因此PC架構防火牆雖然是與電腦差不多的組態,價格卻相差很大。




  現實中我們往往會發現,並非所有企業都架設了晶片級硬體防火牆,而是用PC架構防火牆甚至前面提到的電腦替代方案支撐著,為什麼?

這大概就是硬體防火牆最顯著的缺點了:它太貴了!
購進一台PC架構防火牆的成本至少都要幾千元,高階次的晶片級防火牆方案更是在十萬元以上,這些價格並非是小企業所能承受的,而且對於一般家庭用戶而言,自己的資料和系統安全也無需專門用到一個硬體設備去保護,何況為一台防火牆投入的資金足以讓用戶購買更高階的電腦了,因而廣大用戶只要安裝一種好用的軟體防火牆就夠了。




  為防火牆分類的方法很多,除了從形式上把它分為軟體防火牆和硬體防火牆以外,還可以從技術上分為「包過濾型」、「套用代理型」和「狀態監視」三類;從結構上又分為單一主機防火牆、路由整合式防火牆和分佈式防火牆三種;按工作位置分為邊界防火牆、個人防火牆和混合防火牆;按防火牆效能分為百兆級防火牆和千兆級防火牆兩類……雖然看似種類繁多,但這只是因為業界分類方法不同罷了,例如一台硬體防火牆就可能由於結構、資料吞吐量和工作位置而規劃為「百兆級狀態監視型邊界防火牆」,因此這裡主要介紹的是技術方面的分類,即「包過濾型」、「套用代理型」和「狀態監視型」防火牆技術。




  那麼,那些所謂的「邊界防火牆」、「單一主機防火牆」又是什麼概念呢?所謂「邊界」,就是指兩個網路之間的接頭處,工作於此的防火牆就被稱為「邊界防火牆」;與之相對的有「個人防火牆」,它們通常是關於軟體的防火牆,只處理一台電腦的資料而不是整個網路的資料,現在一般家庭用戶使用的軟體防火牆就是這個分類了。


而「單一主機防火牆」呢,就是我們最一般的一台台硬體防火牆了;一些廠商為了節約成本,直接把防火牆功能嵌進路由設備裡,就形成了路由整合式防火牆……


三. 防火牆技術


  傳統意義上的防火牆技術分為三大類,「包過濾」(Packet Filtering)、「套用代理」(Application Proxy)和「狀態監視」(Stateful Inspection),無論一個防火牆的實現程序多麼複雜,歸根結底都是在這三種技術的基礎上進行功能增強的。



1.包過濾技術

  包過濾是最早使用的一種防火牆技術,它的第一代模型是「靜態包過濾」(Static Packet Filtering),使用包過濾技術的防火牆通常工作在OSI模型中的網路層(Network Layer)上,後來發展更新的「動態包過濾」(Dynamic Packet Filtering)增加了傳輸層(Transport Layer),簡而言之,包過濾技術工作的地方就是各種關於TCP/IP傳輸協定的資料報文進出的通道,它把這兩層作為資料監控的對象,對每個資料包的頭部、傳輸協定、位址、連接阜、檔案類型等訊息進行分析,並與預先設定好的防火牆過濾規則(Filtering Rule)進行核對,一旦發現某個包的某個或多個部分與過濾規則匹配並且條件為「阻止」的時候,這個包就會被丟棄。




適當的設定過濾規則可以讓防火牆工作得更安全有效,但是這種技術只能根據預設的過濾規則進行判斷,一旦出現一個沒有在設計人員意料之中的有害資料包請求,整個防火牆的保護就相當於擺設了。


也許你會想,讓用戶自行增加不行嗎?但是別忘了,我們要為是普通電腦用戶考慮,並不是所有人都瞭解網路傳輸協定的,如果防火牆工具出現了過濾遺漏問題,他們只能等著被入侵了。




一些公司採用定期從網路昇級過濾規則的方法,這個創意固然可以方便一部分家庭用戶,但是對相對比較專業的用戶而言,卻不見得就是好事,因為他們可能會有根據自己的機器環境設定和改動的規則,如果這個規則剛好和昇級到的規則發生衝突,用戶就該鬱悶了,而且如果兩條規則衝突了,防火牆該聽誰的,會不會當場「死給你看」(崩潰)?

也許就因為考慮到這些因素,至今我沒見過有多少個產品會提供過濾規則更新功能的,這並不能和殺毒軟體的病毒特徵庫昇級原理相提並論。





為了解決這種魚與熊掌的問題,人們對包過濾技術進行了改進,這種改進後的技術稱為「動態包過濾」(市場上存在一種「關於狀態的包過濾防火牆」技術,即Stateful-based Packet Filtering,他們其實是同一檔案類型),與它的前輩相比,動態包過濾功能在保持著原有靜態包過濾技術和過濾規則的基礎上,會對已經成功與電腦連接的報文傳輸進行跟蹤,並且判斷該連接傳送的資料包是否會對系統構成威脅,一旦觸發其判斷機制,防火牆就會自動產生新的臨時過濾規則或者把已經存在的過濾規則進行修改,從而阻止該有害資料的繼續傳輸,但是由於動態包過濾需要消耗額外的資源和時間來抽取資料包內容進行判斷處理,所以與靜態包過濾相比,它會降低執行效率,但是靜態包過濾已經幾乎結束市場了,我們能選項的,大部分也只有動態包過濾防火牆了。


  關於包過濾技術的防火牆,其缺點是很顯著的:
它得以進行正常工作的一切依據都在於過濾規則的實施,但是偏又不能滿足建立精細規則的要求(規則數量和防火牆效能成反比),而且它只能工作於網路層和傳輸層,並不能判斷進階傳輸協定裡的資料是否有害,但是由於它廉價,容易實現,所以它依然服役在各種領域,在技術人員頻繁的設定下為我們工作著。


2.套用代理技術




  由於包過濾技術無法提供完善的資料保護措施,而且一些特殊的報文攻擊僅僅使用過濾的方法並不能消除危害(如SYN攻擊、ICMP洪水等),因此人們需要一種更全面的防火牆保護技術,在這樣的需求背景下,採用「套用代理」(Application Proxy)技術的防火牆誕生了。


我們的讀者還記得「代理」的概念嗎?代理伺服器作為一個為用戶保密或者突破訪問限制的資料轉發通道,在網路上套用廣泛。


我們都知道,一個完整的代理設備包含一個服務端和客戶端,服務端接收來自用戶的請求,使用自身的客戶端模擬一個關於用戶請求的連線到目標伺服器,再把目標伺服器返回的資料轉發給用戶,完成一次代理工作程序。那麼,如果在一台代理設備的服務端和客戶端之間連接一個過濾措施呢?

這樣的思想便造就了「套用代理」防火牆,這種防火牆實際上就是一台小型的帶有資料檢測過濾功能的透明代理伺服器(Transparent Proxy),但是它並不是單純的在一個代理設備中嵌入包過濾技術,而是一種被稱為「套用傳輸協定分析」(Application Protocol Analysis)的新技術。




  「套用傳輸協定分析」技術工作在OSI模型的最高層——套用層上,在這一層裡能接觸到的所有資料都是最終形式,也就是說,防火牆「看到」的資料和我們看到的是一樣的,而不是一個個帶著位址連接阜傳輸協定等原始內容的資料包,因而它可以實現更進階的資料檢測程序。整個代理防火牆把自身映射為一條透明線路,在用戶方面和外界線路看來,它們之間的連接並沒有任何阻礙,但是這個連接的資料收發實際上是經過了代理防火牆轉向的,當外界資料進入代理防火牆的客戶端時,「套用傳輸協定分析」模組便根據套用層傳輸協定處理這個資料,通過預置的處理規則(沒錯,又是規則,防火牆離不開規則)查詢這個資料是否帶有危害,由於這一層面對的已經不再是組合有限的報文傳輸協定,甚至可以識別類似於「GET /sql.asp?id=1 and 1」的資料內容,所以防火牆不僅能根據資料層提供的訊息判斷資料,更能像管理員分析伺服器日誌那樣「看」內容辨危害。



而且由於工作在套用層,防火牆還可以實現雙向限制,在過濾外部網路有害資料的同時也監控著內部網路的訊息,管理員可以組態防火牆實現一個身份驗證和連接時限的功能,進一步防止內部網路訊息洩漏的隱患。最後,由於代理防火牆採取是代理機制進行工作,內外部網路之間的通信都需先經過代理伺服器稽核,通過後再由代理伺服器連接,根本沒有給分隔在內外部網路兩邊的電腦直接會話的機會,可以避免入侵者使用「資料驅動」攻擊方式(一種能通過包過濾技術防火牆規則的資料報文,但是當它進入電腦處理後,卻變成能夠修改系統設定和用戶資料的惡意程式碼)滲透內部網路,可以說,「套用代理」是比包過濾技術更完善的防火牆技術。



  但是,似乎任何東西都不可能逃避「墨菲定律」的規則,代理型防火牆的結構特徵偏偏正是它的最大缺點,由於它是關於代理技術的,通過防火牆的每個連接都必須建立在為之新增的代理程序工作上,而代理工作自身是要消耗一定時間的,更何況代理工作裡還有一套複雜的傳輸協定分析機制在同時工作,於是資料在通過代理防火牆時就不可避免的發生資料遲滯現象,換個形象的說法,每個資料連接在經過代理防火牆時都會先被請進保安室喝杯茶搜搜身再繼續趕路,而保安的工作速度並不能很快。




代理防火牆是以犧牲速度為代價換取了比包過濾防火牆更高的安全效能,在網路吞吐量不是很大的情況下,也許用戶不會察覺到什麼,然而到了資料交換頻繁的時刻,代理防火牆就成了整個網路的瓶頸,而且一旦防火牆的硬體組態支撐不住高強度的資料流量而發生罷工,整個網路可能就會因此癱瘓了。


所以,代理防火牆的普及範圍還遠遠不及包過濾型防火牆,而在軟體防火牆方面更是幾乎沒見過類似產品了——單機並不具備代理技術所需的條件,所以就目前整個龐大的軟體防火牆市場來說,代理防火牆很難有立足之地。




3.狀態監視技術


  這是繼「包過濾」技術和「套用代理」技術後發展的防火牆技術,它是CheckPoint技術公司在關於「包過濾」原理的「動態包過濾」技術發展而來的,與之類似的有其他廠商聯合發展的「深度包檢測」(Deep Packet Inspection)技術。


這種防火牆技術通過一種被稱為「狀態監視」的模組,在不影響網路安全正常工作的前提下採用抽取相關資料的方法對網路通信的各個層次實行監測,並根據各種過濾規則作出安全決策。



  「狀態監視」(Stateful Inspection)技術在保留了對每個資料包的頭部、傳輸協定、位址、連接阜、檔案類型等訊息進行分析的基礎上,進一步發展了「會話過濾」(Session Filtering)功能,在每個連接建立時,防火牆會為這個連接構造一個會話狀態,裡面包含了這個連接資料包的所有訊息,以後這個連接都關於這個狀態訊息進行,這種檢測的高明之處是能對每個資料包的內容進行監視,一旦建立了一個會話狀態,則此後的資料傳輸都要以此會話狀態作為依據,例如一個連接的資料包源連接阜是8000,那麼在以後的資料傳輸程序裡防火牆都會稽核這個包的源連接阜還是不是8000,否則這個資料包就被攔截,而且會話狀態的保留是有時間限制的,在超時的範圍內如果沒有再進去行資料傳輸,這個會話狀態就會被丟棄。



狀態監視可以對包內容進行分析,從而擺脫了傳統防火牆僅局限於幾個網封包頭部訊息的檢測弱點,而且這種防火牆不必開放過多連接阜,進一步杜絕了可能因為開放連接阜過多而帶來的安全隱患。



  由於狀態監視技術相當於結合了包過濾技術和套用代理技術,因此是最先進的,但是由於實現技術複雜,在實際套用中還不能做到真正的完全有效的資料安全檢測,而且在一般的電腦硬體系統上很難設計出關於此技術的完善防禦措施(市面上大部分軟體防火牆使用的其實只是包過濾技術加上一點其他新特性而已)。



四. 技術展望
  防火牆作為維護網路安全的關鍵設備,在目前採用的網路安全的防範體系中,佔據著舉足輕重的位置。伴隨電腦技術的發展和網路套用的普及,越來越多的企業與個體都遭遇到不同程度的安全難題,因此市場對防火牆的設備需求和技術要求都在不斷提升,而且越來越嚴峻的網路安全問題也要求防火牆技術有更快的提高,否則將會在面對新一輪入侵手法時束手無策。




  多功能、高安全性的防火牆可以讓用戶網路更加無憂,但前提是要確保網路的執行效率,因此在防火牆發展程序中,必須始終將高效能放在主要位置,目前各大廠商正在朝這個方向努力,而且豐富的產品功能也是用戶選項防火牆的依據之一,一款完善的防火牆產品,應該包含有訪問控制、網路位址轉換、代理、認證、日誌審計等基礎功能,並擁有自己特色的安全相關技術,如規則簡化方案等,明天的防火牆技術將會如何發展,讓我們拭目以待
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次