前言
前面我們講解了什么是防火墻,18圖詳解防火墻和路由器、交換機的區別,今天繼續介紹下防火墻的基本原理,主要從安全區域、安全策略、會話表、server-map四個方面說起。
安全區域
1、什么是安全區域
安全區域是防火墻中重要的概念,防火墻可以將不同的接口劃分到不同的安全區域。
一個安全區域可以說就是若干個接口的集合,一個安全區域里面的接口具有相同的安全屬性。
如下圖所示:防火墻把不同的接口分成3個安全區域,出口區為untrust區域,內網區分為trust區和DMZ區;
2、默認安全區域
華為防火墻劃分了4個默認的安全區域:
(1)受信區域(trust):通過將內網終端用戶所在區域劃分為trust區域;
(2)非受信區域(untrust):通常將Internet等不安全的網絡劃分為untrust區域;
(3)非軍事化區域(dmz):通常將內網服務器所在區域劃分為DMZ區域;
(4)本地區域(local):設備本身,包括設備的各接口本身;
由設備主動發出的報文均可認為是從Local區域中發出的;
如果需要設備響應并處理的報文均可認為是由local區域接收。
3、默認安全區域優先級
默認的安全區域不能夠刪除,每個安全區域都設置了固定的優先級。優先級值越大,表示優先級越高。
用戶也可以根據自己的需求創建安全區域;
4、不同安全區域間通信舉例
如上圖所示:
PC連接防火墻的G0/0/1口,防火墻將G0/0/1口劃分在trust區域;
運營商網絡連接防火墻的G0/0/2口,防火墻將G0/0/2劃分在untrust區域;
那么如果PC需要訪問internet是否能夠通過防火墻呢?這個就和防火墻的安全策略有關。下面我們就來講下安全策略。
安全策略
1、什么是安全策略
安全策略是防火墻中對流量轉發、以及對流量中的內容進行安全一體化檢測的策略。
當防火墻收到流量后,會對流量的屬性(包括五元組、用戶、時間段等)進行識別,從而和安全策略進行匹配,如果能夠匹配上,則執行相應的動作。
如上圖所示:PC訪問internet,匹配到防火墻安全策略,動作為permit,因此流量可以通過防火墻。如果動作為deny,則流量不能夠通過防火墻。
2、安全策略組成
安全策略由匹配條件、動作、安全配置文件組成。
(1)匹配條件:
匹配條件包括五元組(源地址、目的地址、源端口、目的端口、協議)、VLAN、源安全區域、目的安全區域、用戶、時間段等
(2)動作:
動作包括允許和禁止。
如果動作為“允許”:
如果沒有配置內容安全檢測,則允許流量通過。
如果配置內容安全檢測,最終根據內容安全檢測的結論來判斷是否對流量進行放行。
禁止:表示拒絕符合條件的流量通過。
如果動作為“禁止”,防火墻不僅可以將報文丟棄;
還可以針對不同的報文類型選擇發送對應的反饋報文。發起連接請求的客戶端/服務器收到防火墻發送的阻斷報文后,可以快速結束會話并讓用戶感知到請求被阻斷。
(3)安全配置文件:
內容安全檢測包括反病毒、入侵防御等,它是通過在安全策略中引用安全配置文件實現的。
如果其中一個安全配置文件阻斷該流量,則防火墻阻斷該流量。
如果所有的安全配置文件都允許該流量轉發,則防火墻允許該流量轉發。
3、安全策略匹配過程
防火墻的安全策略一般配置很多條,如果都可以匹配應該優先匹配哪一條呢?
安全策略的匹配按照策略列表順序執行,從上往下逐條匹配,如果匹配了某條策略,將不再往下匹配。
因此,配置安全策略的順序很重要,需要優先配置精確的安全策略,然后再配置粗略的安全策略。
系統默認存在一條缺省安全策略default。
缺省安全策略位于策略列表的最底部,優先級最低,所有匹配條件均為any,動作默認為禁止。如果所有配置的策略都未匹配,則將匹配缺省安全策略default。
會話表
1、什么會話表?
會話表用來記錄TCP、UDP、ICMP等協議連接狀態的表項,是防火墻轉發報文的重要依據;
那么什么是基于連接狀態轉發報文呢?防火墻基于“狀態”轉發報文:
(1)只對首包或者少量報文進行檢測然后確認一個連接狀態;(會話表)
(2)后續大量的報文根據連接狀態進行控制;
會話表就記錄了大量的連接狀態;這種機制大大的提升了防火墻的檢測和轉發效率。
如上圖所示:客戶端PC1訪問服務器PC2,PC1向PC2發起HTTP連接;
(1)PC1發送報文;
(2)首包達到防火墻,創建會話表項(如下);防火墻會話表中標示出“http”協議和連接信息,并識別出此流量在公共路由表中被轉發;
(3)防火墻放行報文;
(4)PC2回復報文;
(5)回復報文匹配防火墻會話;
(6)防火墻轉發報文;
2、會話表的創建
防火墻在開啟狀態檢測情況下,只有首包會創建會話表項,后續報文匹配會話表即可轉發;
3、會話表老化時間
對于一個已經建立的會話表表項,只有當它不斷被報文匹配才有存在的必要。如果長時間沒有報文匹配,則說明可能通信雙方已經斷開了連接,不再需要該條會話表項了。
為了節約系統資源,系統會在一條表項連續未被匹配一段時間后,將其刪除,即會話表項已經老化。
4、長連接
對于某些特殊業務中,一條會話的兩個連續報文可能間隔時間很長。
例如:
用戶通過FTP下載大文件,需要間隔很長時間才會在控制通道繼續發送控制報文。
用戶需要查詢數據庫服務器上的數據,這些查詢操作的時間間隔遠大于TCP的會話老化時間。
如果只靠延長這些業務所屬協議的老化時間來解決這個問題,會導致一些同樣屬于這個協議,但是其實并不需要這么長的老化時間的會話長時間不能得到老化。
這會導致系統資源被大量占用,性能下降,甚至無法再為其他業務建立會話。所以必須縮小延長老化時間的流量范圍。
長連接功能可以解決這一問題。長連接功能可以為這些特殊流量設定超長的老化時間。
Server-map
1、為什么會出現server-map表?
由于會話表對哪些報文屬于同一條流量的標準過于嚴格,會導致一些特殊協議不能正確匹配會話表。
Server-map表可以解決這一問題。
例如使用FTP協議的port方式傳輸文件時:
既需要客戶端主動向服務器端發起控制連接;
又需要服務器端主動向客戶端發起服務器數據連接;
如果設備上配置的安全策略為允許單方向上報文主動通過,則FTP文件傳輸不能成功。
2、server-map表原理
通常情況下,如果在設備上配置嚴格的安全策略,那么設備將只允許內網用戶單方向主動訪問外網。
為了解決這一類問題,FW引入了Server-map表,Server-map用于存放一種映射關系。
這種映射關系可以是控制數據協商出來的數據連接關系;
也可以是配置NAT中的地址映射關系;
使得外部網絡能透過設備主動訪問內部網絡。
生成Server-map表之后,如果一個數據連接匹配了Server-map表項,那么就能夠被設備正常轉發,并在匹配Server-map表后創建會話,保證后續報文能夠按照會話表轉發。
3、server-map表報文轉發過程
防火墻收到報文后,如果沒有命中會話表,防火墻則進入首包處理流程,查詢是否命中server-map表。
如果命中,則生成會話表,轉發報文;
如果沒有命中,則執行其他包處理流程。
編輯:黃飛
評論
查看更多