深入淺出談防火墻
隨著計算機網絡技術的突飛猛進,網絡安全的問題已經日益突出地擺在各類用戶的面前。僅從筆者掌握的資料表明,目前在互聯網上大約有將近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為危險的話,從這個地址而來的所有信息都會被防火墻屏蔽掉。這種防火墻的用法很多,比如國家有關部門可以通過包過濾防火墻來禁止國內用戶去訪問那些違反我國有關規定或者"有問題"的國外站點,例如www.playboy.com、www.cnn.com等等。包過濾路由器的最大的優點就是它對于用戶來說是透明的,也就是說不需要用戶名和密碼來登錄。這種防火墻速度快而且易于維護,通常做為第一道防線。包過濾路由器的弊端也是很明顯的,通常它沒有用戶的使用記錄,這樣我們就不能從訪問記錄中發現黑客的攻擊記錄。而攻擊一個單純的包過濾式的防炎墻對黑客來說是比較容易的,他們在這一方面已經積了大量的經驗。"信息包沖擊"是黑客比較常用的一種攻擊手段,黑客們對包過濾式防火墻發出一系列信息包,不過這些包中的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服務器,網絡地址轉換器允許為其分配6、隔離域名服務器(SplitDomainNameSever)?
這種技術是通過防火墻將受保護網絡的域名服務器與外部網的域名服務器隔離,使外部網的域名服務器只能看到防火墻的IP地址,無法了解受保護網絡的具體情況,這樣可以保證受保護網絡的IP地址不被外部網絡知悉。?
7、郵件轉發技術(Mailforwarding)?
當防火墻采用上面所提到的幾種技術使得外部網絡只知道防火墻的IP地址和域名時,從外部網絡發來的郵件,就只能送到防火墻上。這時防火墻對郵件進行檢查,只有當發送郵件的源主機是被允許通過的,防火墻才對郵件的目的地址進行轉換,送到內部的郵件服務器,由其進行轉發。?
代理服務器像真的墻一樣擋在內部用戶和外界之間,特別是從外面來的訪問者只能看到代理服務器而看不見到任何的內部資源,諸如用戶的IP等。而內部客戶根本感覺不到它的存在,可以自由訪問外部站點。代理可以提供極好的訪問控制、登錄能力以及地址轉換功能,對進出防火墻的信息進行記錄,便于管理員監視和管理系統。但代理服務器同時也存在一些不足,特別是它會使網絡的訪問速度變慢,因為它不允許用戶直接訪問網絡,而代理又要處理入和出的通信量,因此每增加一種新的媒體應用,則必須對代理進行設置。筆者在一套辦公應用軟件的設計方面,就因為代理服務器的原因折騰了很長時間,結果還是由于設置與容錯方面的問題暫時擱淺了。?
狀態監視器(StatefulInspection):
狀態監視器作為防火墻技術其安全特性最佳,它采用了一個在網關上執行網絡安全策略的軟件引擎,稱之為檢測模塊。檢測模塊在不影響網絡正常工作的前提下,采用抽取相關數據的方法對網絡通信的各層實施監測,抽取部分數據,即狀態信息,并動態地保存起來作為以后制定安全決策的參考。檢測模塊支持多種協議和應用程序,并可以很容易地實現應用和服務的擴充。與其它安全方案不同,當用戶訪問到達網關的操作系統前,狀態監視器要抽取有關數據進行分析,結合網絡配置和安全規定作出接納、拒絕、鑒定或給該通信加密等決定。一旦某個訪問違反安全規定,安全報警器就會拒絕該訪問,并作下記錄向系統管理器報告網絡狀態。狀態監視器的另一個優點就是可以監測RemoteProcedureCall和User DatagrqamProtocol類的端口信息。問題當然也有,即狀態監視器的配置非常復雜,而且會降低網絡的速度。
目前防火墻已經在Internet上得到了廣泛的應用,而且由于防火墻不限于TCP/IP協議的特點,也使其逐步在Internet之外更具生命力。客觀的講,防火墻并不是解決網絡安全問題的萬能藥方,而只是網絡安全政策和策略中的一個組成部分,但了解防火墻技術并學會在實際操作中應用防火墻技術,相信會在新世紀的網絡生活中讓每一位網友都受益菲淺。一個固定的合法地址。外部網絡的用戶就可通過防火墻來訪問內部的服務器。這種技術既緩解了少量的IP地址和大量的主機之間的矛盾,又對外隱藏了內部主機的IP地址,提高了安全性。
評論
查看更多