全方位解讀防火牆技術!


全方位解讀防火牆技術!

 

https://blog.csdn.net/weixin_43025343/article/details/108890413

防火牆概述
1.防火牆概述


簡單地說,防火牆的主要作用是划分網絡安全邊界,實現關鍵系統與外部環境的安全隔離,保護內部網絡免受外部攻擊。與路由器相比防火牆提供了更豐富的安全防御策略,提高了安全策略下數據報轉發速率。由於防火牆用於安全邊界,因此往往兼備NAT、VPN等功能,並且在這方面的相比路由器更加強勁。

2.防火牆分類
包過濾防火牆(Packet Filtering):包過濾利用定義的特定規則過濾數據包,防火牆直接獲得數據包的IP源地址、目的地址、TCP/ UDP的源端口、和TCP/UDP的目的端口。包過濾防火牆簡單,但是缺乏靈活性,對一些動態協商端口沒有辦法設置規則。另外包過濾防火牆每個包都需要進行策略檢查,策略過多會導致性能急劇下降。
代理型防火牆(Application Gateway):代理型防火牆使得防火牆做為一個訪問的中間節點,對客戶端來說防火牆是一個服務器,對服務器來說防火牆是一個客戶端。代理型防火牆安全性較高,但是開發代價很大。對每一種應用開發一個對應的代理服務是很難做到的,因此代理型防火牆不能支持很豐富的業務,只能針對某些應用提供代理支持。
狀態檢測防火牆:狀態檢測是一種高級通信過濾,它檢查應用層協議信息並且監控基於連接的應用層協議狀態。對於所有連接,每一個連接狀態信息都將被維護並用於動態地決定數據包是否被允許通過防火牆或丟棄。現在防火牆的主流產品都為狀態檢測防火牆。
防火牆的基礎知識
1.安全區域的概念
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SsEacapX-1601471854673)(https://cdn.jsdelivr.net/gh/chjswr/mdnicePicture/2020-9-29/1601380379112-image.png)]

安全區域(Security Zone),簡稱為區域(Zone),是一個安全概念,許多安全策略都基於安全區域實施。我們在防火牆上創建安全區域,並且定義該安全區域的安全級別(也被稱為優先級,通過1~100的數字表示,數字越大表示安全級別越高),然后將防火牆的接口關聯到一個安全區域,那么該接口所連接的網絡就屬於這個安全區域。屬於同一個安全區域的用戶具有相同的安全屬性。

在上圖中,我們將防火牆的GE1/0/1接口添加到Trust區域中,那么這個接口所連接的網絡就被視為處於Trust區域。同理Internet被視為處於Untrust區域,而服務器Servers則處於DMZ區域。當圖中的PC訪問Internet時,從PC發往Internet的流量到達防火牆后,防火牆認為這些流量是從Trust區域去往Untrust區域的流量。

華為Eudemon防火牆缺省已經創建如下安全區域:
Trust
優先級為85,較高級別的安全區域,通常用於定義內網用戶所在網絡
Untrust
優先級為5,低級的安全區域,通常用於定義Internet等不安全的、外部的網絡
DMZ
優先級為50,中度級別的安全區域,通常用於定義內網服務器所在區域。因為這些服務器雖然部署在內網,但是經常需要被外網訪問,存在一定的安全隱患,同時一般又不允許其主動訪問外網,所以將其部署一個安全級別比Trust低,但比Untrust高的安全區域中。
Local
優先級為100,最高級別的安全區域,Local區域定義的是設備本身,包括設備的各接口。凡是由防火牆自身構造並主動發出的報文均可認為是從Local區域中發出,凡是目的地為防火牆的報文均可認為是由Local區域接收。用戶不能改變Local區域本身的任何配置,包括向其中添加接口。
需要注意的是,缺省已經創建的這些安全區域是不能被刪除的。用戶可以自行設置新的安全區域並定義其安全優先級。

在以上安全區域中,很多人不太理解Local區域。下面來重點講講。

 

在上圖中,防火牆的GE0/0/1接口被添加到Trust安全區域,GE0/0/3接口被添加到Untust區域。PC1發往192.168.1.254的流量,被認為是從Trust區域到Local區域的流量(該流量的目的地就防火牆自身);PC1訪問PC2的流量,被認為是從Trust區域到Untrust區域的流量; 從防火牆直接訪問(例如ping)PC1的流量,則被認為是從Local區域到Trust區域的流量。

安全區域的規划:
用戶可自定義安全區域,也可使用系統自帶的安全區域,防火牆的一個接口只能屬於一個特定區域,而一個區域可以包含多個接口,接口只有划分到區域中才能正常處理報文。
內部網絡應安排在安全級別較高的區域。外部網絡應安排在安全級別最低的區域。
一些可對外部用戶提供有條件服務的網絡應安排在安全級別中等的DMZ區域。
安全區域的限制或注意事項:
在一台防火牆上不允許創建兩個相同安全級別(Priority)的安全區域;
防火牆的接口必須加入一個安全區域,否則不能正常轉發流量。
防火牆的一個接口只能屬於一個安全區域;
防火牆的一個安全區域可以擁有多個接口;
系統自帶的缺省安全區域不能刪除,用戶可以根據實際需求創建自定義的安全區域;
對於E1000E-N防火牆V1R1C30的系統軟件版本而言,根系統最多支持100個安全區域(包括4個保留區域),每個虛擬系統最多支持8個安全區域(包括4個保留區域)。
2.區域間的概念
安全域間(Interzone)這個概念用來描述流量的傳輸通道,它是兩個“區域”之間的唯一“道路”。如果希望對經過這條通道的流量進行檢測等,就必須在通道上設立“關卡”,如ASPF等功能。任意兩個安全區域都構成一個安全域間,並具有單獨的安全域間視圖。

 

3.Inbound及Outbound

安全域間的數據流動具有方向性,包括入方向(Inbound)和出方向(Outbound):

入方向(inbound):數據由低級別安全區域向高級別安全區域傳輸的方向;
出方向(outbound):數據由高級別安全區域向低級別安全區域傳輸的方向。
4.安全策略
安全策略概述


安全策略(Security Policy)是控制設備對流量的轉發,以及對流量進行內容安全一體化檢測的策略。

設備能夠識別出流量的屬性,並將流量的屬性與安全策略的條件進行匹配。如果所有條件都匹配,則此流量成功匹配安全策略,設備將會執行安全策略的動作(例如允許流量通行,或拒絕)。
內容安全一體化檢測是指使用設備的智能感知引擎對一條流量的內容只進行一次檢測和處理,就能實現包括反病毒、入侵防御和URL過濾在內的內容安全功能。
缺省情況下, NGFW的local區域到其他安全區域,以及域內的安全策略(如trust到trust)都是禁止的。
在日常中,安全策略最主要的應用之一,就是允許或拒絕流經防火牆的數據。安全策略在防火牆的security-policy配置視圖下完成,用戶可以在該視圖下根據需要創建安全規則(Rule)。

 

如上圖所示,security-policy中可以包含多條規則,當安全策略中配置了多條規則時,設備將按照規則在界面上的排列順序從上到下依次匹配,只要匹配了一條規則中的所有條件,則按照該規則中定義的動作、選項進行處理,不再繼續匹配剩下的規則。所以在配置時,建議將條件更精確的規則配置在前面,條件更寬泛的規則配置在后面。

關於安全策略中的規則
在一條規則的條件語句中,相同類型的條件內可以配置多個值,多個值之間是“或”的關系,報文的屬性只要匹配任意一個值,就認為報文的屬性匹配了這個條件。例如一條規則中指定了源IP地址條件,那么用戶可以指定多個源地址,報文只需要匹配其中一個地址,即被認為匹配該條件類型。
每條規則中可以包含多個匹配條件,如源、目的安全區域,源、目的地址,用戶或應用類型等。各個匹配條件之間是“與”的關系,報文的屬性與各個條件必須全部匹配,才認為該報文匹配這條規則。例如在某條規則中,定義了源地址與目的地址條件,那么報文必須同時匹配該源、目的地址才被視為匹配該條件。缺省情況下所有的條件均為any(也即該規則中沒有定義任何條件時),即所有流量(包括域內流量)均可以命中該規則。
如果配置了多條安全規則,則設備會從上到下依次進行匹配。如果流量匹配了某個安全規則,將不再進行下一個規則的匹配。所以需要先配置條件精確的策略,再配置寬泛的策略。
設備默認存在一條缺省安全規則,如果不同安全區域間的流量沒有匹配到管理員定義的安全規則,那么就會命中缺省安全規則(條件均為any,動作默認為禁止)。
不同安全區域間傳輸的流量(包括但不限於從FW發出的流量、FW接收的流量、不同安全區域間傳輸的流量),受缺省安全策略控制,缺省轉發動作為禁止。
同一安全區域內傳輸的流量不受缺省安全策略控制,缺省轉發動作為允許。如需對域內流量進行轉發控制,請配置具體的安全策略。
5.會話表


NGFW采用了基於“狀態”的報文控制機制:只對首包或者少量報文進行檢測就確定一條連接的狀態,大量報文直接根據所屬連接的狀態進行控制。這種狀態檢測機制迅速提高了防火牆的檢測和轉發效率。

而會話表正是為了記錄連接的狀態而存在的。設備在轉發TCP、UDP和ICMP報文時都需要查詢會話表,來判斷該報文所屬的連接以及相應的處理措施。

查看會話表


一個會話的報文能夠正常被防火牆轉發,通常需要具備以下幾個條件:

防火牆的路由表中存在與該報文目的IP地址相匹配的路由,或者默認路由;
防火牆的安全策略允許該會話的報文通過。
當一個會話的報文被防火牆正常轉發時,我們應該能夠在防火牆上看到相應的會話表項(SessionEntry)。

防火牆維護着一個非常關鍵的表項:會話表,每一個被防火牆允許的會話都能在其中找到相應的表項,在表項中,我們能看到會話的源IP地址、目的IP地址、源端口號、目的端口號以及協議類型等信息,此外,還有該會話的入站區域、出站區域、去向報文個數以及回程報文個數等。

當網絡出現故障時,可以通過查看防火牆的會話表進行基本的故障定位。例如上圖所示,如果網絡配置完成后,發現Server1無法ping通外部網絡(External Network)中的10.8.8.8地址,而又無法直觀地判斷出問題出現在內部或者外部的情況下,可以在防火牆上查看會話:

HRP_A<FW1> display firewall session table
Current Total Sessions : 1
icmp VPN:public --> public 192.168.10.5:44011-->10.8.8.8:2048
1
2
3
使用display firewall session table命令可以查看防火牆的會話表。從上述輸出可以看到從192.168.10.5訪問10.8.8.8的會話,該會話的協議類型為ICMP。使用display firewall session table verbose命令可以查看會話的詳細內容:

HRP_A<FW1> display firewall session table verbose
Current Total Sessions : 1
icmp VPN:public --> public ID: a68f44f4e1ed814380e575bcde2
Zone: trust--> untrust TTL: 00:00:20 Left: 00:00:17
Output-interface: GigabitEthernet1/0/7 NextHop: 10.1.1.2 MAC: 00-25-9e-05-41-f9
<--packets:0 bytes:0 -->packets:5 bytes:420
192.168.10.5:44011-->10.8.8.8:2048 PolicyName: test1
1
2
3
4
5
6
7
上面顯示的是192.168.10.5 ping 19.8.8.8的會話詳細。從中我們能發現這個會話是從Trust區域到Untrust區域,出站接口為GE1/0/7,下一跳地址為10.1.1.2,另外該會話命中的是安全規則test1。關注紅色字體部分,這部分顯示的是這個會話的去向及回程的報文個數,從中我們能看到192.168.10.5發送了5個數據包出去,但是收到了0個數據包,因此從這個信息可以簡單的判斷出,192.168.10.5 ping10.8.8.8的過程中,ICMP Request報文已經送達了防火牆,並且被它轉發出去,同時防火牆沒有收到回程的報文,因此問題可能並不出在內部。

在實際的項目中,防火牆的會話表項可能是非常多的,直接查看整個會話表,恐怕無法准確定位感興趣的會話。可以在display firewall session table verbose命令后面增加一些關鍵字,達到篩選的目的。例如display firewall session table verbose source inside 192.168.10.5命令查看的是源IP地址(inside關鍵字表示如果存在NAT,則為NAT之前的IP地址)為192.168.10.5的會話。再如display firewall session table verbose service http命令查看的是協議類型為HTTP(目的TCP端口號為80)的會話。

如果在測試的過程中,發現在防火牆上找不到相應的會話表項,那么說明該會話的流量可能沒有到達防火牆,或者到達了防火牆,但是防火牆沒有相應的路由信息指導報文轉發,又或者有路由信息但是該報文沒有被安全策略放行等。此時需要進一步定位問題。

配置會話表的老化時間
當流量的第一個報文被防火牆轉發時,防火牆會會話表老化時間決定一條會話在沒有相應的報文匹配的情況下,何時被系統刪除。當缺省的會話表老化時間不能滿足現有網絡的需求時,才需要重新設置。

對於一個已經建立的會話表表項,只有當它不斷被報文匹配才有存在的必要。如果長時間沒有報文匹
配,則說明可能通信雙方已經斷開了連接,不再需要該條會話表項了。此時,為了節約系統資源,系統會在一條表項連續未被匹配一段時間后,將其刪除,即會話表項已經老化。

如果在會話表項老化之后,又有和這條表項相同的五元組的報文通過,則系統會重新根據安全策略決定是否為其建立會話表項。如果不能建立會話表項,則這個報文是不能被轉發的。

通常情況下,可以直接使用系統缺省的會話表老化時間。如果需要修改,需要首先對實際網絡中流量的類型和連接數作出估計和判斷。對於某些需要進行長時間連接的特殊業務,建議配置長連接功能,而不是通過以下命令將一種協議類型的流量的老化時間全部延長。

[FW] firewall session aging-time service-set session-type aging-time
1
使用上述命令修改某個特定服務的會話超時時間。例如命令:firewall session aging-time service-set ftp 1200,這條命令會針對所有FTP流量生效,將表項的老化時間修改為1200s。該命令需謹慎配置。

[FW] display firewall session aging-time
1
使用上述命令查看當前系統中各類會話表項的老化時間。

6.長連接
防火牆采用會話表來管理數據流,通過首包創建會話表項后,后續報文如果命中會話表項,則根據該表項進行轉發。如果某個報文既不是首包,又沒有命中會話就會被丟棄。而為了保證網絡安全以及會話資源的合理利用,設備上的各種會話缺省老化時間都相對較短,一般只有幾分鍾。當一個TCP會話的兩個連續報文到達設備的時間間隔大於該會話的老化時間時,設備將從會話表中刪除相應會話信息。后續報文到達設備后,設備根據自身的轉發機制,將丟棄該報文,導致連接中斷。

在某些實際應用中,一個TCP會話的兩個連續報文可能間隔時間很長。例如:用戶需要查詢數據庫服務器上的數據,這些查詢操作的時間間隔遠大於TCP的會話老化時間。

為了解決FTP服務、網管服務、TUXEDO服務和數據庫服務等業務的這個問題,在安全域間配置長連接功能,可以對特定的數據流設置超長老化時間,保證這些應用的會話表表項不被刪除,這樣當這些會話的報文長時間沒有到達設備后再次到達時,仍然能夠通過設備。從而使這些應用不被中斷。

對於NGFW,長連接功能在安全規則配置視圖下激活,例如:

[FW] security-policy
[FW-policy-security] rule name a1
[FW-policy-security-rule-a1] #此處省略用戶定義的條件
[FW-policy-security-rule-a1] long-link enable
1
2
3
4
防火牆的基礎配置
注意,本文檔關於華為防火牆的配置及命令行講解,以NGFW防火牆USG6000 V5R1C10為例。不同的防火牆型號或軟件版本,在配置命令上存在差異,實際配置時,請以產品手冊為准。

1.防火牆登陸及管理


2.防火牆的接口服務管理


接口配置視圖下的service-manage命令用來允許或拒絕管理員通過HTTP、HTTPS、Ping、SSH、SNMP以及Telnet訪問防火牆自身,該命令配置在防火牆的接口上。

在接口上啟用訪問管理功能后,即使沒有開啟該接口所在區域和Local區域之間的安全策略,管理員也能通過該接口訪問設備。缺省情況下,管理接口(GE0/0/0)允許管理員通過HTTP、HTTPS、Ping、SSH、SNMP以及Telnet訪問設備,非管理接口不允許管理員通過HTTP、HTTPS、Ping、SSH、SNMP以及Telnet訪問設備。

只有在報文的入接口開啟了訪問管理功能,才可以通過對應的接口訪問防火牆。例如需要訪問防火牆的GE1/0/2接口,但報文從GE1/0/1接口進入設備,此時必須開啟GE1/0/1接口的訪問管理功能,方可以訪問GE1/0/2接口。

接口下service-manage的優先級高於安全策略(Security-policy)。例如雖然安全策略沒有放通接口GE1/0/1所在區域訪問Local接口的ping流量,但是GE1/0/1下配置了service-manage ping permit,則所在區域內的用戶依然能ping通該接口的IP地址。當然如果GE1/0/1接口下配置了service-manage ping deny,則即使安全策略中配置了相應的規則允許ping流量,所在區域內的用戶也無法ping通該接口,除非將service-manage功能關閉(undo service-manage enable)。

3.接口及安全區域配置


網絡拓撲如上圖所示,完成防火牆接口IP地址配置,並將接口添加到相應的安全區域。其中,GE1/0/2口添加到新建的安全區域om。

#配置接口IP地址:
[FW] interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/1] ip address 10.1.1.254 24
[FW] interface GigabitEthernet 1/0/2
[FW-GigabitEthernet1/0/2] ip address 10.2.2.254 24
[FW] interface GigabitEthernet 1/0/3
[FW-GigabitEthernet1/0/3] ip address 10.3.3.254 24
#在NGFW上新建一個安全區域並設置安全級別:
[FW] firewall zone name om
[FW-zone-om] set priority 98
#將接口添加到安全區域:
[FW] firewall zone trust
[FW-zone-trust] add interface GigabitEthernet 1/0/1
[FW] firewall zone om
[FW-zone-om] add interface GigabitEthernet 1/0/2
[FW] firewall zone untrust
[FW-zone-untrust] add interface GigabitEthernet 1/0/3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
4.SSH服務配置


PC連接在FW的GE1/0/1接口上,配置與防火牆相同網段的IP地址。現在要求PC能夠通過SSH的方式,訪問FW的GE1/0/1接口從而SSH到防火牆。

#配置GE1/0/1接口,並允許用戶從該接口進入、使用SSH的方式登錄防火牆:
[FW] interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/1] ip address 192.168.10.1 24
[FW-GigabitEthernet1/0/1] service-manage ssh permit
#將GE1/0/1接口添加到安全區域:
[FW] firewall zone trust
[FW-zone-trust] add interface GigabitEthernet 1/0/1
#配置VTY管理員界面連接數限制,驗證方式AAA:
[FW] user-interface vty 0 4
[FW-ui-vty0-4] authentication-mode aaa
#創建SSH管理賬號(比如test):
[FW] aaa
[FW-aaa] manager-user test
[FW-aaa-manager-user-test] service-type ssh
[FW-aaa-manager-user-test] level 3
[FW-aaa-manager-user-test] ssh authentication-type password
[FW-aaa-manager-user-test] password
Enter Password:Huawei123 #根據實際情況填寫
Confirm Password:Huawei123
[FW-aaa-manager-user-test] ssh service-type stelnet
[FW-aaa-manager-user-test] quit
#啟用STelnet服務:
[FW] stelnet server enable
#生成本地RSA秘鑰對:
[FW] rsa local-key-pair create
The key name will be: FW_Host
RSA keys defined for E1000E-N-1_Host already exist.
Confirm to replace them? [y/n]:y
The range of public key size is (512 ~ 2048).
NOTES: A key shorter than 2048 bits may cause security risks.
The generation of a key longer than 512 bits may take several minutes.
Input the bits in the modulus[default = 2048]:
Generating keys...
.............................................+++
..+++
......................................++++++++
..++++++++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
5.安全策略的基礎配置
下圖通過簡單的方式展示了安全策略(Security-policy)與安全規則(Security rule)的關系:


下圖是一個簡單的安全規則配置范例:

 

下面,再看幾個例子:

 

用戶可以在防火牆的Security-Policy視圖下,定義多個rule,來滿足不同的業務需求。

系統默認存在一條缺省安全規則,如果流量沒有匹配到管理員定義的安全規則,就會命中缺省安全策略(條件為any,動作默認為deny)。

#配置安全策略的缺省動作為允許:
[FW] security-policy
[FW-policy-security] default action permit
#配置安全策略的缺省動作為禁止:
[FW] security-policy
[FW-policy-security] default action deny
1
2
3
4
5
6
6.在安全策略中使用對象
在防火牆中,對象的類型有多種,例如地址對象、服務對象、應用對象等等。在設備配置過程中,例如為防火牆配置安全策略,如果不同的安全規則中,需要頻繁使用到一個相同的地址范圍,這個地址范圍內包含多個地址,那么重復在這些規則中書寫這些地址是很繁瑣的,另外,如果這個地址范圍要變更,那么所有相關的規則都需要進行配置,增加了工作量。

我們可以將這些地址關聯到一個地址對象中,然后直接在安全策略里調用該地址對象即可。當需要調整地址范圍時,也只需對地址對象進行修改。在安全策略的配置過程中,主要使用到的對象有兩種:地址對象及服務對象。在華為防火牆上,使用ip address-set命令可以創建地址對象,使用ip service-set命令可以創建服務對象。對象創建完成之后,用戶可以在安全規則中引用它。以下通過一個簡單的場景,以及一些簡單的配置來了解對象的應用。

 

需求一:Trust區域的PC1及PC2都能訪問DMZ中的PC3的Telnet服務
security-policy
rule name test1
source-zone trust
destination-zone dmz
source-address 192.168.10.5 32
source-address 192.168.10.6 32
destination-address 192.168.20.11 32
service telnet
action permit
1
2
3
4
5
6
7
8
9
本例中,兩條source-address之間是“或”的關系。

需求二:Trust區域的PC1及PC2都能訪問DMZ中的PC3的Telnet服務,使用地址對象完成上述需求
ip address-set add1 type object
address 192.168.10.5 mask 32
address 192.168.10.6 mask 32
security-policy
rule name test1
source-zone trust
destination-zone dmz
destination-address 192.168.20.11 32
source-address address-set add1
service telnet
action permit
1
2
3
4
5
6
7
8
9
10
11
創建地址對象后,可以將一個或多個地址,或地址范圍添加到該對象中,並在安全策略中調用,從而簡化配置

需求三:Trust區域的任意PC都能訪問DMZ中的PC3的TCP9931端口,使用服務對象完成上述需求
ip service-set port1 type object
service protocol tcp destination-port 9931

security-policy
rule name test1
source-zone trust
destination-zone dmz
destination-address 192.168.20.11 32
service port1
action permit
1
2
3
4
5
6
7
8
9
10
服務代表了流量的協議類型。創建服務對象后,可以將一種或多種協議類型,或者TCP/UDP端口號添加到該對象中,並在安全策略中調用,從而簡化配置

需求四:Trust區域的任意PC都能訪問DMZ中的PC3的TCP9931、TCP9932、TCP9933、UDP2281端口
ip service-set port1 type object
service protocol tcp destination-port 9931 to 9933
service protocol udp destination-port 2281
security-policy
rule name test1
source-zone trust
destination-zone dmz
destination-address 192.168.20.11 32
service port1
action permit
1
2
3
4
5
6
7
8
9
10
7.防火牆的OSPF配置


ATAE3.0/E9000機框通過Fabric交換板堆疊組連接到防火牆。
Server的缺省網關設置為FW的GE1/0/1接口。
完成FW的配置,與SW建立OSPF鄰接關系,交互OSPF路由。使得SW能夠從OSPF獲知到達192.168.10.0/24的路由。
FW的配置如下:

[FW] interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/1] ip address 192.168.10.1 24
[FW] interface GigabitEthernet 1/0/2
[FW-GigabitEthernet1/0/2] ip address 10.1.1.1 30
[FW] firewall zone trust
[FW-zone-trust] add interface GigabitEthernet 1/0/1
[FW] firewall zone untrust
[FW-zone-untrust] add interface GigabitEthernet 1/0/2
#配置OSPF:
[FW] ospf 1 router-id 1.1.1.1
[FW-ospf-1] area 0
[FW-ospf-1-area-0.0.0.0] network 192.168.10.0 0.0.0.255
[FW-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.3
#開始配置安全策略,創建兩條安全規則:
[FW] security-policy
[FW-policy-security] rule name OSPF_With_SW
[FW-policy-security-rule-OSPF_With_SW] source-zone local
[FW-policy-security-rule-OSPF_With_SW] source-zone untrust
[FW-policy-security-rule-OSPF_With_SW] destination-zone local
[FW-policy-security-rule-OSPF_With_SW] destination-zone untrust
[FW-policy-security-rule-OSPF_With_SW] source-address 10.1.1.1 32
[FW-policy-security-rule-OSPF_With_SW] source-address 10.1.1.2 32
[FW-policy-security-rule-OSPF_With_SW] destination-address 10.1.1.1 32
[FW-policy-security-rule-OSPF_With_SW] destination-address 10.1.1.2 32
[FW-policy-security-rule-OSPF_With_SW] action permit
[FW-policy-security-rule-OSPF_With_SW] quit
[FW-policy-security] rule name PC1_to_Untrust
[FW-policy-security-rule-PC1_to_Untrust] source-address 192.168.10.0 24
[FW-policy-security-rule-PC1_to_Untrust] source-zone trust
[FW-policy-security-rule-PC1_to_Untrust] destination-zone untrust
[FW-policy-security-rule-PC1_to_Untrust] action permit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
注意:在上述安全策略的配置中,“OSPF_With_SW”規則用於允許FW與SW交互的OSPF報文,使得兩者能夠正確地建立OSPF鄰接關系並交互路由。如果不配置相關安全規則,則FW與SW可能無法正確建立OSPF鄰接。

完成上述配置后,首先查看一下OSPF鄰接關系的建立情況:

<FW> display ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbors
Area 0.0.0.0 interface 10.1.1.1(GigabitEthernet1/0/2)'s neighbors
Router ID: 1.1.1.2 Address: 10.1.1.2
State: Full Mode:Nbr is Master Priority: 1
DR: 10.1.1.1 BDR: 10.1.1.2 MTU: 0
Dead timer due in 39 sec
Retrans timer interval: 5
Neighbor is up for 00:00:32
Authentication Sequence: [ 0 ]
1
2
3
4
5
6
7
8
9
10
11
再看一下SW的路由表:

<SW> display ip routing-table protocol ospf
……
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.10.0/24 OSPF 10 2 D 10.1.1.1 Vlanif1000
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
1
2
3
4
5
6
SW已經通過OSPF學習到了192.168.10.0/24的路由。此時Server即可ping通SW(10.1.1.2)。

8.防火牆基礎配置示例


防火牆的三個接口的IP地址如圖所示;

完成接口配置,並將防火牆的接口添加到相應的安全區域;
完成防火牆的安全策略配置,使得PC1能夠主動訪問PC2,但是PC2無法主動訪問PC1;
完成防火牆的安全策略配置,使得PC2能夠主動訪問WebServer的WEB服務。
防火牆的配置如下:
#配置各接口的IP地址:
[FW] interface GigabitEthernet1/0/1
[FW-GigabitEthernet1/0/1] ip address 192.168.1.254 24
[FW] interface GigabitEthernet1/0/2
[FW-GigabitEthernet1/0/2] ip address 172.16.1.254 24
[FW] interface GigabitEthernet1/0/3
[FW-GigabitEthernet1/0/3] ip address 10.1.1.254 24
#向安全區域中添加接口:
[FW] firewall zone trust
[FW-zone-trust] add interface GigabitEthernet1/0/1
[FW] firewall zone untrust
[FW-zone-untrust] add interface GigabitEthernet1/0/3
[FW] firewall zone dmz
[FW-zone-dmz] add interface GigabitEthernet1/0/2
#進入安全策略視圖:
[FW] security-policy
#創建安全規則r1,使得trust區域的192.168.1.0/24網段用戶能夠訪問untrust區域的10.1.1.0/24網段:
[FW-policy-security] rule name r1
[FW-policy-security-rule-r1] source-zone trust
[FW-policy-security-rule-r1] destination-zone untrust
[FW-policy-security-rule-r1] source-address 192.168.1.0 24
[FW-policy-security-rule-r1] destination-address 10.1.1.0 24
[FW-policy-security-rule-r1] action permit
#創建安全規則r2,使得untrust區域的10.1.1.0/24網段用戶能夠訪問DMZ區域的WebServer的WEB服務:
[FW-policy-security] rule name r2
[FW-policy-security-rule-r2] source-zone untrust
[FW-policy-security-rule-r2] destination-zone dmz
[FW-policy-security-rule-r2] source-address 10.1.1.0 24
[FW-policy-security-rule-r2] destination-address 172.16.1.1 32
[FW-policy-security-rule-r2] service http
[FW-policy-security-rule-r2] action permit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
完成上述配置后,PC1即可主動發起訪問PC2,而PC2無法主動訪問PC1;另外,PC2能夠訪問WebServer的HTTP服務。

9.報文捕獲


在某些情況下,我們可能需要在防火牆上進行抓包,並對捕獲的報文進行分析,此時可以在防火牆上配置五元組抓包。例如在上圖中,在防火牆FW1上捕獲Server1發往100.1.1.2的報文。

FW1的配置如下:
A.創建ACL3001,用於匹配192.168.1.7發往100.1.1.2的流量:

HRP_A[FW1] acl 3001
HRP_A[FW1-acl-adv-3001] rule permit ip source 192.168.1.7 0 destination 100.1.1.2 0
1
2
B.配置五元組抓包,在FW1的GE1/0/0接口上抓取ACL3001所匹配的報文,並且將報文緩存在隊列0中。缺省時,該命令將
會在GE1/0/0的入方向及出方向抓取相關報文:

HRP_A[FW1] packet-capture ipv4-packet 3001 queue 0 interface GigabitEthernet 1/0/0
1
C.啟動抓包進程,抓取報文的詳細信息,並且抓包數量為1000:

HRP_A[FW1] packet-capture startup verbose manual 1000
1
完成上述配置后,可以在FW1上查看生效的配置:

HRP_A[FW1]display packet-capture configuration
capture number: 1000 capture mode: verbose send mode: manual
interface-name packet-direction acl-number queue-id capt-type
GigabitEthernet1/0/0 inbound 3001 0 IPv4
GigabitEthernet1/0/0 outbound 3001 0 IPv4
1
2
3
4
5
現在,FW1將會開始抓取符合條件的報文。此時如果Server1 ping 100.1.1.2,而且ping了5個報文,那么可以在FW1上看到如下信息:

HRP_A[FW1]display packet-capture statistic
Number of dropped packets for exception during catching: 0
Number of dropped packets for exception during sending: 0
Queue 0
receive packet 5
drop packet 0
delete packet 0
send succeeded 0
send failed 0
inbound save packet 5
outbound save packet 0
Queue 1
receive packet 0
drop packet 0
delete packet 0
send succeeded 0
send failed 0
inbound save packet 0
outbound save packet 0
Queue 2
……
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
現在,這些報文已經被FW1緩存在隊列0中,如果要將報文保存下來進行分析,則可以將隊列0中的報文保存在FW1的磁盤空間中,形成*.cap文件,例如保存為pkt222.cap文件。

HRP_A[FW1] packet-capture queue 0 to-file pkt222.cap
1
此時使用dir命令,可以查看到該文件:

HRP_A<FW1>dir
Directory of hda1:/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 119309177 Jan 13 2014 17:39:02 suampua10v1r1c00spc100.bin
1 -rw- 61 Jun 26 2017 10:28:58 private-data.txt
2 drw- - Jan 13 2014 17:48:10 isp
……
21 -rw- 594 Jul 11 2017 11:38:34 pkt222.cap
1
2
3
4
5
6
7
8
通過FTP/SFTP等方式從FW1上下載該文件,即可對報文進行分析。

完成抓包后,需要進行如下操作:

停止抓包進程:
HRP_A[FW1] undo packet-capture startup
1
清空抓包隊列:
HRP_A<FW1> reset packet-capture queue 0
1
清空抓包統計信息:
HRP_A<FW1> reset packet-capture statistic
1
刪除抓包配置:
HRP_A[FW1] undo packet-capture interface GigabitEthernet 1/0/0
1
注意事項:
配置五元組抓包會在一定程度上影響設備性能,因此通常只在網絡問題定位時使用。在網絡問題定位結束后,必須停止抓包進程,並且清空抓包隊列,釋放內存。
啟動抓包需在數通工程師的指導下進行,並選擇業務流量較小的時間進行,以防操作失誤引起業務中斷。禁止隨意開啟抓包。
命令packet-capture { no-ip-packet | all-packet | ipv4-packet acl-number | ipv6-packet acl6-number } [ inbound | outbound ] [ queue queue-id ] interface interface-type interface-number用於配置抓包接口、方向以及該接口用來存儲抓包的隊列。缺省情況下,同時抓取入方向和出方向的報文,存儲抓包的隊列為0。設備提供四個隊列用於存儲抓取的報文。設備單次單向最大抓包數目為1000個報文。出入方向最多各存儲1000個報文,每個隊列最多存儲共2000個,隊列報文超過2000后,新的報文將被丟棄,不再進入隊列。在隊列存儲到2000個報文以后如需重新抓包,可以配置該接口另一個隊列,或者使用reset packet-capture queue queue-id命令清空該隊列。
在本例中,只要Server1發往100.1.1.2的報文到達FW1的GE1/0/0接口,便會被捕獲,即使FW1的安全策略並未允許Server1主動訪問100.1.1.2。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM