Datacom-HCIE-16 網絡安全技術(一) 以太網交換安全
目前網絡中以太網技術的應用非常廣泛。然而,各種網絡攻擊的存在(例如針對ARP、DHCP等協議的攻擊),不僅造成了網絡合法用戶無法正常訪問網絡資源,而且對網絡信息安全構成嚴重威脅,因此以太網交換的安全性越來越重要。
在大中型企業通常部署防火墻雙機熱備,可以保證網絡中主用設備出現故障時,備用設備能夠平滑地接替主用設備的工作,從而實現業務的不間斷運行;防火墻虛擬系統是指將一臺防火墻設備劃分為多個虛擬系統,每臺虛擬系統相當于一臺真實的設備。
本文主要介紹常見的以太網交換安全技術:包括端口隔離、端口安全、MAC地址漂移檢測、風暴控制、端口限速、MAC地址表安全、DHCP Snooping及IP Source Guard;介紹防火墻高級特性:雙機熱備,虛擬系統。
端口隔離
端口隔離技術背景
以太交換網絡中為了實現報文之間的二層隔離,用戶通常將不同的端口加入不同的VLAN,實現二層廣播域的隔離。
大型網絡中,業務需求種類繁多,只通過VLAN實現報文二層隔離,會浪費有限的VLAN資源。
如下圖所示,由于某種業務需求,PC1與PC2雖然屬于同一個VLAN ,但是要求它們在二層不能互通(但允許三層互通),PC1與PC3在任何情況下都不能互通,但是VLAN 3里的主機可以訪問VLAN 2里的主機。 那么該如何解決這個問題呢?

端口隔離技術概述
采用端口隔離功能,可以實現同一VLAN內端口之間的隔離。用戶只需要將端口加入到隔離組中,就可以實現隔離組內端口之間二層數據的隔離。端口隔離功能為用戶提供了更安全、更靈活的組網方案。

端口隔離技術原理

端口隔離配置命令
- 使能端口隔離功能
[Huawei-GigabitEthernet0/0/1] port-isolate enable [ group group-id ]
缺省情況下,未使能端口隔離功能。如果不指定group-id參數時,默認加入的端口隔離組為1。 - (可選)配置端口隔離模式
[Huawei] port-isolate mode { 12 | all }
缺省情況下,端口隔離模式為L2,L2端口隔離模式為二層隔離三層互通,all端口隔離模式為二層三層都隔離。 - 配置端口單向隔離
[Huawei-GigabitEthernet0/0/1] am isolate {interface-type interface-number }&<1-8>
am isolate命令用來配置當前接口與指定接口的單向隔離。在接口A上配置與接口B之間單向隔離后,接口A發送的報文
不能到達接口B,但從接口B發送的報文可以到達接口A。缺省情況下,未配置端口單向隔離。
端口隔離配置舉例

Switch配置如下:
[Switch] vlan 2
[Switch] port-isolate mode all
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1] port link-type access
[Switch-GigabitEthernet0/0/1] port default vlan 2
[Switch-GigabitEthernet0/0/1] port-isolate enable group 2
[Switch] interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2] port link-type access
[Switch-GigabitEthernet0/0/2] port default vlan 2
[Switch-GigabitEthernet0/0/2] port-isolate enable group 2
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] port link-type access
[Switch-GigabitEthernet0/0/3] port default vlan 2
端口隔離配置驗證
- 通過display port-isolate group group-number查看端口隔離組中的端口。
[SW]display port-isolate group 2
The ports in isolate group 2:
GigabitEthernet0/0/1 GigabitEthernet0/0/2
- 驗證同一端口隔離組下主機網絡不能互通。
PC1>ping 10.1.1.2
Ping 10.1.1.2: 32 data bytes, Press Ctrl_C to break
From 10.1.1.1: Destination host unreachable
From 10.1.1.1: Destination host unreachable
From 10.1.1.1: Destination host unreachable
From 10.1.1.1: Destination host unreachable
From 10.1.1.1: Destination host unreachable
--- 10.1.1.2 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
MAC地址表安全
MAC地址表項類型

MAC地址表項類型包括:
動態MAC地址表項:由接口通過報文中的源MAC地址學習獲得,表項可老化。在系統復位、接口板熱插拔或接口板復位后,動態表項會丟失。
靜態MAC地址表項:由用戶手工配置并下發到各接口板,表項不老化。在系統復位、接口板熱插拔或接口板復位后,保存的表項不會丟失。接口和MAC地址靜態綁定后,其他接口收到源MAC是該MAC地址的報文將會被丟棄。
黑洞MAC地址表項:由用戶手工配置,并下發到各接口板,表項不可老化。配置黑洞MAC地址后,源MAC地址或目的MAC地址是該MAC的報文將會被丟棄。
MAC地址表安全功能

MAC地址表項配置
- 配置靜態MAC表項
[Huawei] mac-address static mac-address interface-type interface-number vlan vlan-id
指定的VLAN必須已經創建并且已經加入綁定的端口;指定的MAC地址,必須是單播MAC地址,不能是組播和廣播MAC
地址。 - 配置黑洞MAC表項
[Huawei] mac-address blackhole mac-address [ vlan vlan-id ]
當設備收到目的MAC或源MAC地址為黑洞MAC地址的報文,直接丟棄。 - 配置動態MAC表項的老化時間
[Huawei] mac-address aging-time aging-time
禁止MAC地址學習功能
- 關閉基于接口的MAC地址學習功能
[Huawei-GigabitEthernet0/0/1] mac-address learning disable [ action { discard | forward } ]
缺省情況下,接口的MAC地址學習功能是使能的:
關閉MAC地址學習功能的缺省動作為forward,即對報文進行轉發。
當配置動作為discard時,會對報文的源MAC地址進行匹配,當接口和MAC地址與MAC地址表項匹配時,則對該報文進行轉發。當接口和MAC地址與MAC地址表項不匹配時,則丟棄該報文。 - 關閉基于VLAN的MAC地址學習功能
[Huawei-vlan2] mac-address learning disable
缺省情況下,VLAN的MAC地址學習功能是使能的。
當同時配置基于接口和基于VLAN的禁止MAC地址學習功能時,基于VLAN的優先級要高于基于接口的優先級配置。
限制MAC地址學習數量
- 配置基于接口限制MAC地址學習數
[Huawei-GigabitEthernet0/0/1] mac-limit maximum max-num
缺省情況下,不限制MAC地址學習數。 - 配置當MAC地址數達到限制后,對報文應采取的動作
[Huawei-GigabitEthernet0/0/1] mac-limit action { discard | forward }
缺省情況下,對超過MAC地址學習數限制的報文采取丟棄動作。 - 配置當MAC地址數達到限制后是否進行告警
[Huawei-GigabitEthernet0/0/1] mac-limit alarm { disable | enable }
缺省情況下,對超過MAC地址學習數限制的報文進行告警。 - 配置基于VLAN限制MAC地址學習數
[Huawei-vlan2] mac-limit maximum max-num
缺省情況下,不限制MAC地址學習數。
MAC地址表安全配置舉例

Switch3的配置如下:
配置方式一:在接口視圖下配置
#在接口GEO/0/1上配置禁止MAC地址學習
[Switch3-GigabitEthernet0/0/1] mac-address learning disable action discard
#在接口GEO/0/2上配置限制MAC地址學習數量,超過閾值策略及告警
[Switch3-GigabitEthernet0/0/2] mac-limit maximum 100
[Switch3-GigabitEthernet0/0/2] mac-limit alarm enable
[Switch3-GigabitEthernet0/0/2] mac-limit action discard
配置方式二:在VLAN視圖下配置
#在VLAN 10上配置禁止MAC地址學習
[Switch3-vlan10] mac-address learning disable
#在VLAN 20上配置限制MAC地址學習數量與告警
[Switch3-vlan20] mac-limit maximum 100 alarm enable
配置驗證
執行display mac-limit命令,查看MAC地址學習限制規則是否配置成功。

端口安全
端口安全技術背景
企業要求接入層交換機上每個連接終端設備的接口均只允許一臺PC接入網絡(限制MAC地址接入數量)。如果有員工試圖在某個接口下級聯一臺小交換機或集線器從而擴展上網接口,那么這種行為應該被發現或被禁止,如左圖所示。
另一些企業還可能會要求只有MAC地址為可信任的終端發送的數據幀才允許被交換機轉發到上層網絡,員工不能私自更換位置(變更交換機的接入端口),如右圖所示。
通過交換機的端口安全(port security)特性可以解決這些問題。

端口安全概述
通過在交換機的特定接口上部署端口安全,可以限制接口的MAC地址學習數量,并且配置出現越限時的懲罰措施。
端口安全通過將接口學習到的動態MAC地址轉換為安全MAC地址(包括安全動態MAC,安全靜態MAC和Sticky MAC),阻止非法用戶通過本接口和交換機通信,從而增強設備的安全性。
端口安全技術原理
安全MAC地址分為以下類型:

安全MAC地址通常與安全保護動作結合使用,常見的安全保護動作有:
Restrict:丟棄源MAC地址不存在的報文并上報告警。
Protect:只丟棄源MAC地址不存在的報文,不上報告警。
Shutdown:接口狀態被置為error-down,并上報告警。
端口安全技術應用

端口安全配置命令
- 使能端口安全功能
[Huawei-GigabitEthernet0/0/1] port-security enable
缺省情況下,未使能端口安全功能。 - 配置端口安全動態MAC學習限制數量
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num max-number
缺省情況下,接口學習的安全MAC地址限制數量為1。 - (可選)手工配置安全靜態MAC地址表項
[Huawei-GigabitEthernet0/0/1] port-security mac-address mac-address vlan vlan-id - (可選)配置端口安全保護動作
[Huawei-GigabitEthernet0/0/1] port-security protect-action { protect | restrict | shutdown }
缺省情況下,端口安全保護動作為restrict。 - (可選)配置接口學習到的安全動態MAC地址的老化時間
[Huawei-GigabitEthernet0/0/1] port-security aging-time time [ type { absolute | inactivity } ]
缺省情況下,接口學習的安全動態MAC地址不老化。 - 使能接口Sticky MAC功能
[Huawei-GigabitEthernet0/0/1] port-security mac-address sticky
缺省情況下,接口未使能Sticky MAC功能。 - 配置接口Sticky MAC學習限制數量
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num max-number
使能接口Sticky MAC功能后,缺省情況下,接口學習的MAC地址限制數量為1。 - (可選)手動配置一條sticky-mac表項
[Huawei-GigabitEthernet0/0/1] port-security mac-address sticky mac-address vlan vlan-id
端口安全配置舉例:安全動態MAC

Switch1配置如下:
[Switch1] interface GigabitEthernet 0/0/1
[Switch1-GigabitEthernet 0/0/1] port-security enable
[Switch1-GigabitEthernet 0/0/1] port-security max-mac-num 1
[Switch1-GigabitEthernet 0/0/1] port-security protect-action restrict
[Switch1] interface GigabitEthernet 0/0/2
[Switch1-GigabitEthernet 0/0/2] port-security enable
[Switch1-GigabitEthernet 0/0/2] port-security max-mac-num 1
[Switch1-GigabitEthernet 0/0/2] port-security protect-action restrict
[Switch1] interface GigabitEthernet 0/0/3
[Switch1-GigabitEthernet 0/0/3] port-security enable
[Switch1-GigabitEthernet 0/0/3] port-security max-mac-num 2
[Switch1-GigabitEthernet 0/0/3] port-security protect-action shutdown
配置驗證
執行命令display mac-address security,查看動態安全MAC表項。
[Switch1]display mac-address security
MAC address table of slot 0:
----------------------------------------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
----------------------------------------------------------------------------------------------------------------
5489-98ac-71a9 1 - - GE0/0/3 security -
5489-98b1-7b30 1 - - GE0/0/1 security -
5489-9815-662b 1 - - GE0/0/2 security -
----------------------------------------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 3
端口安全配置舉例:Sticky MAC

配置要求:
在Switch上部署端口安全。將GE0/0/1~GE0/0/3都激活端口安全。
GE0/0/1及GE0/0/2接口都將學習MAC地址的數量限制為1,并將在這兩個接口上學習到的動態安全MAC地址轉換為Sticky MAC地址。
對于GE0/0/3將學習MAC地址的數量限制為1,但是通過手工的方式為該接口創建一個sticky MAC地址表項,將該接口與MAC地址5489-98ac-71a9綁定。各接口違例懲罰保持缺省。
Switch配置如下:
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet 0/0/1] port-security enable
[Switch-GigabitEthernet 0/0/1] port-security max-mac-num 1
[Switch-GigabitEthernet 0/0/1] port-security mac-address sticky
[Switch] interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet 0/0/2] port-security enable
[Switch-GigabitEthernet 0/0/2] port-security max-mac-num 1
[Switch-GigabitEthernet 0/0/2] port-security mac-address sticky
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet 0/0/3] port-security enable
[Switch-GigabitEthernet 0/0/3] port-security max-mac-num 1
[Switch-GigabitEthernet 0/0/3] port-security mac-address sticky
[Switch-GigabitEthernet 0/0/3] port-security mac-address sticky 5489-
98ac-71a9 vlan 1
配置驗證
執行命令display mac-address sticky,查看Sticky MAC表項。
[Switch1]display mac-address sticky
MAC address table of slot 0:
-------------------------------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------------------------------
5489-98ac-71a9 1 - - GE0/0/3 sticky -
5489-98b1-7b30 1 - - GE0/0/1 sticky -
5489-9815-662b 1 - - GE0/0/2 sticky -
-------------------------------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 3
MAC地址漂移防止與檢測
MAC地址漂移概述
MAC地址漂移是指交換機上一個VLAN內有兩個端口學習到同一個MAC地址,后學習到的MAC地址表項覆蓋原MAC地址表項的現象。
當一個MAC地址在兩個端口之間頻繁發生遷移時,即會產生MAC地址漂移現象。
正常情況下,網絡中不會在短時間內出現大量MAC地址漂移的情況。出現這種現象一般都意味著網絡中存在環路,或者存在網絡攻擊行為。

防止MAC地址漂移
如果是環路引發MAC地址漂移,治本的方法是部署防環技術,例如STP,消除二層環路。如果由于網絡攻擊等其他原因引起,則可使用如下MAC地址防漂移特性:

MAC地址漂移檢測
交換機支持MAC地址漂移檢測機制,分為以下兩種方式:
基于VLAN的MAC地址漂移檢測
配置VLAN的MAC地址漂移檢測功能可以檢測指定VLAN下的所有的MAC地址是否發生漂移。
當MAC地址發生漂移后,可以配置指定的動作,例如告警、阻斷接口或阻斷MAC地址。
全局MAC地址漂移檢測
該功能可以檢測設備上的所有的MAC地址是否發生了漂移。
若發生漂移,設備會上報告警到網管系統。
用戶也可以指定發生漂移后的處理動作,例如將接口關閉或退出VLAN。
基于VLAN的MAC地址漂移檢測

在配置基于VLAN的MAC地址漂移檢測功能后,如果MAC地址發生漂移時,則可根據需求配置接口做出的動作有以下三種:
- 發送告警,當檢測到MAC地址發生漂移時只給網管發送告警。
- 接口阻斷,當檢測到MAC地址發生漂移時,根據設置的阻塞時間對接口進行阻塞,并關閉接口收發報文的能力。
- MAC地址阻斷,當檢測到MAC地址發生漂移時,只阻塞當前MAC地址,而不對物理接口進行阻塞,當前接口下的其他MAC的通信不受影響。
全局MAC地址漂移檢測
當交換機檢測到MAC地址漂移,在缺省情況下,它只是簡單地上報告警,并不會采取其他動作。在實際網絡部署中,可以根據網絡需求,對檢測到MAC地址漂移之后定義以下動作:
error-down: 當配置了MAC地址漂移檢測的端口檢測到有MAC地址漂移時,將對應接口狀態置為error-down,不再轉發數據。
quit-vlan: 當配置了MAC地址漂移檢測的端口檢測到有MAC地址漂移時,將退出當前接口所屬的VLAN。

MAC地址漂移配置命令介紹
- 配置接口學習MAC地址的優先級
[Huawei-GigabitEthernet0/0/1] mac-learning priority priority-id
缺省情況下,接口學習MAC地址的優先級為0,數值越大優先級越高。 - 配置禁止MAC地址漂移時報文的處理動作為丟棄
[Huawei-GigabitEthernet0/0/1] mac-learning priority flapping-defend action discard
缺省情況下,禁止MAC地址漂移時報文的處理動作是轉發。 - 配置不允許相同優先級的接口發生MAC地址漂移
[Huawei] undo mac-learning priority priority-id allow-flapping
缺省情況下,允許相同優先級的接口發生MAC地址漂移。 - 配置MAC地址漂移檢測功能。
[Huawei-vlan2] mac-address flapping detection
缺省情況下,已經配置了對交換機上所有VLAN進行MAC地址漂移檢測的功能。 - (可選)配置MAC地址漂移檢測的VLAN白名單
[Huawei] mac-address flapping detection exclude vlan { vlan-id1 [ to vlan-id2 ] } &<1-10>
缺省情況下,沒有配置MAC地址漂移檢測的VLAN白名單。 - (可選)配置發生漂移后接口的處理動作
[Huawei-GigabitEthernet0/0/1] mac-address flapping action { quit-vlan | error-down }
缺省情況下,沒有配置接口MAC地址漂移后的處理動作。 - (可選)配置MAC地址漂移表項的老化時間
[Huawei] mac-address flapping aging-time aging-time
缺省情況下,MAC地址漂移表項的老化時間為300秒。 - 配置MAC地址漂移檢測功能
[Huawei-vlan2] loop-detect eth-loop { [ block-mac ] block-time block-time retry-times retry-times | alarm-only }
MAC地址漂移配置舉例

實驗介紹:
網絡基礎配置已完成,Switch3與Switch4之間誤接網線導致網絡出現環路;
在Switch1的接口GE0/0/1上配置MAC地址防漂移功能,防止被非法用戶攻擊;
在Switch2上配置MAC地址漂移檢測功能,判斷網絡中存在的環路,排除故障。
在Switch1與Server相連的接口GEO/0/1上配置MAC地址
- 學習優先級高于其他接口,此優先級默認值為0。
[Switch1] interface GigabitEthernet 0/0/1
[Switch1-GigabitEthernet 0/0/1] mac-leaning priority 3
- 在Switch2上配置MAC地址漂移檢測功能,并配置接口
MAC地址漂移后的處理動作。
[Switch2] mac-address flapping detection
[Switch2] mac-address flapping aging-time 500
[Switch2-GigabitEthernet0/0/1] mac-address flapping action error-down
[Switch2-GigabitEthernet0/0/2] mac-address flapping action error-down
[Switch2] error-down auto-recovery cause mac-address-flapping interval 500
配置驗證
配置完成后,當Switch2的接口GE0/0/1的MAC地址漂移到接口GE0/0/2后,接口GE0/0/2關閉;使用display mac-address flapping record可查看到漂移記錄。
[Switch2] display mac-address flapping record
S : start time
E : end time
(Q) : quit vlan
(D) : error down
---------------------------------------------------------------------------------------------------
Move-Time VLAN MAC-Address Original-Port Move-Ports MoveNum
---------------------------------------------------------------------------------------------------
S:2020-06-22 17:22:36 1 5489-9815-662b GE0/0/1 GE0/0/2(D) 83
E:2020-06-22 17:22:44
---------------------------------------------------------------------------------------------------
Total items on slot 0: 1
MACsec,提供二層數據安全傳輸

MACsec工作機制
在設備運行點到點MACsec時,網絡管理員在兩臺設備上通過命令行預配置相同的CAK,兩臺設備會通過MKA協議選舉出一個KeyServer,Key Server決定加密方案,Key Server會根據CAK等參數使用某種加密算法生成SAK數據密鑰,由Key Server將SAK分發給對端設備,這樣兩臺設備擁有相同的SAK數據密鑰,可以進行后續MACsec數據報文加解密收發。
CAK(Secure Connectivity Association Key,安全連接關聯密鑰)不直接用于數據報文的加密,由它和其他參數派生出數據報文的加密密鑰。
MKA(MACsec Key Agreement protocol)用于MACsec 數據加密密鑰的協商協議。
SAK(Secure Association Key,安全關聯密鑰)由CAK根據算法推導產生,用于加密安全通道間傳輸的數據。
Key Server決定加密方案和進行密鑰分發的MKA實體。

MACsec
MACsec使用指南
MACsec功能需要安裝特定插件
具體配置方法可參考華為官網的MACsec使用指南。
交換機流量控制
流量抑制
流量抑制概述

網絡中存在的問題:
正常情況下,當設備某個二層以太接口收到廣播、未知組播或未知單播報文時,會向同一VLAN內的其他二層以太接口轉發這些報文,從而導致流量泛洪,降低設備轉發性能。
當設備某個以太接口收到已知組播或已知單播報文時,如果某種報文流量過大則可能會對設備造成沖擊,影響其他業務的正常處理。
可用的解決方案:
流量抑制可以通過配置閾值來限制廣播、未知組播、未知單播、已知組播和已知單播報文的速率,防止廣播、未知組播報文和未知單播報文產生流量泛洪,阻止已知組播報文和已知單播報文的大流量沖擊。
流量抑制工作原理
在接口入方向上,設備支持對廣播、未知組播、未知單播、已知組播和已知單播報文按百分比、包速率和比特速率進行流量抑制。設備監控接口下的各類報文速率并和配置的閾值相比較,當入口流量超過配置的閾值時,設備會丟棄超額的流量。

在VLAN視圖下,設備支持對廣播報文按比特速率進行流量抑制。設備監控同一VLAN內廣播報文的速率并和配置的閾值相比較,當VLAN內流量超過配置的閾值時,設備會丟棄超額的流量。

流量抑制的應用
流量抑制通過對不同類型的報文采取不同的限制措施,達到限制報文發送速率的目的。具體實施可分為以下三種情況:
在交換機接口的入方向,例如下圖中SW1的GE0/0/1入方向,通過流量抑制功能可以限制任意報文的發送速率。
在交換機接口出方向,例如下圖中SW1的GE0/0/1出方向,通過流量抑制功能可以阻塞廣播,未知組播和未知單播報文。
在交換機的VLAN視圖下,通過配置VLAN內流量抑制限制VLAN內廣播報文。

流量抑制配置命令介紹
1.(可選)配置流量抑制模式
[Huawei] suppression mode { by-packets | by-bits }
缺省情況下,缺省的抑制模式為packets,在bits模式下,流量抑制的粒度更小、抑制更精確。
2. 配置流量抑制
[Huawei-GigabitEthernet0/0/1] { broadcast-suppression | multicast-suppression | unicast-suppression} { percent-value | cir
cir-value [ cbs cbs-value ] | packets packets-per-second }
接口下配置流量抑制時,抑制模式需與全局的流量抑制模式保持一致。
3. 配置在接口出方向上阻塞報文
[Huawei-GigabitEthernet0/0/1] { broadcast-suppression | multicast-suppression | unicast-suppression } block outbound
4. 配置VLAN的廣播抑制速率
[Huawei-vlan2] broadcast-suppression threshold-value
流量抑制配置舉例

配置要求:
在GE0/0/1接口視圖下配置流量抑制功能,限制二層網絡轉發的廣播、未知組播和未知單播報文的能力。
配置廣播流量抑制,按百分比抑制,百分比值為60%。
配置未知組播流量抑制,按百分比抑制,百分比值為70%。
配置未知單播流量抑制,按百分比抑制,百分比值為80%。
Switch配置如下:
[Switch] suppression mode by-packets
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1] unicast-suppression 80
[Switch-GigabitEthernet0/0/1] multicast-suppression 70
[Switch-GigabitEthernet0/0/1] broadcast-suppression 60
配置驗證
使用命令display flow-suppression interface 查看流量抑制配置信息。
[Switch]dis flow-suppression interface GigabitEthernet 0/0/1
storm type rate mode set rate value
-------------------------------------------------------------------------------
unknown-unicast percent percent: 80%
multicast percent percent: 70%
broadcast percent percent: 60%
-------------------------------------------------------------------------------
風暴控制
風暴控制概述

網絡中存在的問題:
正常情況下,當設備某個二層以太接口收到廣播、未知組播或未知單播報文時,會向同一VLAN內的其他二層以太接口轉發這些報文,如果網絡存在環路,則會導致廣播風暴,嚴重降低設備轉發性能。
可用的解決方案:
風暴控制可以通過阻塞報文或關閉端口來阻斷廣播、未知組播和未知單播報文的流量。
風暴控制工作原理
風暴控制可以用來防止廣播、未知組播以及未知單播報文產生廣播風暴。在風暴控制檢測時間間隔內,設備監控接口下接收的三類報文的包平均速率與配置的最大閾值相比較。當報文速率大于配置的最大閾值時,風暴控制將根據配置的動作來對接口進行阻塞報文或關閉接口的處理。
流量抑制與風暴控制的主要區別是:風暴控制功能可以對端口下發懲罰動作(block和shutdown),而流量抑制功能只是對端口流量進行限制。

風暴控制的應用
風暴控制與流量抑制相比的優勢是可以同時監控接口下的廣播報文、未知組播報文和未知單播報文各自的包平均速率,并根據閾值對接口采取阻塞相關報文或者關閉物理接口的懲罰動作。
本例中,Switch作為二層網絡到路由器的銜接點,當需要限制二層網絡轉發過來的用戶廣播、未知組播和未知單播報文時,可以通過在Switch的GE0/0/1上配置風暴控制功能來實現。

風暴控制配置命令介紹
- 配置接口對報文的風暴控制
[Huawei-GigabitEthernet0/0/1] storm-control { broadcast | multicast | unicast } min-rate min-rate-value max-rate max-rate-value
對接口上的廣播、未知組播或未知單播報文進行風暴控制。 - 配置風暴控制的動作
[Huawei-GigabitEthernet0/0/1] storm-control action { block | error-down } - 配置風暴控制的檢測時間間隔
[Huawei-GigabitEthernet0/0/1] storm-control interval interval-value - 配置使能接口狀態自動恢復
[Huawei-GigabitEthernet0/0/1] error-down auto-recovery cause storm-control interval interval-value
使能接口狀態自動恢復為Up的功能,并設置接口自動恢復為Up的延時時間。 - (可選)配置流量抑制及風暴控制白名單
[Huawei] storm-control whitelist protocol { arp-request | bpdu | dhcp | igmp | ospf }*
風暴控制配置舉例

配置需求
在交換機Switch上需要配置防止二層網絡轉發的廣播、未知組播和未知單播報文產生的廣播風暴。
配置思路:
通過在接口GE0/0/1上配置風暴控制限制二層網絡的廣播風暴的產生。
Switch配置如下:
[Switch] storm-control whitelist protocol arp-request
[Switch] interface gigabitethernet0/0/1
[Switch-GigabitEthernet0/0/1] storm-control broadcast min-rate 1000 maxrate 2000
[Switch-GigabitEthernet0/0/1] storm-control multicast min-rate 1000 maxrate 2000
[Switch-GigabitEthernet0/0/1] storm-control unicast min-rate 1000 maxrate 2000
[Switch-GigabitEthernet0/0/1] storm-control interval 90
[Switch-GigabitEthernet0/0/1] storm-control action block
[Switch-GigabitEthernet0/0/1] storm-control enable trap
#使能風暴控制上報告警
配置驗證
執行命令display storm-control interface查看GE0/0/1接口下的風暴控制配置情況。
[Switch]display storm-control interface GigabitEthernet 0/0/1
PortName Type Rate Mode Action Punish- Trap Log Int Last-
(Min/Max) Status Punish-Time
----------------------------------------------------------------------------------------------------------
GE0/0/1 Multicast 1000 Pps Block Normal On Off 90
/2000
GE0/0/1 Broadcast 1000 Pps Block Normal On Off 90
/2000
GE0/0/1 Unicast 1000 Pps Block Normal On Off 90
DHCP Snooping
DHCP工作原理概述

DHCP Snooping概述
為了保證網絡通信業務的安全性,引入了DHCP Snooping技術,在DHCP Client和DHCP Server之間建立一道防火墻,以抵御網絡中針對DHCP的各種攻擊。
DHCP Snooping是DHCP的一種安全特性,用于保證DHCP客戶端從合法的DHCP服務器獲取IP地址。DHCP 服務器記錄DHCP客戶端IP地址與MAC地址等參數的對應關系,防止網絡上針對DHCP攻擊。
目前DHCP協議在應用的過程中遇到很多安全方面的問題,網絡中存在一些針對DHCP的攻擊,如DHCPServer仿冒者攻擊、DHCP Server的拒絕服務攻擊、仿冒DHCP報文攻擊等。
DHCP Snooping主要是通過DHCP Snooping信任功能和DHCP Snooping綁定表實現DHCP網絡安全
DHCP Snooping信任功能

DHCP Snooping的信任功能,能夠保證DHCP客戶端從合法的DHCP服務器獲取IP地址。
DHCP Snooping信任功能將接口分為信任接口和非信任接口:
信任接口正常接收DHCP服務器響應的DHCP ACK、DHCP NAK和DHCP Offer報文。
設備只將DHCP客戶端的DHCP請求報文通過信任接口發送給合法的DHCP服務器,不會向非信任接口轉發。
非信任接口收到的DHCP Server發送的DHCP OFFER、DHCP ACK、DHCP NAK報文會被直接丟棄。
DHCP Snooping綁定表
二層接入設備使能了DHCP Snooping功能后,從收到DHCP ACK報文中提取關鍵信息(包括PC的MAC地址以及獲取到的IP地址、地址租期),并獲取與PC連接的使能了DHCP Snooping功能的接口信息(包括接口編號及該接口所屬的VLAN),根據這些信息生成DHCP Snooping綁定表。
由于DHCP Snooping綁定表記錄了DHCP客戶端IP地址與MAC地址等參數的對應關系,故通過對報文與DHCPSnooping綁定表進行匹配檢查,能夠有效防范非法用戶的攻擊。

DHCP餓死攻擊
攻擊原理:攻擊者持續大量地向DHCP Server申請IP地址,直到耗盡DHCP Server地址池中的IP地址,導致DHCPServer不能給正常的用戶進行分配。
漏洞分析:DHCP Server向申請者分配IP地址時,無法區分正常的申請者與惡意的申請者。

DHCP Snooping防餓死攻擊
解決方法:對于餓死攻擊,可以通過DHCP Snooping的MAC地址限制功能來防

改變CHADDR值的DoS攻擊
DHCP消息中有一個名叫CHADDR(Client Hardware Address)的字段,該字段是由DHCP客戶端填寫的,表示的是客戶端的硬件地址(也就是客戶端的MAC地址)。DHCP Server是針對CHADDR來分配IP地址的,對于不同的CHADDR,DHCP Server會分配不同的IP地址;DHCP Server無法區分什么樣的CHADDR是合法的,什么樣的CHADDR是非法的。利用這個漏洞,攻擊者每申請一個IP地址時,就在DHCP消息的CHADDR字段中填寫一個不同的值,以此來冒充是不同的用戶在申請IP地址。
漏洞分析:DHCP Server向申請者分配IP地址時,無法區分正常的申請者與惡意的申請者。

DHCP Snooping防改變
CHADDR值的DoS攻擊
解決方法:為了避免受到攻擊者改變CHADDR值的攻擊,可以在設備上配置DHCP Snooping功能,檢查DHCPRequest報文中CHADDR字段。如果該字段跟數據幀頭部的源MAC相匹配,轉發報文;否則,丟棄報文。從而保證合法用戶可以正常使用網絡服務。

DHCP中間人攻擊
攻擊原理:攻擊者利用ARP機制,讓Client學習到DHCP Server IP與Attacker MAC的映射關系,又讓Server學習到Client IP與Attacker Mac的映射關系。如此一來,Client與Server之間交互的IP報文都會經過攻擊者中轉。
漏洞分析:從本質上講,中間人攻擊是一種Spoofing IP/MAC攻擊,中間人利用了虛假的IP地址與MAC地址之間的映射關系來同時欺騙DHCP的客戶端和服務器。

DHCP Snooping防DHCP中間人攻擊
解決方法:為防御中間人攻擊與IP/MAC Spoofing攻擊,可使用DHCP Snooping的綁定表工作模式,當接口接收到ARP或者IP報文,使用ARP或者IP報文中的“源IP+源MAC”匹配DHCP Snooping綁定表。如果匹配就進行轉發,如果不匹配就丟棄。

DHCP Snooping配置命令介紹
- 全局使能DHCP Snooping功能
[Huawei] dhcp snooping enable [ ipv4 | ipv6 ] - VLAN視圖下使能DHCP Snooping功能
[Huawei-vlan2] dhcp snooping enable
在VLAN視圖下執行此命令,則對設備所有接口接收到的屬于該VLAN的DHCP報文命令功能生效。 - VLAN視圖下配置接口為“信任”狀態
[Huawei-vlan2] dhcp snooping trusted interface interface-type interface-number
在VLAN視圖下執行此命令,則命令功能僅對加入該VLAN的接口收到的屬于此VLAN的DHCP報文生效。 - 接口視圖下使能DHCP Snooping功能
[Huawei-GigabitEthernet0/0/1] dhcp snooping enable - 接口視圖下配置接口為“信任”狀態
[Huawei-GigabitEthernet0/0/1] dhcp snooping trusted
缺省情況下,設備接口為非信任狀態。 - (可選)配置丟棄GIADDR字段非零的DHCP報文
[Huawei] dhcp snooping check dhcp-giaddr enable vlan { vlan-id1 [ to vlan-id2 ] }
使能檢測DHCP Request報文中GIADDR字段是否非零的功能。此命令同時可以在VLAN視圖或接口視圖下進行配置。
在VLAN視圖下執行此命令,則對設備所有接口接收到的屬于該VLAN的DHCP報文命令功能生效;在接口下執行該命令,
則對該接口下的所有DHCP報文命令功能生效。
DHCP Snooping配置舉例

如圖所示,DHCP和VLAN基礎配置已完成,在Switch配置DHCP Snooping功能。
配置方式一:接口視圖
[Switch] dhcp snooping enable ipv4
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1] dhcp snooping enable
[Switch] interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2] dhcp snooping enable
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] dhcp snooping enable
[Switch-GigabitEthernet0/0/3] dhcp snooping trusted
配置方式二:VLAN視圖
[Switch] dhcp snooping enable ipv4
[Switch] vlan 2
[Switch-vlan2] dhcp snooping enable
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] dhcp snooping trusted
配置驗證
執行命令display dhcp snooping interface,查看接口下的DHCP Snooping運行信息。
[Switch]display dhcp snooping interface GigabitEthernet 0/0/3
DHCP snooping running information for interface GigabitEthernet0/0/3 :
DHCP snooping : Enable
Trusted interface : Yes
Dhcp user max number : 1024 (default)
Current dhcp user number : 0
Check dhcp-giaddr : Disable (default)
Check dhcp-chaddr : Disable (default)
Alarm dhcp-chaddr : Disable (default)
Check dhcp-request : Disable (default)
Alarm dhcp-request : Disable (default)
----- more ------
IP Source Guard
IPSG技術概述
IP地址欺騙攻擊中,攻擊者通過偽造合法用戶的IP地址獲取網絡訪問權限,非法訪問網絡,甚至造成合法用戶無法訪問網絡,或者信息泄露。IPSG針對IP地址欺騙攻擊提供了一種防御機制,可以有效阻止此類網絡攻擊行為。
IP源防攻擊(IPSG,IP Source Guard)是一種基于二層接口的源IP地址過濾技術。它能夠防止惡意主機偽造合法主機的IP地址來仿冒合法主機,還能確保非授權主機不能通過自己指定IP地址的方式來訪問網絡或攻擊網絡。

IPSG工作原理
IPSG利用綁定表(源IP地址、源MAC地址、所屬VLAN、入接口的綁定關系)去匹配檢查二層接口上收到的IP報文,只有匹配綁定表的報文才允許通過,其他報文將被丟棄。常見的綁定表有靜態綁定表和DHCP Snooping動態綁定表。

IPSG應用場景
通過IPSG防止PC私自更改IP地址。
PC只能使用DHCP Server分配的IP地址或者管理員配置的靜態地址,隨意更改IP地址后無法訪問網絡,防止PC非法取得上網權限。
小型網絡IP地址是靜態分配時,通過IPSG限制非法PC接入。
外來人員自帶電腦不能隨意接入內網,防止內網資源泄露。

IPSG配置命令介紹
- 配置靜態用戶綁定表項
[Huawei] user-bind static { { { ip-address | ipv6-address } { start-ip [ to end-ip ] } &<1-10> | ipv6-prefix prefix/prefix-length } |mac-address mac-address } * [ interface interface-type interface-number ] [ vlan vlan-id [ ce-vlan ce-vlan-id ] ]
IPSG按照靜態綁定表項進行完全匹配。 - 使能IPSG功能
[Huawei-GigabitEthernet0/0/1] ip source check user-bind enable
使能接口或者VLAN的IP報文檢查功能,VLAN視圖配置與接口視圖一致。 - 使能IP報文檢查告警功能
[Huawei-GigabitEthernet0/0/1] ip source check user-bind alarm enable - 配置IP報文檢查告警閾值
[Huawei-GigabitEthernet0/0/1] ip source check user-bind alarm threshold threshold
配置了IP報文檢查告警功能后,當丟棄的IP報文超過告警閾值時,會產生告警提醒用戶。
IPSG配置舉例

如圖所示:網絡終端設備通過手工方式配置靜態IP地址統一管理,通過在接入交換機上配置IPSG,防止主機私自更改IP地址非法獲取訪問網絡權限。
配置靜態綁定表
使能IPSG及告警上報功能
Switch1配置如下:
#在接入交換機上配置靜態綁定表
[Switch1] user-bind static ip-address 10.1.1.1 mac-address 5489-98C2-1486
[Switch1] user-bind static ip-address 10.1.1.10 mac-address 5489-98AB-22A7
#使能GE0/0/1接口IPSG和IP報文檢查告警功能
[Switch1] interface GigabitEthernet 0/0/1
[Switch1-GigabitEthernet0/0/1] ip source check user-bind enable
[Switch1-GigabitEthernet0/0/1] ip source check user-bind alarm enable
[Switch1-GigabitEthernet0/0/1] ip source check user-bind alarm threshold 100
#接口GE0/0/2配置與GE0/0/1類似,此處省略
配置驗證
在Switch1上執行display dhcp static user-bind all命令,可以查看靜態綁定表信息。
PC1和PC2使用管理員分配的固定IP地址可以正常訪問網絡,更改IP地址后無法訪問網絡。
[Switch1] display dhcp static user-bind all
DHCP static Bind-table:
Flags:O - outer vlan ,I - inner vlan ,P - Vlan-mapping
IP Address MAC Address VSI/VLAN(O/I/P) Interface
-------------------------------------------------------------------------------------------------
10.1.1.1 5489-98C2-1486 -- /-- /-- --
10.1.1.10 5489-98AB-22A7 -- /-- /-- --
-------------------------------------------------------------------------------------------------
Print count: 2 Total count: 2
端口隔離實現同一VLAN內端口之間的隔離。端口隔離模式分別為二層隔離三層互通、二層三層都隔離。
交換機MAC地址表可以分為靜態MAC地址表、黑洞MAC地址表、動態MAC地址表。
端口安全通過將接口學習到的動態MAC地址轉換為安全MAC地址,安全MAC地址通常與安全保護動作結合使用。
交換機開啟MAC地址漂移檢測有助于工程師快速處理交換機環路故障。
MACsec定義了基于以太網的數據安全通信的方法,通過逐跳設備之間數據加密,保證數據傳輸安全性。
流量抑制與風暴控制主要區別在于流量控制僅僅是對各種報文進行限速處理,超過閾值之后就丟棄,而風暴控制能夠根據報文速率的大小采取不同的懲罰動作,包括關閉端口或者阻塞報文。
DHCP Snooping技術對于防御以太網中關于終端設備自動獲取IP的網絡攻擊有很大的作用,通過配置DHCP Snooping信任端口功能和DHCP Snooping綁定表,可以很好的防范針對DHCP的網絡攻擊。
IPSG通過查看交換機綁定表,阻止IP地址欺騙攻擊,杜絕非法用戶盜用合法IP地址對網絡發起攻擊

目前網絡中以太網技術的應用非常廣泛。然而,各種網絡攻擊的存在(例如針對ARP、DHCP等協議的攻擊),不僅造成了網絡合法用戶無法正常訪問網絡資源,而且對網絡信息安全構成嚴重威脅,因此以太網交換的安全性越來越重要。
在大中型企業通常部署防火墻雙機熱備,可以保證網絡中主用設備出現故障時,備用設備能夠平滑地接替主用設備的工作,從而實現業務的不間斷運行;防火墻虛擬系統是指將一臺防火墻設備劃分為多個虛擬系統,每臺虛擬系統相當于一臺真實的設備。
本文主要介紹常見的以太網交換安全技術:包括端口隔離、端口安全、MAC地址漂移檢測、風暴控制、端口限速、MAC地址表安全、DHCP Snooping及IP Source Guard;介紹防火墻高級特性:雙機熱備,虛擬系統。
浙公網安備 33010602011771號