深入淺出談防火牆(轉)

amyz發表於2007-08-13
深入淺出談防火牆(轉)[@more@]

  隨著計算機網路技術的突飛猛進,網路安全的問題已經日益突出地擺在各類使用者的面前。僅從筆者掌握的資料表明,目前在網際網路上大約有將近20%以上的使用者曾經遭受過駭客的困擾。儘管駭客如此猖獗,但網路安全問題至今仍沒有能夠引起足夠的重視,更多的使用者認為網路安全問題離自己尚遠,這一點從大約有40%以上的使用者特別是企業級使用者沒有安裝防火牆(Firewall)便可以窺見一斑,而所有的問題都在向大家證明一個事實,大多數的駭客入侵事件都是由於未能正確安裝防火牆而引發的。

  防火牆的概念及作用

  防火牆的本義原是指古代人們房屋之間修建的那道牆,這道牆可以防止火災發生的時候蔓延到別的房屋。而這裡所說的防火牆當然不是指物理上的防火牆,而是指隔離在本地網路與外界網路之間的一道防禦系統,是這一類防範措施的總稱。應該說,在網際網路上防火牆是一種非常有效的網路安全模型,透過它可以隔離風險區域(即Internet或有一定風險的網路)與安全區域(區域網)的連線,同時不會妨礙人們對風險區域的訪問。防火牆可以監控進出網路的通訊量,從而完成看似不可能的任務;僅讓安全、核准了的資訊進入,同時又抵制對企業構成威脅的資料。隨著安全性問題上的失誤和缺陷越來越普遍,對網路的入侵不僅來自高超的攻擊手段,也有可能來自配置上的低階錯誤或不合適的口令選擇。因此,防火牆的作用是防止不希望的、未授權的通訊進出被保護的網路,迫使單位強化自己的網路安全政策。一般的防火牆都可以達到以下目的:一是可以限制他人進入內部網路,過濾掉不安全服務和非法使用者;二是防止入侵者接近你的防禦設施;三是限定使用者訪問特殊站點;四是為監視Internet安全提供方便。由於防火牆假設了網路邊界和服務,因此更適合於相對獨立的網路,例如Intranet等種類相對集中的網路。防火牆正在成為控制對網路系統訪問的非常流行的方法。事實上,在Internet上的Web網站中,超過三分之一的Web網站都是由某種形式的防火牆加以保護,這是對駭客防範最嚴,安全性較強的一種方式,任何關鍵性的伺服器,都建議放在防火牆之後。

  防火牆的架構與工作方式

  防火牆可以使使用者的網路劃規劃更加清晰明瞭,全面防止跨越許可權的資料訪問(因為有些人登入後的第一件事就是試圖超越許可權限制)。如果沒有防火牆的話,你可能會接到許許多多類似的報告,比如單位內部的財政報告剛剛被數萬個Email郵件炸爛,或者使用者的個人主頁被人惡意連線向了Playboy,而報告連結上卻指定了另一家色情網站......一套完整的防火牆系統通常是由遮蔽路由器和代理伺服器組成。遮蔽路由器是一個多埠的IP路由器,它透過對每一個到來的IP包依據組規則進行檢查來判斷是否對之進行轉發。遮蔽路由器從包頭取得資訊,例如協議號、收發報文的IP地址和埠號、連線標誌以至另外一些IP選項,對IP包進行過濾。代理伺服器是防火牆中的一個伺服器程式,它能夠代替網路使用者完成特定的TCP/TP功能。一個代理伺服器本質上是一個應用層的閘道器,一個為特定網路應用而連線兩個網路的閘道器。使用者就一項TCP/TP應用,比如Telnet或者FTP,同代理伺服器打交道,代理伺服器要求使用者提供其要訪問的遠端主機名。當使用者答覆並提供了正確的使用者身份及認證資訊後,代理伺服器連通遠端主機,為兩個通訊點充當中繼。整個過程可以對勝戶完全透明。使用者提供的使用者身份及認證資訊可用於使用者級的認證。最簡單的情況是:它只由使用者標識和口令構成。但是,如果防火牆是透過Internet可訪問的,應推薦使用者使用更強的認證機制,例如一次性口令或回應式系統等。

  遮蔽路由器的最大優點就是架構簡單且硬體成本較低,而缺點則是建立包過濾規則比較困難,加之遮蔽路由器的管理成本及使用者級身份認證的缺乏等。好在路由器生產商們已經認識到並開始著手解決這些問題,他們正在開發編輯包過濾規則的圖形使用者介面,制訂標準的使用者級身份認證協議,以提供遠端身份認證撥入使用者服務(REDIUS)。?

  代理伺服器的優點在於使用者級的身份認證、日誌記錄和帳號管理。其缺點關係到這樣一個事實;要想提供全面的安全保證,就要對每一項服務都建立對應的應用層閘道器。這個事實嚴重地限制了新應用的採綱。?

  遮蔽路由器和代理伺服器通常組合在一起構成混合系統,其中遮蔽路由器主要用來防止IP欺騙攻擊。目前採用最廣泛的配置是Dualhomed防火牆、被遮蔽主機型防火牆以及被遮蔽子網型防火牆。?

  通常架設防火牆需要數千甚至上萬美元的投入,而且防火牆需要執行於一臺獨立的計算機上,因此只用一臺計算機連入網際網路的使用者是不必要架設防火牆的,況且這樣做即使從成本方面講也太不划算。目前觀之,防火牆的重點還是用來保護由許多臺計算機組成的大型網路,這也是駭客高手們真正感興趣的地方。防火牆可以是非常簡單的過濾器,也可能是精心配置的閘道器,但它們的原理是一樣,都是監測並過濾所有通向外部網和從外部網傳來的資訊,防火牆保護著內部敏感的資料不被偷竊和破壞,並記下來通訊發生的時間和操作等等,新一代的防火牆甚至可以阻止內部人員故意將敏感資料傳輸到外界。當使用者將單位內部的區域性網連入網際網路時,大家肯定不願意讓全世界的人隨意翻閱你單位內部人員的工資單、各種檔案資料或者是資料庫,但即使在單位內部也存在資料攻擊的可能性。例如一些心懷叵測的電腦高手可能會修改工資表和財務報告。而透過設定防火牆後,管理員就可以限定單位內部員工使用Email、瀏覽WWW以及檔案傳輸,但不允許外界任意訪問單位內部的計算機,同時管理員也可以禁止單位中不同部門之間互相訪問。將區域性網路放置防火牆之後可以阻止來自外界的攻擊。而防火牆通常是執行在一臺單獨的計算機之上的一個特別的軟體,它可以識別並遮蔽非法的請求。例如一臺WWW代理伺服器,所有的請求都間接地由代理伺服器處理,這臺伺服器不同於普通的代理伺服器,它不會直接地處理請求,它會驗證請求發出者的身份、請求的目的地和請求內容。如果一切符合要求的話,這個請求會被批准送到真正的WWW伺服器上。當真正的WWW伺服器處理完這個請求後並不會直接把結果傳送給請求者,它會把結果送到代理伺服器,代理伺服器會按照事先的規定檢查這個結果是否違反了安全規定,當這一切都透過後,返回結果才會真正地送到請求者的手裡。

  防火牆的體系結構

  1、遮蔽路由器(ScreeningRouter)?

  遮蔽路由器可以由廠家專門生產的路由器實現,也可以用主機來實現。遮蔽路由器作為內外連線的惟一通道,要求所有的報文都必須在此透過檢查。路由器上可以安裝基於IP層的報文過濾軟體,實現報文過濾功能。許多路由器本身帶有報文過濾配置選項,但一般比較簡單。單純由遮蔽路由器構成的防火牆的危險包括路由器本身及路由器允許訪問的主機。遮蔽路由器的缺點是一旦被攻隱後很難發現,而且不能識別不同的使用者。?

  2、雙穴主機閘道器(DualHomedGateway)?

  雙穴主機閘道器是用一臺裝有兩塊網路卡的堡壘主機的做防火牆。兩塊網路卡各自與受保護網和外部網相連。堡壘主機上執行著防火牆軟體,可以轉發應用程式,提供服務等。與遮蔽路由器相比,雙穴主機閘道器堡壘主機的系統軟體可用於維護護系統日誌、硬體複製日誌或遠端日誌。但弱點也比較突出,一旦駭客侵入堡壘主機並使其只具有路由功能,任何網上使用者均可以隨便訪問內部網。

  3、被遮蔽主機閘道器(ScreenedGatewy)

  遮蔽主機閘道器易於實現也最為安全。一個堡壘主機安裝在內部網路上,通常在路由器上設立過濾規則,並使這個堡壘主機成為從外部網路惟一可直接到達的主機,這確保了內部網路不受未被授權的外部使用者的攻擊。如果受保護網是一個虛擬擴充套件的本地網,即沒有子網和路由器,那麼內部網的變化不影響堡壘主機和遮蔽路由器的配置。危險帶限制在堡壘主機和遮蔽路由器。閘道器的基本控制策略由安裝在上面的軟體決定。如果攻擊者沒法登入到它上面,內網中的其餘主機就會受到很大威脅。這與雙穴主機閘道器受攻擊時的情形差不多。

  4、被遮蔽子網(ScreenedSubnet)

  被遮蔽子網就是在內部網路和外部網路之間建立一個被隔離的子網,用兩臺分組過濾路由器將這一子網分別與內部網路和外部網路分開。在很多實現中,兩個分組過濾路由器放在子網的兩端,在子網內構成一個DNS,內部網路和外部網路均可訪問被遮蔽子網,但禁止它們穿過被遮蔽子網通訊。有的遮蔽子網中還設有一堡壘主機作為惟一可訪問點,支援終端互動或作為應用閘道器代理。這種配置的危險僅包括堡壘主機、子網主機及所有連線內網、外網和遮蔽子網的路由器。如果攻擊者試圖完全破壞防火牆,他必須重新配置連線三個網的路由器,既不切斷連線又不要把自己鎖在外面,同時又不使自己被發現,這樣也還是可能的。但若禁止網路訪問路由器或只允許內網中的某些主機訪問它,則攻擊會變得很困難。在這種情況下,攻擊者得先侵入堡壘主機,然後進入內網主機,再返回來破壞遮蔽路由器,並且整個過程中不能引發警報。

  

  防火牆的基本型別

  如今市場上的防火牆林林總總,形式多樣。有以軟體形式執行在普通計算機之上的,也有以韌體形式設計在路由器之中的。總的來說可以分為三種:包過濾防火牆、代理伺服器和狀態監視器。

  包過濾防火牆(IPFiltingFirewall):

  包過濾(PacketFilter)是在網路層中對資料包實施有選擇的透過,依據系統事先設定好的過濾邏輯,檢查資料據流中的每個資料包,根據資料包的源地址、目標地址、以及包所使用埠確定是否允許該類資料包透過。在網際網路這樣的資訊包交換網路上,所有往來的資訊都被分割成許許多多一定長度的資訊包,包中包括髮送者的IP地址和接收者的IP地址。當這些包被送上網際網路時,路由器會讀取接收者的IP並選擇一條物理上的線路傳送出去,資訊包可能以不同的路線抵達目的地,當所有的包抵達後會在目的地重新組裝還原。包過濾式的防火牆會檢查所有透過資訊包裡的IP地址,並按照系統管理員所給定的過濾規則過濾資訊包。如果防火牆設定某一IP為危險的話,從這個地址而來的所有資訊都會被防火牆遮蔽掉。這種防火牆的用法很多,比如國家有關部門可以透過包過濾防火牆來禁止國內使用者去訪問那些違反我國有關規定或者"有問題"的國外站點,例如、等等。包過濾路由器的最大的優點就是它對於使用者來說是透明的,也就是說不需要使用者名稱和密碼來登入。這種防火牆速度快而且易於維護,通常做為第一道防線。包過濾路由器的弊端也是很明顯的,通常它沒有使用者的使用記錄,這樣我們就不能從訪問記錄中發現駭客的攻擊記錄。而攻擊一個單純的包過濾式的防炎牆對駭客來說是比較容易的,他們在這一方面已經積了大量的經驗。"資訊包衝擊"是駭客比較常用的一種攻擊手段,駭客們對包過濾式防火牆發出一系列資訊包,不過這些包中的IP地址已經被替換掉了(FakeIP),取而代之的是一串順序的IP地址。一旦有一個包透過了防火牆,駭客便可以用這個IP地十來偽裝他們發出的資訊。在另一些情況下駭客們使用一種他們自己編制的路由器攻擊程式,這種程式使用路由器協議(RoutingInformationProtcol)來傳送偽造的路由資訊,這樣所有的包都會被重新路由到一個入侵者所指定的特別地址。對付這種路由器的另一種技術被稱之為"同步淹沒",這實際上是一種網路炸彈。攻擊者向被攻擊的計算機發出許許多多個虛假的"同步請求"訊號包,當伺服器響應了這種訊號包後會等待請求發出者的回答,而攻擊者不做任何的響應。如果伺服器在45秒鐘裡沒有收到反應訊號的話就會取消掉這次請求。但是當伺服器在處理成知上萬個虛假請求時,它便沒有時間來處理正常的使用者請求,處於這種攻擊下的伺服器和死鎖沒什麼兩樣。此種防火牆的缺點是很明顯的,通常它沒有使用者的使用記錄,這樣我們就不能從訪問記錄中發現駭客的攻擊記錄。此外,配置繁瑣也是包過濾防火牆的一個缺點。它阻擋別人進入內部網路,但也不告訴你何人進入你的系統,或者何人從內部進入網際網路。它可以阻止外部對私有網路的訪問,卻不能記錄內部的訪問。包過濾另一個關鍵的弱點就是不能在使用者級別上進行過濾,即不能鑑別不同的使用者和防止IP地址盜用。包過濾型防火牆是某種意義上的絕對安全的系統。

  代理伺服器(ProxyServer):

  代理伺服器通常也稱作應用級防火牆。包過濾防火牆可以按照IP地址來禁止未授權者的訪問。但是它不適合單位用來控制內部人員訪問外界的網路,對於這樣的企業來說應用級防火牆是更好的選擇。所謂代理服務,即防火牆內外的計算機系統應用層的連結是在兩個終止於代理服務的連結來實現的,這樣便成功地實現了防火牆內外計算機系統的隔離。代理服務是設定在Internet防火牆閘道器上的應用,是在網管員允許下或拒絕的特定的應用程度或者特定服務,同時,還可應用於實施較強的資料流監控、過濾、記錄和報告等功能。一般情況下可應用於特定的網際網路服務,如超文字傳輸(HTTP)、遠端檔案傳輸(FTP)等。代理伺服器通常擁有快取記憶體,快取中存有使用者經常訪問站點的內容,在下一個使用者要訪問同樣的站點時,伺服器就用不著重複地去抓同樣的內容,既節約了時間也節約了網路資源。?

  下面筆者向網友們簡單介紹幾種代理伺服器的設計實現方式:

  1、應用代理伺服器(ApplicationGatewayProxy)?

  應用代理伺服器可以在網路應用層提供授權檢查及代理服務。當外部某臺主機試圖訪問(如Telnet)受保護網時,它必須先在防火牆上經過身份認證。透過身份認證後,防火牆執行一個專門為Telnet設計的程式,把外部主機與內部主機連線。在這個過程中,防火牆可以限制使用者訪問的主機、訪問的時間及訪問的方式。同樣,受保護網路內部使用者訪問外部網時也需先登入到防火牆上,透過驗證後才可使用Telnet或FTP等有效命令。應用閘道器代理的優點是既可以隱藏內部IP地址,也可以給單個使用者授權,即使攻擊者盜用了一個合法的IP地址。他也通不過嚴格的身份認證。因特閘道器比報文過濾具有更高的安全性。但是這種認證使得應用閘道器不透明,使用者每次連線都要受到"盤問",這給使用者帶來許多不便。而且這種代理技術需要為每個應用閘道器寫專門的程式。?

  2、迴路級代理伺服器?

  迴路級代理伺服器也稱一般代理伺服器,它適用於多個協議,但無法解釋應用協議,需要透過其他方式來獲得資訊。所以,迴路級代理伺服器通常要求修改過的使用者程式。其中,套接字伺服器(SocketsServer)就是迴路級代理伺服器。套接字(Sockets)是一種網路應用層的國際標準。當受保護網路客戶機需要與外部網互動資訊時,在防火牆上的套接字伺服器檢查客戶的UserID、IP源地址和IP目的地址,經過確認後,套伺服器才與外部的段伺服器建立連線。對使用者來說,受保護網與外部網的資訊交換是透明的,感覺不到防火牆的存在,那是因為因特網路使用者不需要登入到防火牆上。但是客戶端的應用軟體必須支援"SocketsifideAPI"受保護網路使用者訪問公共網所使用的IP地址也都是防火牆的IP地址。?

  3、代管伺服器?

  代管伺服器技術換言之就是把不安全的服務,諸如FTP、Telnet等放到防火牆上,使它同時充當伺服器,對外部的請求作出回答。與應用層代理實現相比,代管伺服器技術不必為每種服務專門寫程式。而且,受保護網內部使用者想對外部網訪問時,也需先登入到防火牆上,再向外提出請求,這樣從外部網向內就只能看到防火牆,從而隱藏了內部地址,提高了安全性。?

  4、IP通道(IPTunnels)?

  如果某公司下屬的兩個子公司相隔較遠,透過Internet進行通訊時,可以採用IPTunnels來防止Internet上的駭客擷取資訊,從而在Internet上形成一個虛構的企業網。

  5、網地址轉換器(NetworkAddressTranslate)

  當受保護網連到Internet上時,受保護網使用者若要訪問Internet,必須使用一個合法的IP地址。但由於合法InternetIP地址有限,而且受保護網路往往有自己的一套IP地址規劃。網路地址轉換器就是在防火牆上裝一個合法IP地址集。當內部某一使用者要訪問Internet時,防火牆態地從地址集中選一個未分配的地址分配給該使用者,該使用者即可使用這個合法地址進行通訊。同時,對於內部的某些伺服器如Web伺服器,網路地址轉換器允許為其分配一個固定的合法地址。外部網路的使用者就可透過防火牆來訪問內部的伺服器。這種技術既緩解了少量的IP地址和大量的主機之間的矛盾,又對外隱藏了內部主機的IP地址,提高了安全性。

  6、隔離域名伺服器(SplitDomainNameSever)?

  這種技術是透過防火牆將受保護網路的域名伺服器與外部網的域名伺服器隔離,使外部網的域名伺服器只能看到防火牆的IP地址,無法瞭解受保護網路的具體情況,這樣可以保證受保護網路的IP地址不被外部網路知悉。?

  7、郵件轉發技術(Mailforwarding)?

  當防火牆採用上面所提到的幾種技術使得外部網路只知道防火牆的IP地址和域名時,從外部網路發來的郵件,就只能送到防火牆上。這時防火牆對郵件進行檢查,只有當傳送郵件的源主機是被允許透過的,防火牆才對郵件的目的地址進行轉換,送到內部的郵件伺服器,由其進行轉發。?

  代理伺服器像真的牆一樣擋在內部使用者和外界之間,特別是從外面來的訪問者只能看到代理伺服器而看不見到任何的內部資源,諸如使用者的IP等。而內部客戶根本感覺不到它的存在,可以自由訪問外部站點。代理可以提供極好的訪問控制、登入能力以及地址轉換功能,對進出防火牆的資訊進行記錄,便於管理員監視和管理系統。但代理伺服器同時也存在一些不足,特別是它會使網路的訪問速度變慢,因為它不允許使用者直接訪問網路,而代理又要處理入和出的通訊量,因此每增加一種新的媒體應用,則必須對代理進行設定。筆者在一套辦公應用軟體的設計方面,就因為代理伺服器的原因折騰了很長時間,結果還是由於設定與容錯方面的問題暫時擱淺了。?

  狀態監視器(StatefulInspection):

  狀態監視器作為防火牆技術其安全特性最佳,它採用了一個在閘道器上執行網路安全策略的軟體引擎,稱之為檢測模組。檢測模組在不影響網路正常工作的前提下,採用抽取相關資料的方法對網路通訊的各層實施監測,抽取部分資料,即狀態資訊,並動態地儲存起來作為以後制定安全決策的參考。檢測模組支援多種協議和應用程式,並可以很容易地實現應用和服務的擴充。與其它安全方案不同,當使用者訪問到達閘道器的作業系統前,狀態監視器要抽取有關資料進行分析,結合網路配置和安全規定作出接納、拒絕、鑑定或給該通訊加密等決定。一旦某個訪問違反安全規定,安全報警器就會拒絕該訪問,並作下記錄向系統管理器報告網路狀態。狀態監視器的另一個優點就是可以監測RemoteProcedureCall和User DatagrqamProtocol類的埠資訊。問題當然也有,即狀態監視器的配置非常複雜,而且會降低網路的速度。

  目前防火牆已經在Internet上得到了廣泛的應用,而且由於防火牆不限於TCP/IP協議的特點,也使其逐步在Internet之外更具生命力。客觀的講,防火牆並不是解決網路安全問題的萬能藥方,而只是網路安全政策和策略中的一個組成部分,但瞭解防火牆技術並學會在實際操作中應用防火牆技術,相信會在新世紀的網路生活中讓每一位網友都受益菲淺。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-955501/,如需轉載,請註明出處,否則將追究法律責任。

相關文章