前言
防火牆這一概念源自古代建築:人們在使用木製房屋時,為防止火災蔓延,會在房屋周圍堆砌堅固的石牆,這種防護結構就稱為防火牆。現代網路時代借用這一比喻,將防火牆指代為隔離內部網路與外部網路(如網際網路)之間的防禦系統,通過控制和過濾網路訊息來保護內部資料的安全。
防火牆的功能
防火牆(Firewall)在電腦科學中是一種設置於網際網路與內部網路之間的安全系統,用來根據預定策略監控和管理網路流量。防火牆可以是一個專用的網路裝置,也可以作為軟體執行在主機上,用於檢查和過濾各個網路介面之間的數據傳輸。作為目前最重要的網路防護工具之一,防火牆可以被定義為位於多個網路之間,用於控制和管理網路訪問的硬體或軟體元件集合。其基本功能是將網路劃分為不同的區域(通常稱為ZONE),並根據區域間的信任程度制定訪問控制策略,以保護內部網路免受不必要的通訊風險。例如,網際網路被視為不可信任的區域,而內部網路則被視為高度信任的區域。防火牆的目標是根據最小特權原則,在不同信任水平的區域之間提供受控的連通性。
舉例來說,TCP/IP Port 135~139 是 Microsoft Windows 用於【網上鄰居】功能的端口。如果電腦開啟了【共用資料夾】功能,且未採用防火牆等保護措施,那麼這些資料夾將對整個Internet公開,使任何人都可能訪問其中的檔案。此外,早期版本的 Windows 存在【網上鄰居】系統的溢位漏洞,允許攻擊者無需密碼即可訪問設有密碼保護的資料夾。
防火牆的分類
普通使用者通常使用安裝在電腦上的防火牆軟體,這些軟體具備封包過濾功能,例如ZoneAlarm或Windows XP SP2之後內建的防火牆程式。而專業的防火牆通常是專用的網路設備,或是具有多個網路介面的電腦。根據其運作的TCP/IP協定堆疊層,防火牆主要分為兩種類型:網路層防火牆和應用層防火牆,有些防火牆甚至同時運作於這兩個層次。
網路層(封包過濾型)防火牆
網路層防火牆運作於TCP/IP協定堆疊,管理者根據企業或組織的安全策略,預先設定好允許封包通過的規則或採用內建的規則,只允許符合規則的封包通過。一般來說,由於阻擋來源IP可能比較困難,通常通過封鎖非80/443端口的流量來阻止不必要的封包。
應用層防火牆
應用層防火牆運作於TCP/IP協定堆疊的應用層,用於監控和過濾由應用程式產生的資料流,例如使用瀏覽器或FTP時的資料流。應用層防火牆可以攔截並封鎖不符合規則的封包,理論上,它能完全阻止外部的資料流進入受保護的系統。
防火牆功能與演進
防火牆通過監控所有封包並篩選不符規則的內容,有效防範電腦蠕蟲或木馬程式的快速傳播。然而,由於軟體種類繁多,這種方法實施起來相當繁瑣,因此大多數防火牆並不採用此設計。截至2012年,「下一代防火牆」(NGFW)已經進一步拓寬並深化了應用層檢查的能力。現代防火牆普遍支援深度封包檢測,並且可以延伸成入侵預防系統(IPS),進行使用者身分整合(如使用者ID與IP或MAC位址繫結),以及作為Web應用防火牆(WAF)。
代理伺服器
代理伺服器(Proxy)可以是一台專用的網路裝置,或安裝在一般電腦上的軟體,通過代理應用程式來回應收到的封包(如連線請求),從而實現防火牆的功能,並封鎖或拋棄其他封包。代理伺服器用於連接兩個網路,如網際網路和企業內部網路,並在兩者之間傳送資料。代理伺服器使外部網路更難入侵內部系統,且如果配置得當,即使內部系統出現問題,也不一定會造成安全漏洞。
網路位址轉換(NAT)
防火牆通常具備網路位址轉換(NAT)功能,主機被保護在防火牆之後,共同使用所謂的「私人位址空間」,這在RFC 1918中有所定義。NAT功能使內部網路的位址不會暴露在外部網路上,從而提高安全性。
防火牆的設計和結構
防火牆的設置和配置需要專業技術和對網路協定及電腦安全的深入理解。任何細微的錯誤都可能導致防火牆失效,無法提供應有的安全保護。防火牆的常見架構包括:
結語
人類的科技發展,各種威脅日新月異,防火牆其實還是充滿著局限性,儘管防火牆可以有效阻止特定攻擊,但也可能成為網路交通的瓶頸。例如,當攻擊者發送大量攻擊性封包時,防火牆可能因過載而影響正常封包的通行。因此,未來仍需開發出更為完善、能隨時應對新威脅的防火牆技術。
參考資料