天天看點

帶你讀《網絡防禦與安全對策:原理與實踐(原書第3版)》之三:防火牆基礎第3章 

點選檢視第一章 點選檢視第二章

第3章 

防火牆基礎

本章目标

在閱讀完本章并完成練習之後,你将能夠完成如下任務:

  • 解釋防火牆如何工作。
  • 評估防火牆解決方案。
  • 區分包過濾和狀态包過濾。
  • 區分應用網關和電路層網關。
  • 了解基于主機的防火牆和基于路由器的防火牆。

3.1 引言

本書前兩章讨論了網絡安全面臨的威脅以及防範這些威脅的方法。本章及後續兩章将讨論安全裝置。實作網絡安全最基本的裝置之一是防火牆。這在任何安全體系結構中都是一個關鍵部分。事實上,諸如代理伺服器、入侵防禦系統(Intrusion Prevention Systems,IPS)和入侵檢測系統(Intrusion Detection Systems,IDS)等都要與防火牆協同工作,并在一定程度上依賴于防火牆。

大多數人對什麼是防火牆都有基本的了解。本章中,我們将詳細分析防火牆,讓你對它們有更深入的了解。本章還将研究一些防火牆産品。

本章将探讨防火牆的基本工作原理,為評估在給定情況下哪種防火牆最合适提供基礎。

3.2 什麼是防火牆

防火牆是處于你的計算機或你的内部網絡與外部世界或Internet之間的一個屏障。有時也将它作為非軍事區(DeMilitarized Zone,DMZ)後面的區域與面向公衆的區域之間的分割。一個特定的防火牆實作可以使用下列一種或多種方法來提供屏障功能。

  • 包過濾
  • 狀态包過濾
  • 使用者認證
  • 用戶端應用認證

在最低限度上,防火牆會根據資料包的大小、源IP位址、協定和目标端口号等參數過濾入站的資料包。圖3-1展示了防火牆概念的基本要素。

帶你讀《網絡防禦與安全對策:原理與實踐(原書第3版)》之三:防火牆基礎第3章 

正如你可能已經知道的,Linux和Windows(包括從Windows XP 到Windows 10以及各個Server版本的每個Windows版本)都有一個簡單的、内置在作業系統中的防火牆。諾頓(Norton)和McAfee都為單台PC提供個人防火牆解決方案。這些防火牆是針對單台機器的,對網絡有更進階的解決方案。在一個機構的環境中,在你的網絡和外部世界之間可能需要設定一個專用的防火牆。這可能是一個内置了防火牆功能的路由器,或者可能是一個專門運作防火牆軟體的伺服器。思科系統(Cisco Systems)是一家以高品質路由器和防火牆著稱的公司,其多種路由器中都有内置的防火牆功能。有許多防火牆解決方案可供選擇。選擇防火牆是一項很重要的決定,本章将為你提供必要的基本技能,使你能為你的網絡選擇合适的防火牆。

供參考:家庭或小型辦公室高速連接配接

随着有線電視、數字使用者線(Digital Subscriber Line,DSL)和光纖服務(Fiber Optic Service,FiOS)用于家庭和小型辦公室的連接配接日益普及,加強這些場所計算機系統的安全越來越受重視。這類設計通常稱為小型辦公室及家庭辦公室(Small Office and Home Office, SOHO)設施。現在已經有用于高速Internet連接配接的、非常便宜的基于路由器的防火牆。消費者還可以購買帶防火牆功能的、與DSL或電纜路由器分離的路由器,或内置電纜或DSL路由器功能的路由器。下述網站能提供更多有關資訊:

  • Linksys: https://www.linksys.com/
  • 家庭PC防火牆指南(Home PC Firewall Guide): www.firewallguide.com
  • 寬帶指南(Broadband Guide): www.firewallguide.com/broadband.htm

3.2.1 防火牆的類型

包過濾防火牆(Packet filtering firewall)是最簡單并且通常是最便宜的防火牆類型。其他幾種類型的防火牆具有各自不同的優點和缺點。防火牆的基本類型包括:

  • 包過濾(Packet filtering)
  • 應用網關(Application gateway)
  • 電路層網關(Circuit level gateway)
  • 狀态包檢查(Stateful packet inspection)

3.2.2 包過濾防火牆

包過濾防火牆是最基本的防火牆類型。在包過濾防火牆中,每個入站的資料包都要被檢查。隻有那些與你設定的标準比對的資料包才允許通過。許多作業系統,如Windows用戶端系統(如Windows 8和Windows 10)及許多Linux發行版本,都在作業系統中包含了基本的包過濾軟體。包過濾防火牆也被稱為屏蔽防火牆(screening firewall)。它們可以基于資料包的大小、使用的協定、源IP位址以及其他許多參數來過濾資料包。一些路由器除了提供正常的路由功能外,還提供這種類型的防火牆保護。

包過濾防火牆通過檢查資料包的源位址、目标位址、源端口、目标端口以及協定類型來工作。它們依據這些因素以及為防火牆配置的使用規則,允許或拒絕資料包的通過。這類防火牆非常容易配置并且價格低廉。一些作業系統,如Windows 10和Linux,有内置的包過濾能力。第4章将詳細讨論具體的防火牆産品。這裡僅給出一些常用包過濾産品的概要資訊:

  • Firestarter:這是Linux系統上的一個免費的包過濾應用程式,在www.fs-security. com網站提供。該軟體安裝在Linux機器上,可用作網絡防火牆。
  • Avast Internet Security:該産品價格低廉,且僅适用于Windows系統。你可以在 https://www.avast.com/en-us/f-firewall 上找到這個産品。
  • Zone Alarm Firewall:該産品價格合理,且效果良好。在 https://www.zonealarm.com/software/firewall 上可以找到該産品的更多資訊。
  • Comodo Firewall:這是一個在Windows用戶端上運作的商用防火牆産品。它包括防火牆和防病毒功能。可以在 https://personalfirewall.comodo.com/ 上找到更多關于該産品的資訊。

屏蔽/包過濾防火牆解決方案存在幾個缺點。一個缺點是,它們沒有詳細檢查資料包或将其與先前的資料包進行比較,是以非常容易受到ping泛洪或SYN泛洪攻擊的影響。它們也不提供任何使用者認證。因為這種類型的防火牆隻在資料包首部查找資訊,是以沒有關于資料包内容的資訊。它們也不跟蹤資料包,是以沒有關于先前資料包的資訊。是以,如果在短時間内成千上萬個資料包來自同一IP位址,屏蔽主機不會注意到這個模式是不正常的。這種模式通常表示該IP位址正試圖對網絡執行DoS攻擊。

要配置包過濾防火牆,隻需建立适當的過濾規則即可。防火牆的規則集需要涵蓋以下内容:

  • 允許什麼類型的協定(FTP、SMTP、POP3等)
  • 允許什麼源端口
  • 允許什麼目标端口
  • 允許什麼源IP位址(如果願意,可以阻塞某些IP位址)

這些規則讓防火牆決定什麼流量允許進入以及阻塞什麼流量。由于這種防火牆僅使用非常有限的系統資源,配置相對容易,并且價格低廉甚至免費,是以常常被采用。雖然它不是最安全的防火牆類型,但卻是你很可能經常遇到的類型。

實踐中:包過濾規則

不幸的是,在衆多真實的網絡中,存在很多不同的應用程式發送不同類型的資料包,是以設定正确的包過濾規則可能比你想象得更困難。在一個隻有幾台伺服器運作少量服務的簡單網絡中(也許是Web伺服器、FTP伺服器和電子郵件伺服器),配置包過濾規則确實很簡單。但在其他情況下,會變得相當複雜。

考慮一個地理上分散在不同區域的多個站點互連的廣域網。當你為這個場景設定包過濾防火牆時,你需要清楚地知道在廣域網連接配接的任何站點的任何計算機上、使用任何類型網絡通信的所有應用程式和服務。如果沒有考慮這些複雜性,可能會導緻防火牆阻塞某些合法的網絡服務。

3.2.3 狀态包檢查

狀态包檢查(Stateful Packet Inspection,SPI)防火牆是對基本包過濾的改進。這種類型的防火牆會檢查每個資料包,并且不僅基于對目前資料包的檢查,而且還基于該會話中先前資料包推導出的資料來決定拒絕或允許通路。這意味着防火牆知道特定資料包被發送的上下文(context)。這使得此類防火牆不太容易受到ping泛洪和SYN泛洪攻擊的影響,而且更不易被欺騙。SPI防火牆不易受到這類攻擊的原因如下:

  • 它們可以識别出一個資料包是否是來自特定IP位址的、異常大的資料包流的一部分,進而判斷是否有可能正在發生DoS攻擊。
  • 它們可以識别資料包的源IP位址是否看似來自防火牆的内部,進而判斷是否有IP欺騙正在發生。
  • 它們也可以考察資料包的實際内容,進而允許擁有某些非常進階的過濾能力。

SPI防火牆是包過濾防火牆的改進版。目前大多數優質的防火牆都使用狀态包檢查方法。如果有可能,這是為大多數系統推薦的防火牆類型。實際上,大多數家庭路由器都有使用狀态包檢查的選項。狀态包檢查這個名字來源于這樣一個事實,即,除了檢查資料包外,防火牆還檢查資料包在整個IP會話中的狀态。這意味着防火牆可以參考前面的資料包以及那些資料包的内容、源及目标位址。正如你可能猜測到的,SPI防火牆正變得越來越普遍。我們将在第4章介紹幾個這類防火牆。下面列出了一些知名的産品:

  • SonicWall (www.sonicwall.com/ ):SonicWall是一個著名的防火牆産品廠商,它為不同規模的網絡提供不同價格範圍的多種SPI防火牆産品。
  • Linksys (www.linksys.com/ ):Linksys生産了許多使用SPI技術的小型辦公室/家庭辦公室防火牆路由器産品。這些産品非常便宜并且易于配置。
  • Cisco (www.cisco.com ):思科(Cisco)是一家非常著名并受到高度推崇的廠商,它提供許多不同類型的網絡産品,包括使用SPI技術的基于路由器的防火牆。

供參考:無狀态包過濾

狀态包檢查顯然是首選的方法。随之而來的問題自然就是:無狀态包過濾是什麼?專業人士一般不使用這個術語,它就是名額準的包過濾方法。

3.2.4 應用網關

應用網關(也稱為應用代理或應用層代理)是一個在防火牆上運作的程式。這種防火牆的名稱來源于它的工作方式,即通過與各種類型的應用程式進行協商來允許其流量通過防火牆。在網絡術語中,協商是指認證和驗證過程。換言之,應用網關将檢查用戶端應用程式及其試圖連接配接的伺服器端應用程式,而不是檢視該資料包使用的協定和端口,來決定特定用戶端應用程式的流量是否允許通過防火牆。這與包過濾防火牆顯著不同,包過濾防火牆檢查資料包,對這些資料包是由什麼應用程式發送的毫不知情。應用網關能讓管理者指定僅允許通路某些特定類型的應用程式,如Web浏覽器或FTP用戶端。

當用戶端程式(如Web浏覽器)與目标服務(如Web伺服器)建立連接配接時,它首先連接配接到應用網關或代理上。然後,用戶端與代理伺服器進行協商,以獲得對目标服務的通路權限。實質上,代理代表客戶建立與防火牆後面的目标伺服器的連接配接,因而隐藏和保護了防火牆内部網絡上的各個計算機。這個過程實際建立了兩個連接配接,一個是用戶端和代理伺服器之間的連接配接,另一個是代理伺服器和目标伺服器之間的連接配接。

一旦建立了連接配接,應用網關就會全權決定轉發哪些資料包。由于所有通信都是通過代理伺服器進行的,是以防火牆後面的計算機得到了保護。

使用應用網關時,所支援的每種用戶端程式都需要有一個唯一的程式來接收用戶端應用程式的資料。這類防火牆允許單獨的使用者身份認證,這使得它們能非常有效地阻塞不想要的流量。然而,缺點是這類防火牆耗費大量的系統資源。認證用戶端應用程式的過程比簡單的包過濾要使用更多的記憶體和CPU時間。

供參考:唯一登入

請注意,對具有大量公共流量的網站(例如電子商務站點)來說,每個使用者擁有一個唯一的登入可能不是個理想的解決方案。這類網站希望擷取大量的流量,這些流量主要來自新客戶,而網站的新訪客沒有登入ID或密碼。讓他們通過建立一個賬号來通路你的網站,這很可能會将很多潛在客戶拒之門外。但對于公司網絡來說,這可能是個理想的解決方案。

應用網關也容易受到各種泛洪攻擊(如SYN泛洪、ping泛洪等),主要原因有兩個。第一個潛在的原因可能是,應用程式需要額外的時間來協商認證請求。不要忘記,用戶端應用程式和使用者可能都需要進行認證。這比簡單地基于某些參數的包過濾要花費更多時間。是以,大量的連接配接請求會淹沒防火牆,阻止防火牆響應合法請求。應用網關更容易受到泛洪攻擊的另一個原因是,一旦連接配接建立,它就不會再檢查資料包。如果連接配接已經建立,就可以通過該連接配接向連接配接到的伺服器(如Web伺服器或電子郵件伺服器)發送泛洪攻擊。這種脆弱性可以通過使用者認證得到一定程度的緩解。如果使用者登入方法是安全的(使用适當的密碼、加密傳輸等),那麼通過應用網關使用合法連接配接進行泛洪攻擊的可能性會減小。

第4章将讨論具體的防火牆實作,這裡提供幾種應用網關産品的簡要概括:

3.2.5 電路層網關

電路層網關防火牆類似于應用網關,但更安全,通常在高端裝置上實作。這類防火牆也使用使用者認證,但它們是在通路過程的初期進行認證的。在應用網關中,首先檢查用戶端應用程式,檢視是否應該授予通路權限,然後再對使用者進行身份認證。而在電路層網關中,認證使用者是第一步。在與路由器建立連接配接之前檢查使用者的登入ID和密碼,并授予使用者通路權限。這意味着每個人,無論是基于使用者名還是基于IP位址,都必須在執行任何進一步通信之前進行驗證。

一旦通過驗證,并且在源和目标之間建立了連接配接,那麼防火牆隻需簡單地在兩個系統之間傳遞資料。在内部用戶端與代理伺服器之間存在一個虛拟的“電路”。用戶端發出的通路Internet的請求通過這個電路到達代理伺服器,代理伺服器在改變IP位址之後将這些請求轉發到Internet上。外部的使用者隻看到代理伺服器的IP位址。傳回的響應由代理伺服器接收,并通過這個電路送回用戶端。正是這個虛拟的電路使得電路層網關變得安全。與簡單的包過濾防火牆和應用網關等其他選擇相比,在用戶端應用程式和防火牆之間的私有安全連接配接是更安全的解決方案。

雖然流量被允許通過,但外部系統永遠看不到内部系統。應用網關和電路層網關之間的差別如圖3-2所示。

帶你讀《網絡防禦與安全對策:原理與實踐(原書第3版)》之三:防火牆基礎第3章 

雖然安全性很高,但這種方式可能不适合某些與普通公衆的通信,如電子商務網站。這種類型的防火牆也很難配置,因為每個用戶端必須設定成與防火牆有一個電路連接配接。

pfSense是一個開源的防火牆項目(

https://www.pfsense.org/

)。該防火牆的源代碼可以下載下傳、編譯并在基于網絡主機的配置下運作。事實上,由于它是開源的而且可以進行修改,是以對那些擁有經驗足夠豐富的程式員的機構來說,pfSense是一個很有吸引力的選擇。

3.2.6 混合防火牆

正如你在本章後面以及第4章将要看到的,有越來越多的廠商正在生産混合防火牆。這是混合采用多種方法、而不是單一方法的防火牆。這種混合的方法往往比使用任何單一的方法都更有效。

一種非常強大的防火牆方法是同時使用電路層網關和狀态包過濾的設計。這樣的配置把最好的防火牆方法組合到一個單元中。第4章将研究真實世界中一些混合解決方案的例子。

3.2.7 黑名單/白名單技術

許多防火牆還支援使用黑名單或白名單技術。黑名單技術是一種給出禁止清單的安全方法,其中,使用者可以通路除禁止清單之外的任何網站或Internet資源,該清單就叫黑名單。這是一種非常寬松的方法,因為使用者僅被阻止通路特定清單上的站點。

相反,白名單技術是給出允許清單的方法,使用者被阻止通路除清單之外的任何網站或Internet資源,該清單即白名單。白名單方法限制更嚴格,但也更安全。黑名單方法的問題是,不可能知道和列出使用者不應該通路的每個網站。無論黑名單多麼徹底全面,都可能會允許到某些不應該通路網站的流量。白名單方法要安全得多,因為所有站點預設都是被阻止的(預設被阻止也稱為隐式拒絕),除非它們在白名單上。

3.3 實作防火牆

管理者必須能夠評估防火牆的實作問題,以便能為他們的系統取得一個成功的安全解決方案。了解防火牆的類型意味着了解防火牆如何評估流量、決定允許什麼和不允許什麼。而了解防火牆的實作則意味着了解如何建立防火牆與所保護網絡的關系。使用最廣泛的防火牆實作包括:

  • 基于網絡主機(Network host-based)
  • 雙主控端(Dual-homed host)
  • 基于路由器的防火牆(Router-based firewall)
  • 屏蔽主機(Screened host)

3.3.1 基于網絡主機

在基于主機(有時稱為基于網絡主機)的防火牆場景中,防火牆是一個安裝在使用現有作業系統的機器上的軟體解決方案。這種場景中最重要的問題在于,不管防火牆解決方案有多麼好,它都依賴于底層的作業系統。在這種場景中,安裝防火牆的機器擁有安全加強的作業系統至關重要。加強作業系統是指對系統采取多種安全預防措施,包括:

  • 確定所有的更新檔已經更新
  • 解除安裝不需要的應用程式或實用程式
  • 關閉不使用的端口
  • 關閉不使用的服務

第8章将更深入地介紹作業系統的加強問題。

在基于網絡主機的防火牆實作中,你将防火牆軟體安裝到現有伺服器上。有時,伺服器的作業系統可能會附帶這樣的軟體。常常有管理者使用運作Linux系統的機器,配置其内置的防火牆,并把該伺服器用作防火牆。該方案的主要優點是成本低。簡單地将防火牆軟體安裝到現有的機器上,并把該機器用作防火牆,這要便宜得多。

實踐中:DMZ

越來越多的機構選擇使用DMZ(DeMilitarized Zone, DMZ)。一個DMZ是一個非軍事化區。使用兩個獨立的防火牆可建立一個DMZ。其中,一個防火牆面對外部世界或Internet,另一個面對内部或企業網絡。DMZ允許在面向Internet的服務和後端企業資源之間存在一層額外的保護。

典型情況下,Web伺服器、電子郵件伺服器和FTP伺服器都位于DMZ區。域控制器、資料庫伺服器和檔案伺服器都位于企業網絡内部。這意味着,如果黑客突破了第一道防火牆的安全防線,他也隻能影響Web伺服器或電子郵件伺服器。他不能直接擷取企業資料。要擷取這些資料需要黑客突破另一道防火牆的安全防線。

不管你使用什麼類型的防火牆,這種安排都是優選的方法。通常,管理者選擇使用較弱和較便宜的防火牆放在DMZ外部,比如簡單的包過濾防火牆。而使用更嚴格的防火牆放在DMZ内部一側,如狀态包過濾防火牆。如果在外部防火牆上使用入侵檢測系統(将在第5章詳細讨論),那麼遠在黑客能夠成功突破内部防火牆之前,對外部防火牆的任何攻擊很可能被檢測到。這也是媒體上充斥着黑客擊潰網站的故事,而黑客真正獲得敏感資料的故事不太常見的一個原因。

現在許多路由器廠商都提供實作DMZ的單一裝置。他們通過在一個裝置中建立兩個防火牆來實作這種方案,這樣你就可以購買實作了整個DMZ功能的單一裝置。路由器有一個端口用于外部連接配接(即Internet),另一個端口用于DMZ,而剩下的端口用于内部網絡。圖3-3展示了一個DMZ區。

帶你讀《網絡防禦與安全對策:原理與實踐(原書第3版)》之三:防火牆基礎第3章 

3.3.2 雙主控端

雙主控端是一種運作在至少擁有兩個網絡接口的伺服器上的防火牆。這是一種很古老的方法。目前大多數防火牆都是在實際的路由器上而不是在伺服器上實作的。伺服器充當網絡和其相連接配接口之間的一個路由器。為此,伺服器的自動路由功能被禁用,這意味着來自Internet的IP資料包不能直接路由到内部網絡。管理者可以選擇什麼樣的資料包可以路由以及如何路由。防火牆内部和外部的系統可以與雙主控端通信,但互相之間不能直接通信。

圖3-4展示了一個雙主控端防火牆。

帶你讀《網絡防禦與安全對策:原理與實踐(原書第3版)》之三:防火牆基礎第3章 

雙主控端配置是基于網絡主機的防火牆的簡單擴充版本。這意味着,它也取決于底層作業系統的安全性。任何時候,一個防火牆無論運作在何種類型的伺服器上,該伺服器作業系統的安全性都比一般的伺服器更關鍵。

該種選擇具有相對簡單和便宜的優點。主要缺點是它對底層作業系統的依賴性。

3.3.3 基于路由器的防火牆

管理者可以在路由器上實作防火牆保護。事實上,目前即使是最簡單、最低端的路由器,也都内置了某種類型的防火牆。在具有多層防護的大型網絡中,這通常是第一層防護。盡管可以在路由器上實作各種類型的防火牆,但最常見的類型仍然是使用包過濾。家庭或小型辦公室的寬帶連接配接使用者可以使用帶包過濾防火牆功能的路由器,以取代寬帶公司提供的基本路由器。

在很多情況下,這也是防火牆新手理想的解決方案。許多廠商提供基于路由器的防火牆,并根據客戶的需求進行預先配置。客戶可以把它安裝在他的網絡和外部Internet連接配接之間。此外,大多數知名品牌(Cisco、3COM等)都提供了關于其硬體的廠商專有教育訓練和認證,進而使得能夠相對容易地找到合格的管理者或教育訓練現有員工。

實作基于路由器的防火牆的另一種有價值的方法是在網絡的子部分之間使用防火牆。如果一個網絡被劃分成網段,每個網段都需要使用路由器連接配接到其他網段。在這種情況下,使用包含防火牆功能的路由器能顯著提高安全性。如果網絡的一個網段受到侵害,則網絡的其餘部分不一定被攻破。

或許基于路由器的防火牆的最大優點是它易于設定。在很多情況下,廠商甚至會為你配置防火牆,而你隻需簡單地插上它即可。目前,大多數的家庭路由器,如來自Linksys、Belkin或Netgear的路由器,都有内置防火牆。事實上,幾乎所有高端的路由器都具備防火牆功能。

3.3.4 屏蔽主機

屏蔽主機實際上是防火牆的組合。它組合使用了一個堡壘主機(bastion host)和一個屏蔽路由器(screening router)。這種組合建立了一個雙防火牆解決方案,在過濾流量方面很有效。這兩個防火牆可以是不同的類型。堡壘主機(見本節的供參考)可以是一個應用網關,而屏蔽路由器可以是包屏蔽器(反之亦然)。這種方法(如圖3-5所示)擁有兩種類型防火牆的優點,并且在概念上與雙主控端相似。

帶你讀《網絡防禦與安全對策:原理與實踐(原書第3版)》之三:防火牆基礎第3章 

屏蔽主機與雙主控端防火牆相比有一些明顯的優點。與雙主控端防火牆不同,屏蔽主機隻需要一個網絡接口,并且在應用網關和路由器之間不需要單獨的子網。這使得防火牆更靈活,但可能安全性會低一些,因為,它隻依賴于一個網絡接口,這意味着它可以被配置成将某些可信服務傳遞給防火牆的應用網關部分,并直接向網絡内的伺服器傳遞。

使用屏蔽主機時,最重要的關注點是它在本質上将兩個防火牆結合成一個。是以,任何安全缺陷或錯誤配置都會影響兩個防火牆。但當你使用DMZ時,實體上存在兩個獨立的防火牆,而一個安全缺陷傳播到兩個防火牆的可能性很低。

供參考:堡壘主機

堡壘主機是Internet和私有網絡之間的單一接觸點。它通常隻運作有限數量的服務(私有網絡絕對必需的服務),而沒有其他服務。堡壘主機常常是處于網絡和外部世界之間的一個包過濾防火牆。

除了這些防火牆配置之外,防火牆檢查資料包的方法也不同。包過濾工作在OSI模型的網絡層,它簡單地基于協定、端口号、源位址和目标位址這樣的标準來阻止某些資料包。例如,包過濾防火牆可能拒絕端口号為1024及以上的所有流量,或者它可能阻止所有使用tFTP協定的入站流量。當然,端口号屬于傳輸層。對入站和出站流量的過濾可以決定什麼資訊可以進入或離開本地網絡。

屏蔽路由器通過讓你拒絕或允許來自堡壘主機的某些流量來增加安全性。這是流量的第一站,隻有在屏蔽路由器允許的情況下才能繼續傳遞。

實踐中:最高安全性

需要最高安全級别的機構經常使用多個防火牆。網絡的邊界可能實際上有兩個防火牆,也許是一個狀态包檢查防火牆和一個應用網關,一個接在另一個之後(順序将決定它們如何配置)。這使得機構能夠獲得兩種防火牆的優點。這種類型的配置不是那麼普遍,但确實已被一些機構采用。

一種常見的多防火牆場景是使用屏蔽防火牆路由器(screened firewall routers)分割各個網段。網絡仍有一個邊界防火牆用于阻止入站流量,但它還用包過濾來分割每個網段。這樣,如果一個攻擊突破了邊界防護,并不是所有的網段都會受到影響。

為了獲得盡可能進階别的防火牆保護,理想的場景是使用雙邊界防火牆(dual-perimeter firewall),并在所有路由器上都使用包屏蔽,然後在每個伺服器,甚至每個工作站上都使用單獨的包過濾防火牆(如内置到某些作業系統中的防火牆)。這樣的配置可能設定起來昂貴,并且難以維護,但它能提供極其健壯的防火牆保護。圖3-6展示了一種具有多個防火牆的配置。在該圖中,每個工作站都配置并運作了基于作業系統的防火牆。

帶你讀《網絡防禦與安全對策:原理與實踐(原書第3版)》之三:防火牆基礎第3章 

3.4 選擇和使用防火牆

3.4.1 選擇防火牆

有多種商用防火牆産品可供選擇。很多軟體廠商都提供基本的包過濾解決方案。主要的防病毒軟體廠商(包括本章前面提到的那些廠商)經常提供防火牆軟體作為他們防毒軟體的捆綁選項。其他公司,如Zone Labs,則銷售防火牆和入侵檢測軟體。諸如Cisco這樣的路由器和交換機主要制造商也提供防火牆産品。

一個特定系統需要的安全程度總是難以确定的。最低限度的建議是,在網絡和Internet之間有一個包過濾防火牆或代理伺服器,但這是最低限度。一般來說,管理者應該在預算允許範圍内購買功能最強的防火牆。第4章将詳細研究一些廣泛使用的防火牆解決方案。但請記住,這僅僅是經驗之談。一種更好的方法是進行風險分析,第11章和第12章将介紹如何進行風險分析。

3.4.2 使用防火牆

使用防火牆的第一原則是要正确配置它。第4章将介紹一些廣泛使用的防火牆解決方案以及如何配置它們。通讀并了解與防火牆解決方案相關的所有文檔和手冊是最基本的要求。在初始設定和配置時,管理者還應該考慮顧問服務的幫助。此外,防火牆廠商通常都提供關于具體産品的教育訓練。

在安全事件發生後,防火牆也是試圖确定發生了什麼事情的優秀工具。幾乎所有的防火牆,不管是什麼類型或者怎樣實作的,都記錄在它們之上發生的各種活動。這些日志可以提供能幫助确定攻擊來源、所使用攻擊方法的有價值資訊,以及其他有助于定位攻擊的發起者或至少能防止未來使用相同技術進行攻擊的資料。

考慮到網絡上的裝置數量衆多,是以常常把日志合并。使用安全資訊和事件管理器(Security Information and Event Manager,SIEM)是一種常見的方法。還有一個協定,即syslog協定,它是一個用來傳送日志資訊的協定。一個SIEM系統不僅可以合并防火牆日志,而且還可以合并其他日志,如IDS日志。

審查防火牆日志以查找異常活動應該是每個機構中IT人員日常工作的一部分。第5章介紹的入侵檢測系統可以在異常發生時,尤其是那些可能标志着潛在攻擊的異常發生時,通過通知網絡管理者而提供幫助。然而,即使是使用了IDS,周期性地審查日志仍是一個不錯的主意。

研究防火牆在正常活動期間的日志,可以為防火牆建立一個基線(baseline)。這個基線應該展示每小時、每分鐘以及每天入站和出站資料包的平均數量。它還應該辨別資料包的類型(例如,入站資料包的73%是到達你的Web伺服器的HTTP資料包)。定義防火牆上的正常活動,能夠幫助管理者在異常活動發生時注意到它。

3.5 使用代理伺服器

代理伺服器常常與防火牆一起使用來隐藏内部網絡的IP位址,以單個IP位址(代理伺服器自身的位址)的形式呈現在外界面前。代理伺服器是處于用戶端應用程式(如Web浏覽器)和真實的伺服器之間的一個伺服器。代理伺服器能阻止黑客看到網絡内部主機的IP位址,知道代理伺服器後面有多少台機器,或者了解任何關于網絡配置的内容。代理伺服器還提供了一種寶貴的控制機制,因為大多數代理伺服器都會記錄所有的出站流量。這使得網絡管理者可以看到員工在Internet上的通路記錄。代理伺服器通常以軟體形式與你的防火牆運作在相同的機器上。

代理伺服器可以配置成重定向(redirect)某些流量。例如,使用HTTP協定的入站流量通常允許通過代理伺服器,但被重定向到Web伺服器。這意味着所有出站和入站的HTTP流量首先通過代理伺服器。一個代理伺服器可以配置為重定向你想要的任何流量。如果網絡上有電子郵件伺服器或FTP伺服器,那麼你可以配置使該網絡所有入站和出站的電子郵件流量或FTP流量都通過代理伺服器。

使用代理伺服器意味着,當網絡内部有一台機器通路網站時,網站隻能檢測到代理伺服器對它的通路。事實上,如果網絡上數十台不同的機器通路一個能記錄入站連接配接IP位址的站點,那麼這些連接配接會被記錄為使用同一IP位址,即代理伺服器的IP位址。大多數情況下,這種代理伺服器已經被網絡位址轉換(Network Address Translation,NAT)所取代,我們将在下一節中研究NAT。然而,代理伺服器這一術語現在仍在使用,但有了不同的應用。現在,代理伺服器與防火牆一起工作,過濾諸如Web内容之類的東西。它允許網絡管理者阻塞某些站點并記錄指定使用者通路的所有網站。

隐藏内部網絡是一項很有價值的服務,因為關于内部IP位址的知識可被用于進行某些形式的攻擊。例如,IP欺騙(IP spoofing)攻擊就是基于知道某個内部伺服器的IP位址。隐藏内部IP位址是網絡安全的一個重要步驟。此外,了解員工通路了Internet上的哪些網頁也非常有用。代理伺服器能跟蹤這類資訊,許多網絡管理者使用它來限制員工把公司的網絡連接配接用于非法目的。代理伺服器還是能夠阻止攻擊的有用工具。通路黑客網站的員工可能是潛在的安全風險。他們可能會選擇嘗試他們在網絡上讀到的一些技術。管理者還可以檢測潛在的工業間諜活動。一個在競争對手的網站上花費大量時間的員工可能正在考慮更換工作,他可能在考慮帶走有價值的資料。

3.5.1 WinGate代理伺服器

目前,有許多代理伺服器解決方案。有些是商用産品,有些則是開源的。為了幫助你更好地了解代理伺服器,我們将分析一款這樣的産品。WinGate是一個價格低廉的商用産品,它還提供可供下載下傳的免費試用版(www.wingate.com)。該産品具有代理伺服器的所有标準特性,包括:

  • 共享Internet連接配接
  • 隐藏内部IP位址
  • 允許病毒掃描
  • 過濾站點

免費下載下傳使它成為學生的理想選擇。無須繳納任何費用,就可通過使用30天試用版來學習代理伺服器是如何工作的。該産品安裝過程簡單,并且有易于使用的圖形使用者界面。

當然,你可以找到其他的代理伺服器解決方案,而且其中很多相當不錯。這裡選擇WinGate是因為它具有如下特點:

  • 易于使用
  • 廉價
  • 可免費下載下傳

WinGate對學習之外的其他環境來說也是一個不錯的解決方案。過濾某些網站的能力對很多公司來說都相當具有吸引力。公司減少系統資源濫用的一個方法就是阻塞他們不希望員工通路的網站。而掃描病毒的能力在任何環境下也都很有價值。

3.5.2 NAT

對許多機構來說,代理伺服器已經被一種稱為網絡位址轉換(Network Address Translation,NAT)的比較新的技術所取代。如今所謂的代理伺服器已經不再做它們最初要做的事情了(即,将私有IP位址轉換為公有IP位址)。首先,NAT轉換内部位址和外部位址,以允許内網的計算機和外部計算機之間的通信。外部隻能看到運作NAT的機器的位址(通常是防火牆)。從這個角度來看,它的功能與代理伺服器完全一樣。

NAT還提供重要的安全性,因為在預設情況下,它隻允許從内部網絡上發起的連接配接。這意味着内部網絡的計算機可以連接配接到外部Web伺服器,但外部計算機不能連接配接到内部網絡上的Web伺服器。你可以通過入站映射(inbound mapping)讓外部世界使用某些内部伺服器。該映射将某些熟知的TCP端口(如HTTP的80端口、FTP的21端口等)映射到特定的内部位址,進而允許外部世界通路内部的FTP或網站等服務。然而,這種入站映射必須明确地配置,預設情況下是沒有的。

正如你将在後續章節中看到的,NAT常被作為另一個産品的一部分提供,例如作為防火牆的一部分。不像代理伺服器,NAT不太可能作為獨立的産品出現。第4章将展示幾種包含網絡位址轉換功能的防火牆解決方案。

3.6 本章小結

對任何網絡來說,在網絡與外部世界之間部署防火牆和NAT絕對很關鍵。有多種防火牆類型和實作可供選擇。有些易于實作并且價格低廉。另一些可能需要更多資源、難以配置,或價格昂貴。一個機構應該使用其環境允許的最安全的防火牆。對于某些防火牆,特定廠商的教育訓練對正确配置防火牆來說是必不可少的。配置不好的防火牆與根本沒有防火牆可能一樣,都是安全隐患。

本章我們研究了各種類型的防火牆(包過濾、應用網關、電路層網關和狀态包檢查)以及它們的實作(基于網絡主機、基于路由器、雙主控端和屏蔽主機)。了解防火牆的工作原理,對于根據網絡安全需求選擇合适的解決方案來說至關重要。

3.7 自測題

3.7.1 多項選擇題

1.下列哪項是四種基本的防火牆類型?

A.屏蔽、堡壘、雙宿、電路層             
B.應用網關、堡壘、雙宿,屏蔽
C.包過濾、應用網關、電路層、狀态包檢查    
D.狀态包檢查、網關、堡壘、屏蔽
           

2.哪種類型的防火牆與用戶端之間建立一個私有的虛拟連接配接?

A.堡壘                     
B.雙宿
C.應用網關                     
D.電路層網關
           

3.哪種類型的防火牆被認為是最安全的防火牆?

A.雙宿                     
B.狀态包檢查
C.電路層網關                     
D.包屏蔽
           

4.包過濾防火牆必須設定的四個規則是什麼?

A.協定類型、源端口、目标端口、源IP         
B.協定版本、目标IP、源端口、使用者名
C.使用者名、密碼、協定類型、目标IP         
D.源IP、目标IP、使用者名、密碼
           

5.哪種類型的防火牆要求單個用戶端應用程式被授權連接配接?

A.屏蔽網關                     
B.狀态包檢查
C.雙宿                     
D.應用網關
           

6.為什麼代理網關可能易于受到泛洪攻擊?

A.它沒有适當地過濾資料包             
B.它不要求使用者認證
C.它允許同時存在多個連接配接             
D.它的認證方法需要更多的時間和資源
           

7.為什麼電路層網關在某些情況下可能不合适?

A.它沒有使用者認證                 
B.它阻塞了Web流量
C.它需要用戶端的配置                 
D.它太貴
           

8.為什麼SPI防火牆不易受到欺騙攻擊?

A.它檢查所有資料包的源IP             
B.它自動阻塞僞裝的資料包
C.它要求使用者認證                 
D.它要求用戶端應用程式認證
           

9.為什麼SPI防火牆對泛洪攻擊具有更強的抵抗能力?

A.它自動阻塞來自單個IP的大流量         
B.它要求使用者認證
C.它根據先前資料包的上下文來檢查資料包    
D.它檢查所有資料包的目标IP
           

10.在基于網絡主機的配置中最大的危險是什麼?

A. SYN泛洪攻擊                 
B. ping泛洪攻擊
C. IP欺騙                     
D.作業系統的安全缺陷
           

11.下列哪項是基于網絡主機配置的優勢?

A.它對IP欺騙有抵抗力            
B.它便宜或免費
C.它更安全                     
D.它要求使用者認證
           

12.下列哪一個可以在傳遞時預先配置?

A.狀态包檢查防火牆                 
B.基于網絡主機的防火牆
C.基于路由器的防火牆            
D.雙宿防火牆
           

13.下列哪種解決方案實際上是防火牆的組合?

A.屏蔽防火牆                
B.基于路由器的防火牆
C.雙宿型防火牆                 
D.堡壘主機防火牆
           

14.下列哪項是IT安全人員的日常工作?

A.通過嘗試ping泛洪攻擊測試防火牆         
B.審查防火牆日志
C.重新啟動防火牆                 
D.實體地檢查防火牆
           

15.隐藏内部IP位址的裝置稱為什麼?

A.屏蔽主機                     
B.堡壘防火牆
C.代理伺服器                
D.雙主控端
           

16.NAT最重要的安全優點是什麼?

A.它阻止入站的ICMP資料包             
B.它隐藏内部網絡位址
C.預設情況下,它阻塞所有ICMP資料包    
D.預設情況下,它隻允許出站連接配接
           

3.7.2 練習題

不要使用實際系統做實驗室。下面所有的練習中,你應該隻使用專門用于實驗目的的實驗室計算機。不要在實際系統上進行這些實驗練習。

練習3.1 打開Windows防火牆

注意:這個練習需要使用安裝了Windows 7、8或10的機器。

1.點選“Start”(開始),選擇“Settings”(設定),然後點選“control panel”(控制台)。或者在搜尋框中輸入“control panel”(控制台)。

2.單擊“Systems and Security”(系統及安全)。

3.單擊“Windows Firewall”(Windows防火牆)。在該界面上,你可以啟用或關閉防火牆,并且配置防火牆的規則。

練習3.2 Linux防火牆

注意:這個練習需要通路一台Linux機器。考慮到Linux有各種發行版本,這裡不可能為所有版本都列出步驟說明。

1.使用Web查找你的特定Linux發行版的防火牆文檔。

下述站點可能會有所幫助:

http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/firewall.html https://www.linux.com/ https://www.networkcomputing.com/careers/your-iptable-ready-using-linuxfirewall/885365766

2.使用文檔中給出的指令打開并配置你的Linux防火牆。

練習3.3 免費的防火牆

有很多商用防火牆解決方案,但也有免費的解決方案。本練習中你應該完成如下任務:

1.在Web上找到一款免費的防火牆

下述網站可能會有所幫助:

https://www.zonealarm.com/software/free-firewall
https://www.pandasecurity.com/security-promotion .           

這是一個獲得商用産品免費試用版的網站。

2.下載下傳并安裝防火牆。

3.配置防火牆。

練習3.4 免費的代理伺服器

有許多免費的代理伺服器(或至少提供免費的試用版)。下述網站可能會有所幫助:

AnalogX代理:www.analogx.com/contents/download/network/proxy.htm

免費下載下傳中心:

http://www.proxy4free.com/

1.下載下傳你標明的代理伺服器。

2.安裝它。

3.根據廠商的規範說明配置它。

3.7.3 項目題

項目3.1 Cisco防火牆

使用Web資源或你可以通路的文檔,查找思科的Cisco Firepower NGFW的詳細說明。判斷它是什麼類型的防火牆以及它是基于什麼實作的,還要注意它的任何具體的優點或缺點。

項目3.2 ZoneAlarm 防火牆

使用Web資源或你可以通路的文檔,查找Zone Labs的Check Point Integrity防火牆的詳細說明。确定它是什麼類型的防火牆以及它是基于什麼實作的,還要注意它的任何具體的優點或缺點。以下網站可能會有幫助:

http://www.zonealarm.com/security/en-us/zonealarm-pc-security-free-firewall.htm

www.checkpoint.com/products/integrity/

項目3.3 Windows 10

使用Web資源或你可以通路的文檔,查找Windows 10防火牆的詳細說明。确定它是什麼類型的防火牆以及它是基于什麼實作的,還要注意它的任何具體的優點或缺點。

繼續閱讀