防火牆

網路安全系統,根據預先決定的安全規則監視並控制連入與連出的網路流量

防火牆(英語:Firewall)在電腦科學領域中是一個架設在互聯網與內網之間的網絡安全裝置,根據持有者預定的策略來監控往來的傳輸。[1]防火牆可能是一台專屬的網絡裝置,也可執行於主機之上,以檢查各個網絡介面的網絡傳輸。它是目前最重要的一種網絡防護裝置,從專業角度來說,防火牆是位於兩個或以上網絡間,實行網絡間訪問或控制的一組元件集合之硬件或軟件。

防火牆隔開了信任區域與非信任區域
例證,防火牆將位於網絡中。
Linux內核模組Netfilter的網絡包處理流
Gufw是Uncomplicated Firewall的前端圖形終端,後者自身也是netfilter的包裝

功能

防火牆最基本的功能就是隔離網絡,透過將網絡劃分成不同的區域(通常情況下稱為ZONE),制定出不同區域之間的訪問控制策略來控制不同信任程度區域間傳送的數據流。例如互聯網是不可信任的區域,而內聯網是高度信任的區域。以避免安全策略中禁止的一些通訊。它有控制資訊基本的任務在不同信任的區域。 典型信任的區域包括互聯網(一個沒有信任的區域) 和一個內聯網(一個高信任的區域) 。 最終目標是:根據最小特權原則,在不同水平的信任區域,透過連通安全政策的執行,提供受控制的連通性。 例如:TCP/IP Port 135~139是 Microsoft Windows 的【網上鄰居】所使用的。如果電腦有使用【網上鄰居】的【分享資料夾】,又沒使用任何防火牆相關的防護措施的話,就等於把自己的【分享資料夾】公開到Internet,使得任何人都有機會瀏覽目錄內的檔案。且早期版本的Windows有【網上鄰居】系統溢位的無密碼保護的漏洞(這裏是指【分享資料夾】有設密碼,但可經由此系統漏洞,達到無須密碼便能瀏覽資料夾的需求)。防火牆的本義,是指古代構築和使用木製結構房屋時,為防止火災發生及蔓延,人們將堅固石塊堆砌在房屋周圍做為屏障,這種防護結構建築就被稱為防火牆。現代網絡時代參照此喻意,指隔離本機網絡與外界網絡或是區域網絡間與互聯網或互聯網的一道防禦系統,藉由控制過濾限制訊息來保護內聯網資料的安全。

防火牆類型

針對普通用戶的個人防火牆,通常是在一部電腦上具有封包過濾功能的軟件,如ZoneAlarmWindows XP SP2後內建的防火牆程式。而專業的防火牆通常為網絡裝置,或是擁有2個以上網絡介面的電腦。以作用的TCP/IP堆疊區分,主要分為網絡層防火牆應用層防火牆兩種,但也有些防火牆是同時運作於網絡層應用層

網絡層(封包過濾型)防火牆

運作於TCP/IP協定堆疊上。管理者會先根據企業/組織的策略預先設置好封包通過的規則或採用內建規則,只允許符合規則的封包通過。

一般而言,由於來源IP不易阻擋,通常藉由阻擋非80/443的埠,以阻擋來自非80/443的埠的不需要的流量。

網絡層防火牆可分為:狀態感知(stateful)與無狀態感知(stateless)。

  • 狀態感知(stateful)

狀態感知防火牆會針對活動中的連線維護前後傳輸的脈絡,並使用這些狀態資訊來加速封包過濾處理。

根據需求,現行的網絡連線由各種性質描述,包括:來源端IP位置,目的端IP位置、UDP或TCP埠口號碼,以及連線所處的狀態階段(連線初始化、交握中,資料傳輸中、或完成連線)。

如果有封包與現存連線不符,防火牆會根據規則來評估此封包是否該屬於另外一個新連線。如果封包符合現存連線,防火牆會根據自己所建立的狀態表完成比對,該封包就不必額外處理,即可通過兩端網絡。

  • 無狀態感知(stateless)

無狀態感知防火牆所需較少的記憶體,針對於通過的封包,作比較簡易與快速的過濾。如此,相較於查詢對話工作期間(session),無狀態感知防火牆所耗的時間也較少。

這種防火牆可處理無狀態網絡通訊協定,這種協定並沒有對話工作期間(session)的概念。

反之,這種防火牆無法根據溝通的兩端所處的狀態階段作出複雜的決策。

我們也能以另一種較寬鬆的角度來制定防火牆規則,只要封包不符合任何一項「否定規則」就予以放行。現在的作業系統及網絡裝置大多已內建防火牆功能。

較新的防火牆能利用封包的多樣屬性來進行過濾,例如:來源 IP 地址、來源埠號、目的 IP 地址或埠號、服務類型(如 HTTP 或是 FTP)。也能經由通訊協定、TTL 值、來源的網域名稱或網段...等屬性來進行過濾。

應用層防火牆

 
防火牆的視察軟件介面範例,紀錄IP進出的情況與對應事件

應用層防火牆是在TCP/IP堆疊的「應用層」上運作,使用瀏覽器時所產生的資料流或是使用 FTP 時的資料流都是屬於這一層。應用層防火牆可以攔截進出某應用程式的所有封包,並且封鎖其他的封包(通常是直接將封包丟棄)。理論上,這一類的防火牆可以完全阻絕外部的資料流進受保護的機器裏。

防火牆藉由監測所有的封包並找出不符規則的內容,可以防範電腦蠕蟲或是木馬程式的快速蔓延。實際上,這個方法繁復(因軟件種類極多),所以大部份防火牆都不會考慮以這種方法設計。

截至2012年,所謂的下一代防火牆(NGFW)都只是「拓寬」並「深化」了在套用棧檢查的能力。例如,現有支援深度分組檢測的現代防火牆均可延伸成入侵預防系統(IPS),使用者身份整合(使用者ID與IP或MAC地址繫結),和Web套用防火牆(WAF)。

代理服務

代理(Proxy)伺服器(可以是一台專屬的網絡裝置,或是在一般電腦上的一套軟件)採用應用程式的運作方式,回應其所收到的封包(例:連線要求)來實現防火牆的功能,而封鎖/拋棄其他封包。

代理伺服器用來連接一個網絡(例:互聯網)到另一個特定子網(例:企業內網)的轉送者。

代理會使從外部網絡竄改一個內部系統更加困難,且只要對於代理有良好的設置,即使內部系統出現問題也不一定會造成安全上的漏洞。相反地,入侵者也許劫持一個公開可及的系統和使用它作為代理人為他們自己的目的;代理人偽裝作為那個系統對其它內部機器。當對內部地址空間的用途增加安全,破壞者也許仍然使用方法譬如IP欺騙(IP spoofing)試圖通過封包對目標網絡。

防火牆經常有網絡地址轉換(NAT) 的功能,並且主機被保護在防火牆之後共同地使用所謂的「私人地址空間」,定義在RFC 1918。

防火牆的適當的組態要求技巧和智能,它要求管理員對網絡協定和電腦安全有深入的了解,因小差錯可使防火牆不能作為安全工具。

防火牆架構

 

主機型防火牆

此防火牆需有兩張網絡卡,一張與互聯網連接,另一張與內聯網連接,如此互聯網內聯網的通道無法直接接通,所有封包都需要透過主機傳送。

雙閘型防火牆

此防火牆除了主機型防火牆的兩張網絡卡外,另安裝應用服務轉送器的軟件,所有網絡封包都須經過此軟件檢查,此軟件將過濾掉不被系統所允許的封包。

屏障單機型防火牆

此防火牆的硬件裝置除需要主機外,還需要一個路由器,路由器需具有封包過濾的功能,主機則負責過濾及處理網絡服務要求的封包,當互聯網的封包進入屏障單機型防火牆時,路由器會先檢查此封包是否滿足過濾規則,再將過濾成功的封包,轉送到主機進行網絡服務層的檢查與傳送。

屏障雙閘型防火牆

將屏障單機型防火牆的主機換成雙閘型防火牆。

屏障子網域型防火牆

此防火牆藉由多台主機與兩個路由器組成,電腦分成兩個區塊,屏障子網域與內聯網,封包經由以下路徑,第一個路由器->屏障子網域->第二路由器->內聯網,此設計因有階段式的過濾功能,因此兩個路由器可以有不同的過濾規則,讓網絡封包更有效率。若一封包通過第一過濾器封包,會先在屏障子網域進行服務處理,若要進行更深入內聯網的服務,則要通過第二路由器過濾。

缺點

正常狀況下,所有互聯網的封包軟件都應經過防火牆的過濾,這將造成網絡交通的瓶頸。例如在攻擊性封包出現時,攻擊者會不時寄出封包,讓防火牆疲於過濾封包,而使一些合法封包軟件亦無法正常進出防火牆。

相關條目

外部連結

參考資料

  1. ^ Boudriga, Noureddine. Security of mobile communications. Boca Raton: CRC Press. 2010: 32-33. ISBN 978-0849379420.