防火墻安全策略:安全區(qū)域、域間轉(zhuǎn)發(fā)及報文轉(zhuǎn)發(fā)流程
一、安全區(qū)域
防火墻使用安全區(qū)域來區(qū)分一個網(wǎng)絡(luò)是否安全。
防火墻有4個默認(rèn)的安全區(qū)域。
Local
Local表示本地,防火墻所有的接口都屬于local區(qū)域。即使防火墻接口劃分到了其他的安全區(qū)域,那么接口永遠(yuǎn)也屬于local區(qū)域。
Trust
Trust為受信任的區(qū)域,一般會把防火墻連接內(nèi)網(wǎng)的接口劃分到trust區(qū)域。
DMZ
Dmz為非軍事化區(qū)域。一般把連接到數(shù)據(jù)中心的接口劃分到dmz區(qū)域。這個區(qū)域的信任程度優(yōu)于untrust,次于trust。因為服務(wù)器是內(nèi)部的設(shè)備認(rèn)為是可信的,可是服務(wù)器又會有讓外網(wǎng)用戶訪問的需求,所以把dmz區(qū)域定義為中等信任的區(qū)域。
Untrust
Untrust為不受信任的區(qū)域,由于Internet非常不安全,所以一般把連接Internet的接口劃分到untrust區(qū)域。
每個安全區(qū)域都會有一個優(yōu)先級,默認(rèn)安全區(qū)域優(yōu)先級從高到低為:local>trust>dmz>untrust

?
?防火墻除了以上4個默認(rèn)的安全區(qū)域之外,用戶還可以根據(jù)自己的需求自行創(chuàng)建安全區(qū)域,創(chuàng)建的安全區(qū)域需要設(shè)置安全區(qū)域優(yōu)先級,優(yōu)先級不可以和已有的安全區(qū)域優(yōu)先級相同。
?
二、防火墻域間轉(zhuǎn)發(fā)
缺省情況下,相同安全區(qū)域之間的網(wǎng)絡(luò)需要進(jìn)行訪問,默認(rèn)是可以通信的。

如圖,PC1和PC2都是屬于trust區(qū)域,他們之間是可以相互通信的。但是如果需要PC1或者PC2去訪問另一個安全區(qū)域untrust的網(wǎng)絡(luò),這個時候默認(rèn)是隔離的。


如果需要讓不同安全區(qū)域也可以進(jìn)行通信,那么就需要使用到安全策略。
安全策略是由匹配條件(五元組、用戶、時間段等)和動作組成的控制規(guī)則,防火墻收到流量后,對流量的屬性(五元組、用戶、時間段等)進(jìn)行識別,并將流量的屬性與安全策略的匹配條件進(jìn)行匹配。
?

?
現(xiàn)在給防火墻添加一條安全策略:定義從源區(qū)域trust訪問untrust的流量允許通過,那么trust區(qū)域就可以訪問到untrust區(qū)域了。
當(dāng)報文匹配安全策略后從防火墻轉(zhuǎn)發(fā)出去時,防火墻會為這個流量添加一條會話表。會話表記錄了不同安全區(qū)域之間經(jīng)過防火墻的流量。
?
?
從這一條會話表可以知道,這個流量是匹配中的哪一條安全策略等信息。
三、報文轉(zhuǎn)發(fā)流程
如果防火墻接收到一個數(shù)據(jù)包,那么會根據(jù)下面的流程進(jìn)行處理:
如果報文從某個接口接收到或者準(zhǔn)備從這個接口發(fā)送出去的時候,檢查這個接口是否加入了安全區(qū)域,如果這個接口并沒有加入任何的安全區(qū)域,那么這個直接把這個報文丟棄;如果該接口已經(jīng)加入了安全區(qū)域,解析報文的目的IP地址在防火墻的路由表是否可以查詢到對應(yīng)的出接口,如果查詢不到也是直接丟棄;如果有路由則查詢防火墻的會話表,如果會話表有匹配的條目那么可以直接根據(jù)會話表進(jìn)行轉(zhuǎn)發(fā),就不需要匹配安全策略了;如果會話表沒有,那么就需要匹配安全策略了!
安全策略匹配機(jī)制
報文匹配安全策略,先檢查這個報文是否符合第一條安全策略的條件,如果符合就按照安全策略定義的規(guī)則動作執(zhí)行,動作有permit和deny,也就是允許轉(zhuǎn)發(fā)和不允許轉(zhuǎn)發(fā)。如果第一條安全策略沒有命中,那么繼續(xù)匹配其他的安全策略。如果匹配完所有的安全策略都沒有命中,那么將執(zhí)行默認(rèn)的安全策略動作(deny)。
在配置安全策略的時候簡歷把精細(xì)的策略寫到前面,沒那么精細(xì)的策略放到后面,否則可能會先命中粗略的策略,進(jìn)而報文匹配不到精細(xì)的策略,無法實現(xiàn)我們的需求。