信息安全基礎知識筆記02防火牆轉發原理和初步配置
在數據通信過程中,由於網絡中的不安全因素將會導致信息泄密、信息不完整,信息不可用等問題,因此在部署網絡時需要用到防火牆設備。
本筆記主要介紹華為防火牆的轉發原理(包過濾技術,狀態檢測機制),防火牆區域概念以及初步的防火牆配置。
包過濾技術
實現包過濾的核心技術是訪問控制列表。對需要轉發的數據包,先獲取包頭信息,然后和訪問控制列表設定的規則進行比較,根據比較的結果對數據包進行轉發或者丟棄。
包過濾作為一種網絡安全保護機制,主要用於對網絡中各種不同的流量是否轉發做一個最基本的控制。
傳統的包過濾防火牆對於需要轉發的報文,會先獲取報文頭信息,包括報文的源IP地址、目的IP地址、IP層所承載的上層協議的協議號、源端口號和目的端口號(上一節筆記提到的五元組)等,然后和預先設定的過濾規則進行匹配,並根據匹配結果對報文采取轉發或丟棄處理。
包過濾防火牆的轉發機制是逐包匹配包過濾規則並檢查,所以轉發效率低下。
目前防火牆基本使用狀態檢查機制,將只對一個連接的首包進行包過濾檢查,如果這個首包能夠通過包過濾規則的檢查,並建立會話的話,后續報文將不再繼續通過包過濾機制檢測,而是直接通過會話表進行轉發。
防火牆區域概念
防火牆安全區域,一般簡稱為區域(Zone)。在防火牆的實現過程中,安全策略是基於安全區域而實施的。防火牆的每一個接口都需要加入到一個安全區域中,在同一安全區域內部發生的數據流動是不存在安全風險的,不需要實施任何安全策略;只有當不同的安全區域之間發生數據流動時,才會觸發設備的安全檢查,並實施相應的安全策略。
在防火牆中,同一個接口所連網絡的所有網絡設備一定位於同一安全區域中,而一個安全區域可以包含多個接口所連網絡。
(1)防火牆缺省區域
缺省情況下,防火牆擁有四個安全區域:
① untrust區域(不信任域)
低級安全區域,安全優先級為5
通常用來定義Internet等不安全的網絡,用於網絡入口線的接入。
② dmz區域(隔離域,非軍事化區)
中級安全區域,安全優先級為50
通常用來定義內部服務器所在網絡
有時候企業的服務器有允許外部訪問的需求,如Web服務器,E-mail服務器等。但是由於這類服務器暴露在外網下,存在被攻擊滲透的風險,那么就不能將其與企業內網服務器放在同一個區域中。於是網絡管理員會將這類服務器單獨接在DMZ區的端口上,這個區域不僅實現了與外部網絡的通信,還阻斷了攻擊者攻擊內網用戶設備的意圖。
DMZ可以理解為一個不同於外網或內網的特殊網絡區域,DMZ內通常放置一些不含機密信息的公用服務器,比如Web、Mail、FTP等。這樣來自外網的訪問者可以訪問DMZ中的服務,但不可能接觸到存放在內網中的公司機密或私人信息等,即使DMZ中服務器受到破壞,也不會對內網中的機密信息造成影響。
③ trust區域(信任域)
高級安全區域,安全優先級為85
通常用來定義內部用戶所在的網絡,也可以理解為應該是防護最嚴密的地區。
④ local區域(指防火牆本地)
頂級安全區域,安全優先級為100
local就是防火牆本身的區域,比如ping指令等網際控制協議的回復,需要local域的權限
凡是由防火牆主動發出的報文均可認為是從Local區域中發出。
凡是需要防火牆響應並處理(而不是轉發)的報文均可認為是由Local區域接收。
Tips:一般管理員還會手動創建一個management區域(管理域),專門用於連接遠程控制防火牆的管理設備。
除了console控制接口對設備進行配置,如果防火牆設備可以通過web界面配置的話,需要一根雙絞線連接到管理接口,鍵入用戶名和密碼進行配置。
(2)安全區域的流入流出方向
報文從低級別的安全區域向高級別的安全區域流動時為入方向(Inbound),報文從高級別的安全區域向低級別的安全區域流動時為出方向(Outbound)。
Tips:參考鏈接
本文為CSDN博主「諸神之眼」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_42196196/article/details/83018737
(3)實驗演示
如下圖所示。防火牆FW1為eNSP的模擬設備。型號為USG5500,使用的是舊版的配置命令集。另外兩台終端設備PC 1和PC 2分別被分到Untrust和Trust區域中,IP地址配置信息在圖中已經列出。 Tips:目前華為大部分防火牆已經使用新版的配置命令集,對應eNSP中的型號為USG6000V的模擬設備。這里推薦兩種配置命令都要了解並掌握。這樣可以更好的操作華為系列不同的新舊型號的防火牆。
對處於內網的PC1,通常將連接其的接口分配到Trust區域,表示信任度最高的區域。對處於外網(Internet)的PC2,通常將連接其的接口分配到Untrust區域,表示信任度最低的區域。
首先我們可以通過命令查看防火牆默認的區域間安全訪問策略
命令:display firewall packet-filter default all
可以清楚知道,除了防火牆本地(local域)可以對某些區域的outbound或inbound方向允許數據通過以外,其他區域之間的互訪默認都是被禁止的。
① 將端口加入到對應的安全區域中。根據上圖拓撲的信息,我們將防火牆的GE0/0/1接口加入到Trust區域中,將GE0/0/2接口加入到Untrust區域中。
首先配置IP地址。
命令:add interface gX/X/X
進入Trust區域配置界面,使用命令將端口加入到Trust區域中
然后Untrust區域配置界面,使用命令將端口加入到Untrust區域中。
命令:display zone interface
可以查看目前接口加入到區域的情況。默認情況下,防火牆的G0/0/0口屬於Trust區域。
② 配置區域間互訪的安全策略
首先,我們可以從上圖查看防火牆的默認安全訪問策略中得知,Trust區域到Untrust區域無論Inbound還是Outbound方向都是被禁止的。
可以通過ping來驗證:
由於防火牆的安全訪問策略,PC1不能訪問PC2。
所以我們需要為其區域互訪配置策略的放通。
命令:firewall packet-filter default permit interzone trust untrust direction outbound
對命令的逐個分解解析:
A. permit :表示允許,可以在兩個區域中放行流量
B. trust untrust :表示要配置的哪兩個區域,區域的輸入順序不固定,此處寫untrust trust也是可以的。
C. outbound:表示配置的流量方向,從區域優先級高的到優先級低的方向為Outbound,反之為Inbound。
配置這條策略后,打開了內網PC1到外網PC2的安全訪問數據通道。再次測試兩台PC的聯通性。
發現可以正常通信了,那么如果測試從外網的PC2是否可以ping通內網的PC1呢?
答案是否定的,因為只配置了從Trust區域到Untrust區域的Outbound方向的放行,沒有配置Inbound方向的放行,所以PC2不能訪問成功。
Tips:小知識
在配置設備時,由於對設備進行了更改,有時會頻繁彈出終端的監控信息,致使配置過程被打斷。所以可以用以下給出的方法將這些突然彈出的提示暫時關閉掉。
命令:undo terminal monitor
這種方式只能暫時關閉終端的監控信息,防火牆一旦重啟或者退出全局配置模式,原本的配置又回來了。所以我們還可以在全局模式中使用以下命令永久關閉彈出監控信息:
命令:undo info-center enable
這里只是簡單的介紹了一下防火牆,更詳細的配置步驟將會在下一節筆記中給出。
防火牆安全策略
防火牆的基本作用是保護特定網絡免受“不信任”的網絡的攻擊,但是同時還必須允許兩個網絡之間可以進行合法的通信。安全策略的作用就是對通過防火牆的數據流進行檢驗,符合安全策略的合法數據流才能通過防火牆。
通過防火牆安全策略可以控制內網訪問外網的權限、控制內網不同安全級別的子網間的訪問權限等。同時也能夠對設備本身的訪問進行控制,例如限制哪些IP地址可以通過Telnet和Web等方式登錄設備,控制網管服務器、NTP服務器等與設備的互訪等。
防火牆安全策略定義數據流在防火牆上的處理規則,防火牆根據規則對數據流進行處理。因此,防火牆安全策略的核心作用是:根據定義的規則對經過防火牆的流量進行篩選,由關鍵字確定篩選出的流量如何進行下一步操作。
在防火牆應用中,防火牆安全策略是對經過防火牆的數據流進行網絡安全訪問的基本手段,決定了后續的應用數據流是否被處理。NGFW會對收到的流量進行檢測,檢測出流量的屬性,包括:源安全區域、目的安全區域、源地址/地區、目的地址/地區、用戶、服務(源端口、目的端口、協議類型)、應用和時間段。
防火牆域間轉發
早期包過濾防火牆采取的是“逐包檢測”機制,即對設備收到的所有報文都根據包過濾規則每次都進行檢查以決定是否對該報文放行。這種機制嚴重影響了設備轉發效率,使包過濾防火牆成為網絡中的轉發瓶頸。
於是越來越多的防火牆產品采用了“狀態檢測”機制來進行包過濾。“狀態檢測”機制以流量為單位來對報文進行檢測和轉發,即對一條流量的第一個報文(首包)進行包過濾規則檢查,並將判斷結果作為該條流量的“狀態”記錄下來。對於該流量的后續報文都直接根據這個“狀態”來判斷是轉發(或進行內容安全檢測)還是丟棄。這個“狀態”就是我們平常所述的會話表項。這種機制迅速提升了防火牆產品的檢測速率和轉發效率,已經成為目前主流的包過濾機制。
防火牆一般是檢查IP報文中的五個元素,又稱為“五元組”,即源IP地址和目的IP地址,源端口號和目的端口號,協議類型。通過判斷IP數據報文的五元組,就可以判斷一條數據流相同的IP數據報文。下一代防火牆除了檢測五元組,還會檢測報文的用戶、應用和時間段等。
其中TCP協議的數據報文,一般情況下在三次握手階段除了基於五元組外,還會計算及檢查其它字段。三次握手建立成功后,就通過會話表中的五元組對設備收到后續報文進行匹配檢測,以確定是否允許此報文通過。
狀態檢測機制
狀態檢測機制開啟狀態下,只有首包通過設備才能建立會話表項,后續包直接匹配會話表項進行轉發。
狀態檢測機制關閉狀態下,即使首包沒有經過設備,后續包只要通過設備也可以生成會話表項。
① 對於TCP報文
開啟狀態檢測機制時,首包(SYN報文)建立會話表項。對除SYN報文外的其他報文,如果沒有對應會話表項(設備沒有收到SYN報文或者會話表項已老化),則予以丟棄,也不會建立會話表項。
關閉狀態檢測機制時,任何格式的報文在沒有對應會話表項的情況下,只要通過各項安全機制的檢查,都可以為其建立會話表項。
② 對於UDP報文
UDP是基於無連接的通信,任何UDP格式的報文在沒有對應會話表項的情況下,只要通過各項安全機制的檢查,都可以為其建立會話表項。
③ 對於ICMP報文
開啟狀態檢測機制時,沒有對應會話的ICMP應答報文將被丟棄。
關閉狀態檢測機制時,沒有對應會話的應答報文以首包形式處理
到此,本節介紹防火牆的轉發原理以及區域的概念的筆記就結束了,筆記中只是初步的介紹了一下防火牆的配置實驗演示,下一節筆記將會深入介紹如何搭建防火牆拓撲,以及使用命令行和Web界面來對防火牆進行配置。