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