防火牆技術詳解

zgeyzq發表於2008-04-19

Internet是一個開放式和共享式網路,隨著它的發展和普及,給整個社會的發展帶來了巨大的推動作用,也給我們個人生活帶來了便捷和快樂。但是我們也會看到,網際網路上也是病毒與黑客大顯身手的地方,從Internet到企業內網、從個人電腦到可上網的手機平臺,沒有它們不能進行攻擊的地方。每一次網路的攻擊,都會讓家庭使用者、企業使用者、甚至是運營商頭痛腦賬。

“Internet的美妙之處在於你和每個人都能互相連線,Internet的可怕之處在於每個人都能和你互相連線”,在經歷過了一次又一次的網路攻擊所帶來的危機後,人們已經開始認識到網路安全的重要性了。現在任何一個企業組建網路都會考慮到購買防火牆,且有越來越多的家庭使用者在自己的電腦上甚至寬頻接入端也加上了防火牆,相信不久的將來,我們可以看到在手機上也會出現防火牆。

6.1 防火牆的基本概念

防火牆是在一個被認為是安全和可信的內部網和一個被認為不那麼安全和可信的外部網(如Internet)之間提供的一個由軟體和硬體裝置共同組成的安全防禦工具。它是不同網路(安全域)之間的唯一出入口,能根據企業的安全政策控制(允許、拒絕 、 監測)出入網路的資訊流,且本身具有很高的抗攻擊能力,它是提供資訊保安服務,實現網路和資訊保安的基礎設施。

瞭解有關防火牆的最重要的概念就是它實現了一種在網路之間執行訪問控制策略。在邏輯上,防火牆是一個分離器,一個限制器,也是一個分析器,它只允許授權的資料通過,且本身也必須能夠免於滲透,所以它能有效地監控內網和外網之間的任何活動,增強機構內部網路的安全性。如圖所示。

² 防火牆的主要功能

1. 動態包過濾技術。根據所設定的安全規則動態維護通過防火牆的所有通訊的狀態(連線),基於連線的過濾;

2. 部署NAT(Network Address Translation,網路地址變換)。防火牆是部署NAT的理想位置,利用NAT技術,將有限的公有IP地址動態或靜態地與內部的私有IP地址進行對映,用以保護內部網路並可以緩解網際網路地址空間短缺的問題;

3. 控制不安全的服務。通過設定信任域與不信任域之間資料出入的策略,一個防火牆能極大地提高一個內部網路的安全性,並通過過濾不安全的服務而降低風險。還可以可以定義規則計劃,使得系統在某一時可以自動啟用和關閉策略;

4. 集中的安全保護。通過以防火牆為中心的安全方案配置,一個子網的所有或大部分需要改動的軟體以及附加的安全軟體(如口令、加密、身份認證、審計等)能集中地放在防火牆系統中。這與將網路安全問題分散到各個主機上相比,防火牆的集中安全管理更經濟。

5. 加強對網路系統的訪問控制。一個防火牆的主要功能是對整個網路的訪問控制。比如防火牆設定內部使用者對外部網路特殊站點的訪問策略,也可以針對可以遮蔽部分主機的特定服務,使得外部網路可以訪問該主機的其它服務(如WWW服務),但無法訪問該主機的特定服務(如Telnet服務)。

6. 網路連線的日誌記錄及使用統計。防火牆系統能提供符合規則報文的資訊、系統管理資訊、系統故障資訊的日誌記錄。另外, 防火牆系統也能夠對正常的網路使用情況作出統計。通過對統計結果的分析,可以使得網路資源到更好的使用。

7. 報警功能。如具有郵件通知功能,可以將系統的告警通過傳送郵件通知網路管理員;

  以上是防火牆所應具備的一些防護特性,當然隨著技術的發展中小企業防火牆的功能會變得越來越豐富;但有再多功能的防火牆如果沒有合理的配置和管理,那麼這只是一件IT擺設。

6.2 防火牆的基本型別

防火牆有很多種形式,有以軟體形式執行在普通計算機之上的,也有以韌體形式設計在路由器之中的。但總體來講可分為三大類:分組過濾型防火牆、應用代理型防火牆以及狀態檢測防火牆。細分則還可包括電路中繼型、複合型、及加密路由型號等。

6.2.1 分組過濾型防火牆

分組過濾或包過濾(Packet filtering):通常在路由器上實現是一種通用、廉價、有效的安全手段,能很大程度地滿足企業的安全要求。

分組過濾作用在網路層和傳輸層,它根據分組包頭源地址,目的地址和埠號、協議型別等標誌確定是否允許資料包通過。只有滿足過濾邏輯的資料包才被轉發到相應的目的地出口端,其餘資料包則被從資料流中丟棄。下圖是一個Cisco路由器包過濾配置例項:

² 分組過濾型防火牆的優點

1. 透明的防火牆系統。設定只須在包過濾路由器上進行,網路使用者不知道它的存在。

2. 與應用程式無關。因其工作在網路層和傳輸層,所以無須對客戶機和主機上的應用程式作任何改動,提高網路的效能。

3. 易於配置。配置簡單。

² 分組過濾型防火牆的缺點

1. 有限的資訊過濾。只能對網路層和傳輸層的有限資訊進行有過濾。

2. 不能過濾所有的協議。如對UDP、RPC協議不能進行有效的過濾。

3. 缺少審計和報警機制。大多數過濾器中缺少審計和報警機制。

4. 過濾規則不宜過多。隨著過濾規則數目的增加,防火牆本身的效能會受到影響。

6.2.2 應用代理型防火牆

應用代理(Application Proxy:也叫應用閘道器(Application Gateway),它作用在應用層,其特點是完全"阻隔"了網路通訊流,通過對每種應用服務編制專門的代理程式,實現監視和控制應用層的通訊流。實際中的應用閘道器通常由一臺專用伺服器實現。如下圖所示。

要注意的是,代理服務只有在需要嚴格控制內部與外部主機直接連線的場合才是一個比較有效的機制。而雙宿主主機與包過濾也是具有這種特性的另外兩種機制。如果內、外部主機能夠直接相互通訊,那麼使用者就沒有必要使用代理服務,在這種情況下,代理服務也不可能起作用。而這種由旁路的拓撲與網路的資訊保安是相悖的

代理伺服器並非將使用者的全部網路服務請求提交給網際網路絡上的真正的伺服器,因為伺服器能依據安全規則和使用者的請求做出判斷是否代理執行該請求,所以它能控制使用者的請求。有些請求可能會被否決,比如:FTP代理就可能拒絕使用者把檔案往遠端主機上送。或者它只允許使用者將某些特定的外部站點的檔案下載。

² 幾個需要了解的基本術語:

1. 代理服務。是執行在防火牆主機上的一些特定的應用程式或者伺服器程式。其軟體組成為伺服器端程式和客戶端程式。客戶端與中間節點連線,中間節點再與要訪問的外部伺服器直接連線。代理服務替代了使用者與網際網路絡的連線。對使用者請求的外界服務而言,代理服務相當於一個閘道器,代理服務有時被稱為應用層閘道器。

2. 代理伺服器。為使用者提供替代連線並且充當服務的閘道器。代理伺服器不允許存在任何網路內外的直接連線。它本身就提供公共和專用的DNS、郵件伺服器等多種功能。代理伺服器重寫資料包而不是簡單地將其轉發了事。給人的感覺就是網路內部的主機都站在了網路的邊緣,但實際上他們都隱藏在代理的後面,外部網路只知代理伺服器的存在。

3. 防火牆主機。是指由一個網路介面聯接網際網路絡而另一個介面聯接內部網路的雙宿主主機,具有至少兩個網路介面的通用計算機系統;也可以是一些可以訪問因特網並可被內部主機訪問的堡壘主機,它對網際網路暴露,又是內部網路使用者的主要連線點。

4. 堡壘主機。多數情況下為雙網路卡(雙宿主堡壘主機),分連不同的網路並將它們完全隔開(單宿主堡壘主機只有一個網路卡則不能完全隔開),其經常被配為閘道器服務,暴露於網際網路上最易受到攻擊。

² 應用代理型防火的特點

1. 透明性。代理服務給使用者的假象是其是直接與真正的伺服器相連的;而在伺服器端代理服務給出的假象是其是直接面對連在代理伺服器上的使用者。

2. 在網路連線建立之前可以對使用者身份進行認證。在代理軟體中可以設定對使用者進行身份驗證,這樣確保只有合法使用者才能對網路資源進行訪問。

3. 豐富的審記和報警功能。應用代理型防火牆對通過的資訊流可以以多種格式進行記錄和儲存,並可對特定事件向管理員進行報警。

4. 靈活的安全機制。代理服務可對於不同的主機、使用者及應用程式執行不同的安全規則,而不對所有物件執行同一標準。

² 應用代理型防火牆的缺點

1. 對每種型別的服務都需要一個代理。由於對各種型別的服務和應用都需要一個代理,所以有時在伺服器端需進行較為複雜的配置。

2. 網路效能有所下降。同過濾防火相比,伺服器的效能和網路效能有所下降。

3. 客戶應用可能需要修改。由於代理軟體分為伺服器端軟體和客戶端軟體,故客戶機需安裝相應軟體或作相應的網路設定。

6.2.3 狀態檢測防火牆

閘道器防火牆的一個挑戰就是吞吐量,開發狀態檢測功能是為了讓規則能夠運用到會話發起過程,從而在大為提高安全防範能力的同時也改進了流量處理速度。同時,狀態檢測防火牆也摒棄了包過濾防火牆僅考查資料包的 IP 地址等有限幾個引數,而不關心資料包連線狀態變化的缺點,在防火牆的核心部分建立狀態連線表,並將進出網路的資料當成一個個的會話,並利用狀態表跟蹤每一個會話狀態,因此提供了完整的對傳輸層的控制能力。由於狀態監測技術採用了一系列優化技術,使防火牆效能大幅度提升,能應用在各類網路環境中,尤其是在一些規則複雜的大型網路上。

1993年,Check Point公司成功推出了世界上第一臺商用的狀態檢測防火牆產品之後,很多廠商也相繼進行了開發了,並在90年代中期得到了迅速發展。現今的防火牆市場,狀態檢測防火牆產品由於其在效能、部署能力和擴充套件能力方面的優勢已成為市場上的絕對領導者。如今,任何一款高效能的防火牆,都會採用狀態檢測技術。

從 2000 年開始,國內的著名防火牆公司,如北京天融信等公司,都開始採用這一最新的體系架構,並在此基礎上,天融信 NGFW4000 創新推出了核檢測技術,在作業系統核心模擬出典型的應用層協議,在核心實現對應用層協議的過濾,在實現安全目標的同時可以得到極高的效能。目前支援的協議有 HTTP/1.0/1.1 、 FTP 、 SMTP 、 POP3 、 MMS 、 H.232 等最新和最常用的應用協議。

² 狀態檢測防火牆的工作過程

無論何時,當防火牆接收到一個初始化TCP連線的SYN包,這個帶有SYN的資料包被防火牆的規則庫檢查。該包在規則庫裡依次序比較。如果在檢查了所有的規則後,該包都沒有被接受,那麼拒絕該次連線,一個RST的資料包傳送到遠端的機器。如果該包被接受,那麼本次會話被記錄到位於核心模式中的狀態監測表裡,這時需要設定一個時間溢位值。隨後的資料包(沒有帶有一個SYN標誌)就和該狀態監測表的內容進行比較。如果會話是在狀態表內,而且該資料包是會話的一部分,該資料包被接受。如果不是會話的一部分,該資料包被丟棄。這種方式提高了系統的效能,因為每一個資料包不是和規則庫比較,而是和狀態監測表比較。只有在SYN的資料包到來時才和規則庫比較。所有的資料包與狀態檢測表的比較都在核心模式下進行所以應該很快。

在連線被通訊雙方關閉後,狀態監測表中的連線應該被維護一段時間。當狀態監測模組監測到一個FIN或一個RST包的時候,減少時間溢位值從預設設定的值3600秒減少到50秒。如果在這個週期內沒有資料包交換,這個狀態檢測表項將會被刪除,如果有資料包交換,這個週期會被重新設定到50秒。如果繼續通訊,這個連線狀態會被繼續地以50秒的週期維持下去。這種設計方式可以避免一些DOS攻擊,例如,一些人有意地傳送一些FIN或RST包來試圖阻斷這些連線。

6.3 防火牆的構造體系

由於對更高安全性的要求,如僅僅使用某種單項技術來建立正確完整防火牆是不大可能達到企業所需的安全目標的。在實際的實施方案時,經常要用若干的技術混合的複合型防火牆方可解決面對的各種問題。

在現有防火牆產品和技術中,將包過濾技術和多種應用技術融合到一起,構成複合型防火牆體系統結構是目前國內防火牆產品的一個特點,也是防火牆今後發展的主流技術。

複合型防火牆解決方案通常有如下兩種:

l 遮蔽主機防火牆體系結構

l 遮蔽子網防火牆體系結構

6.3.1 遮蔽主機防火牆體系統結構

遮蔽主機防火牆體系統結構由包過濾路由器和堡壘主機構成。其實現了網路層安全(包過濾)和應用層安全(代理服務)。

對於這種防火牆系統,堡壘主機配置在內部網路上,而包過濾路由器則放置在內部網路和Internet之間。在路由器上進行規則配置,使得進出的所有資訊必須通過堡壘主機。這種路由允許堡壘主機把外部流量代理到內部網路前會進行流量分析。

由於內部主機與堡壘主機處於同一個網路,內部系統是否允許直接訪問Internet,或者是要求使用堡壘主機上的代理服務來訪問Internet由機構的安全策略來決定。

對於這種體系統結構常見的拓樸如下圖所示。在實際的應用中,為了增強安全性,一般堡壘主機應至少有兩個網路卡,這樣可以物理的隔離子網。

6.3.2 遮蔽子網防火牆體系統結構

遮蔽子網防火牆體系統結構堡壘機放在一個子網內,形成“非軍事化區(DMZ)”,兩個分組過濾路由器放在這一子網的兩端,使這一子網與Internet及內部網路分離。在遮蔽子網防火牆體系結構中,堡壘主機和分組過濾路由器共同構成了整個防火牆的安全基礎。如下圖所示:

這個防火牆系統建立的是最安全的防火牆系統,因為在定義了“非軍事區”(DMZ)網路後,它支援網路層和應用層安全功能。網路管理員將堡壘主機、資訊伺服器、Modem組、以及其它公用伺服器放在DMZ網路中。

在一般情況下對DMZ配置成使用Internet和內部網路系統能夠訪問DMZ網路上數目有限的系統,而通過DMZ網路直接進行資訊傳輸是嚴格禁止的。

² 部署遮蔽子網防火牆系統的好處

1. 入侵更加困難。入侵者必須從外向內突破3個不同的裝置才能侵襲內部網路:外部路由器,堡壘主機,還有內部路由器。 如果將內外路由器分別採用不同廠商的路由器,則入侵的難度還會加大。

2. 內外網不能直接通訊。由於外部路由器只能向Internet通告DMZ網路的存在,內部路由器也只向內部網路通告DMZ網路的存在,這樣網路管理員就既可以保證內部對外網是“不可見”的,同樣也就保證了內部網路上的使用者必須通過駐留在堡壘主機上的代理服務才能訪問Internet。

3. 更大的吞吐量。內部路由器在作為內部網路和Internet之間最後的防火牆系統時,能夠支援比雙宿堡壘主機更大的資料包吞吐量。

4. NAT的理想位置。由於DMZ網路是一個與內部網路不同的網路,NAT(網路地址變換)可以安裝在堡壘主機上,從而避免在內部網路上重新編址或重新劃分子網,並且只有在DMZ網路上選定的系統才對Internet開放(通過NAT的地址對映、路由表和DNS資訊交換)。

6.4 防火牆的訪問規則

6.4.1 防火牆的預設設定

防火牆有以下兩種之一的預設配置:

l 拒絕所有的通訊。在這種情況下,內外的通訊完全被阻斷,是最安全但也最不適用的形式。

l 允許所有的通訊。在這種情況下,內外可以進行無限制的通訊,防火牆好象不存在。

對於安全性要求比較高的防火牆,一般採用拒絕所有通訊作為預設設定。一旦安裝了防火牆,為了授予防火牆內的使用者訪問他們的被授權的系統,則需要打根據公司的安全策略只開啟某些特定的埠以允許特定的內外通訊,這就是需要進行相應的訪問規則的配置。

6.4.2防火牆的規則元素

訪問規則定義了允許或拒絕網路之間的通訊的條件。訪問規則中運用的元素是防火牆中可用於建立特定訪問規則的配置物件。

規則元素一般可分為以下五種型別:際工資

l 協議。此規則元素包含一些協議,可用於定義要用在訪問規則中的協議。例如,您可能想要建立只允許 HTTP 通訊的訪問規則,則在配置時對於協議的選擇則只選用HTTP即可。

l 使用者集。使用者集包含許多單獨的使用者或使用者組。您可以使用 Active Directory 域使用者或使用者組、遠端身份驗證撥入使用者服務 (RADIUS) 伺服器組或 SecureID 組等建立使用者集。在規則配置時則可以針對不同的使用者集對網路資源的訪問分別採用不同的規則進行訪問控制。

l 內容型別。此規則元素提供您可能想要應用規則的公共內容型別。例如,您可以使用內容型別規則元素來阻止包含 .exe 或 .vbs 副檔名的所有內容下載。

l 計劃。此規則元素允許您指定一個星期內要應用規則的小時時段。如果需要定義只允許在指定的小時時段內訪問 Internet 的訪問規則,則可以建立定義小時時段的計劃規則元素,然後在建立訪問規則時使用該計劃規則元素。

l 網路物件。此規則元素允許您建立要應用規則的計算機集,或者將不再應用規則的計算機集。您還可以配置 URL 集和域名集,用來允許或拒絕對特定 URL 或域的訪問。

6.4.3 訪問規則的定義

建立訪問規則的步驟是選擇適當的訪問規則元素,然後定義元素之間的關係。如下圖所示。

所有訪問規則具有相同的整體結構,如下表所示。

6.5 防火牆的限制

防火牆並非萬能,它仍然有許多在網上不能防範的攻擊。現總結如下:

1. 防火牆無法防範通過防火牆以外的其它途徑的攻擊。例如,在一個被保護的網路上有一個沒有限制的撥出存在(如通過MODEM撥號),內部網路上的使用者就可以直接通過SLIP或PPP連線進入Internet。這就為從後門攻擊創造了極大的可能。網路上的使用者們必須瞭解這種型別的連線對於一個有全面的安全保護系統來說是絕對不允許的。

2. 防火牆也不能防止來自內部變節者和不經心的使用者們帶來的威脅。

3. 也不能防範這樣的攻擊:偽裝成超級使用者或詐稱新僱員的攻擊。

4. 防火牆不能有效地防範像病毒這類東西的入侵。對病毒十分憂慮的機構應當在整個機構範圍內採取病毒控制措施。不要試圖將病毒擋在防火牆之外,而是保證每個脆弱的桌面系統都安裝上病毒掃描軟體,只要一引導計算機就對病毒進行掃描。

5. 最後一點是,防火牆無法防範資料驅動型的攻擊。資料驅動型的攻擊從表面上看是無害的資料被郵寄或拷貝到Internet主機上。但一旦執行就開成攻擊。例如,一個資料型攻擊可能導致主機修改與安全相關的檔案,使得入侵者很容易獲得對系統的訪問權。後面我們將會看到,在堡壘主機上部署代理伺服器是禁止從外部直接產生網路連線的最佳方式,並能減少資料驅動型攻擊的威脅。

相關文章