09-ARP攻擊防禦配置
本章節下載: 09-ARP攻擊防禦配置 (428.44 KB)
目 錄
ARP協議有簡單、易用的優點,但是也因為其沒有任何安全機製而容易被攻擊發起者利用。
· 攻擊者可以仿冒用戶、仿冒網關發送偽造的ARP報文,使網關或主機的ARP表項不正確,從而對網絡進行攻擊。
· 攻擊者通過向設備發送大量目標IP地址不能解析的IP報文,使得設備試圖反複地對目標IP地址進行解析,導致CPU負荷過重及網絡流量過大。
· 攻擊者向設備發送大量ARP報文,對設備的CPU形成衝擊。
目前ARP攻擊和ARP病毒已經成為局域網安全的一大威脅,為了避免各種攻擊帶來的危害,設備提供了多種技術對攻擊進行防範、檢測和解決。
下麵將詳細介紹一下這些技術的原理以及配置。
表1-1 ARP攻擊防禦配置任務簡介
配置任務 |
說明 |
詳細配置 |
||
防止泛洪攻擊 |
配置ARP防止IP報文攻擊功能 |
配置ARP源抑製功能 |
可選 建議在網關設備上配置本功能 |
|
配置ARP黑洞路由功能 |
可選 建議在網關設備上配置本功能 |
|||
配置ARP報文限速功能 |
可選 建議在接入設備上配置本功能 |
|||
配置源MAC地址固定的ARP攻擊檢測功能 |
可選 建議在網關設備上配置本功能 |
|||
防止仿冒用戶、仿冒網關攻擊 |
配置ARP報文源MAC地址一致性檢查功能 |
可選 建議在網關設備上配置本功能 |
||
配置ARP主動確認功能 |
可選 建議在網關設備上配置本功能 |
|||
配置授權ARP功能 |
可選 建議在網關設備上配置本功能 |
|||
配置ARP Detection功能 |
可選 建議在接入設備上配置本功能 |
|||
配置ARP自動掃描、固化功能 |
可選 建議在網關設備上配置本功能 |
|||
配置ARP網關保護功能 |
可選 建議在接入設備上配置本功能 |
|||
配置ARP過濾保護功能 |
可選 建議在接入設備上配置本功能 |
如果網絡中有主機通過向設備發送大量目標IP地址不能解析的IP報文來攻擊設備,則會造成下麵的危害:
· 設備向目的網段發送大量ARP請求報文,加重目的網段的負載。
· 設備會試圖反複地對目標IP地址進行解析,增加了CPU的負擔。
為避免這種IP報文攻擊所帶來的危害,設備提供了下列兩個功能:
· ARP源抑製功能:如果發送攻擊報文的源是固定的,可以采用ARP源抑製功能。開啟該功能後,如果網絡中每5秒內從某IP地址向設備某接口發送目的IP地址不能解析的IP報文超過了設置的閾值,則設備將不再處理由此IP地址發出的IP報文直至該5秒結束,從而避免了惡意攻擊所造成的危害。
· ARP黑洞路由功能:無論發送攻擊報文的源是否固定,都可以采用ARP黑洞路由功能。開啟該功能後,一旦接收到目標IP地址不能解析的IP報文,設備立即產生一個黑洞路由,並同時發起ARP主動探測,如果在黑洞路由老化時間內ARP解析成功,則設備馬上刪除此黑洞路由並開始轉發去往該地址的報文,否則設備直接丟棄該報文。在刪除黑洞路由之前,後續去往該地址的IP報文都將被直接丟棄。用戶可以通過命令配置ARP請求報文的發送次數和發送時間間隔。等待黑洞路由老化時間過後,如有報文觸發則再次發起解析,如果解析成功則進行轉發,否則仍然產生一個黑洞路由將去往該地址的報文丟棄。這種方式能夠有效地防止IP報文的攻擊,減輕CPU的負擔。
表1-2 配置ARP源抑製功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP源抑製功能 |
arp source-suppression enable |
缺省情況下,ARP源抑製功能處於關閉狀態 |
配置ARP源抑製的閾值 |
arp source-suppression limit limit-value |
缺省情況下,ARP源抑製的閾值為10 |
表1-3 配置ARP黑洞路由功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP黑洞路由功能 |
arp resolving-route enable |
缺省情況下,ARP黑洞路由功能處於開啟狀態 |
(可選)配置發送ARP請求報文的次數 |
arp resolving-route probe-count count |
缺省情況下,發送ARP請求報文的次數為3次 |
(可選)配置發送ARP請求報文的時間間隔 |
arp resolving-route probe-interval interval |
缺省情況下,發送ARP請求報文的時間間隔為1秒 |
· 當用戶配置的ARP主動探測總時長(發送次數×發送時間間隔)大於黑洞路由老化時間時,係統隻會取小於等於該老化時間的最大值作為真正的探測總時長。
· 當發起ARP主動探測過程結束且生成的黑洞路由還未老化時,設備無法主動對黑洞路由對應的設備進行ARP解析,為了緩解該問題,用戶可以配置較大的發送ARP請求報文次數。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP源抑製的運行情況,通過查看顯示信息驗證配置的效果。
表1-4 ARP防止IP報文攻擊顯示和維護
操作 |
命令 |
顯示ARP源抑製的配置信息 |
display arp source-suppression |
某局域網內存在兩個區域:研發區和辦公區,分別屬於VLAN 10和VLAN 20,通過接入交換機連接到網關Device,如圖1-1所示。
網絡管理員在監控網絡時發現辦公區存在大量ARP請求報文,通過分析認為存在IP泛洪攻擊,為避免這種IP報文攻擊所帶來的危害,可采用ARP源抑製功能和ARP黑洞路由功能。
圖1-1 ARP防止IP報文攻擊配置組網圖
對攻擊報文進行分析,如果發送攻擊報文的源地址是固定的,采用ARP源抑製功能。在Device上做如下配置:
· 開啟ARP源抑製功能;
· 配置ARP源抑製的閾值為100,即當每5秒內的ARP請求報文的流量超過100後,對於由此IP地址發出的IP報文,設備不允許其觸發ARP請求,直至5秒後再處理。
如果發送攻擊報文的源地址是不固定的,則采用ARP黑洞路由功能,在Device上配置ARP黑洞路由功能。
· 配置ARP源抑製功能
# 開啟ARP源抑製功能,並配置ARP源抑製的閾值為100。
<Device> system-view
[Device] arp source-suppression enable
[Device] arp source-suppression limit 100
· 配置ARP黑洞路由功能
# 開啟ARP黑洞路由功能。
[Device] arp resolving-route enable
ARP報文限速功能是指對上送CPU的ARP報文進行限速,可以防止大量ARP報文對CPU進行衝擊。例如,在配置了ARP Detection功能後,設備會將收到的ARP報文重定向到CPU進行檢查,這樣引入了新的問題:如果攻擊者惡意構造大量ARP報文發往設備,會導致設備的CPU負擔過重,從而造成其他功能無法正常運行甚至設備癱瘓,這個時候可以配置ARP報文限速功能來控製上送CPU的ARP報文的速率。
建議用戶在配置了ARP Detection、ARP Snooping、ARP快速應答,或者發現有ARP泛洪攻擊的情況下,配置ARP報文限速功能。
設備上配置ARP報文限速功能後,當接口上單位時間收到的ARP報文數量超過用戶設定的限速值,設備處理方式如下:
· 當開啟了ARP模塊的告警功能後,設備將這個時間間隔內的超速峰值作為告警信息發送出去,生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。有關告警信息的詳細介紹請參見“網絡管理和監控命令參考”中的SNMP;
· 當開啟了ARP限速日誌功能後,設備將這個時間間隔內的超速峰值作為日誌的速率值發送到設備的信息中心,通過設置信息中心的參數,最終決定日誌報文的輸出規則(即是否允許輸出以及輸出方向)。有關信息中心參數的配置請參見“網絡管理和監控配置指導”中的“信息中心”。
為防止過多的告警和日誌信息幹擾用戶工作,用戶可以設定信息的發送時間間隔。當用戶設定的時間間隔超時時,設備執行發送告警或日誌的操作。
表1-5 配置ARP報文限速功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
(可選)開啟ARP模塊的告警功能 |
snmp-agent trap enable arp [ rate-limit ] |
缺省情況下,ARP模塊的告警功能處於關閉狀態 |
(可選)開啟ARP報文限速日誌功能 |
arp rate-limit log enable |
缺省情況下,設備的ARP報文限速日誌功能處於關閉狀態 |
(可選)配置當設備收到的ARP報文速率超過用戶設定的限速值時,設備發送告警或日誌的時間間隔 |
arp rate-limit log interval interval |
缺省情況下,當設備收到的ARP報文速率超過用戶設定的限速值時,設備發送告警或日誌的時間間隔為60秒 |
進入二層以太網接口/二層聚合接口視圖/三層以太網接口/三層聚合接口視圖 |
interface interface-type interface-number |
- |
開啟ARP報文限速功能,並設置ARP報文限速速率 |
arp rate-limit [ pps ] |
缺省情況下,ARP報文限速功能處於開啟狀態 |
如果開啟了ARP報文限速的告警和日誌功能,並在二層聚合接口上開啟了ARP報文限速功能,則隻要聚合成員接口上的ARP報文速率超過用戶設定的限速值,就會發送告警和日誌信息。
本特性根據ARP報文的源MAC地址對上送CPU的ARP報文進行統計,在5秒內,如果收到同一源MAC地址(源MAC地址固定)的ARP報文超過一定的閾值,則認為存在攻擊,係統會將此MAC地址添加到攻擊檢測表項中。當開啟了ARP日誌信息功能(配置arp check log enable命令),且在該攻擊檢測表項老化之前,如果設置的檢查模式為過濾模式,則會打印日誌信息並且將該源MAC地址發送的ARP報文過濾掉;如果設置的檢查模式為監控模式,則隻打印日誌信息,不會將該源MAC地址發送的ARP報文過濾掉。關於ARP日誌信息功能的詳細描述,請參見“三層技術-IP業務配置指導”中的“ARP”。
切換源MAC地址固定的ARP攻擊檢查模式時,如果從監控模式切換到過濾模式,過濾模式馬上生效;如果從過濾模式切換到監控模式,已生成的攻擊檢測表項,到表項老化前還會繼續按照過濾模式處理。
對於網關或一些重要的服務器,可能會發送大量ARP報文,為了使這些ARP報文不被過濾掉,可以將這類設備的MAC地址配置成保護MAC地址,這樣,即使該設備存在攻擊也不會被檢測或過濾。
配置步驟 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟源MAC地址固定的ARP攻擊檢測功能,並選擇檢查模式 |
arp source-mac { filter | monitor } |
缺省情況下,源MAC地址固定的ARP攻擊檢測功能處於關閉狀態 |
配置源MAC地址固定的ARP報文攻擊檢測的閾值 |
arp source-mac threshold threshold-value |
缺省情況下,源MAC地址固定的ARP報文攻擊檢測的閾值為30 |
配置源MAC地址固定的ARP攻擊檢測表項的老化時間 |
arp source-mac aging-time time |
缺省情況下,源MAC地址固定的ARP攻擊檢測表項的老化時間為300秒,即5分鍾 |
(可選)配置保護MAC地址 |
arp source-mac exclude-mac mac-address&<1-10> |
缺省情況下,未配置任何保護MAC地址 |
對於已添加到源MAC地址固定的ARP攻擊檢測表項中的MAC地址,在等待設置的老化時間後,會重新恢複成普通MAC地址。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後源MAC地址固定的ARP攻擊檢測的運行情況,通過查看顯示信息驗證配置的效果。
表1-7 源MAC地址固定的ARP攻擊檢測顯示和維護
操作 |
命令 |
顯示檢測到的源MAC地址固定的ARP攻擊檢測表項(獨立運行模式) |
display arp source-mac { slot slot-number | interface interface-type interface-number } |
顯示檢測到的源MAC地址固定的ARP攻擊檢測表項(IRF模式) |
display arp source-mac { chassis chassis-number slot slot-number | interface interface-type interface-number } |
某局域網內客戶端通過網關與外部網絡通信,網絡環境如圖1-2所示。
網絡管理員希望能夠防止因惡意用戶對網關發送大量ARP報文,造成設備癱瘓,並導致其它用戶無法正常地訪問外部網絡;同時,對於正常的大量ARP報文仍然會進行處理。
圖1-2 源MAC地址固定的ARP攻擊檢測功能配置組網圖
如果惡意用戶發送大量報文的源MAC地址是使用客戶端合法的MAC地址,並且源MAC是固定的,可以在網關上進行如下配置:
· 開啟源MAC固定ARP攻擊檢測功能,並選擇過濾模式;
· 配置源MAC固定ARP報文攻擊檢測的閾值;
· 配置源MAC固定的ARP攻擊檢測表項的老化時間;
· 配置服務器的MAC為保護MAC,使服務器可以發送大量ARP報文。
# 開啟源MAC固定ARP攻擊檢測功能,並選擇過濾模式。
<Device> system-view
[Device] arp source-mac filter
# 配置源MAC固定ARP報文攻擊檢測閾值為30個。
[Device] arp source-mac threshold 30
# 配置源MAC地址固定的ARP攻擊檢測表項的老化時間為60秒。
[Device] arp source-mac aging-time 60
# 配置源MAC固定攻擊檢查的保護MAC地址為0012-3f86-e94c。
[Device] arp source-mac exclude-mac 0012-3f86-e94c
ARP報文源MAC地址一致性檢查功能主要應用於網關設備上,防禦以太網數據幀首部中的源MAC地址和ARP報文中的源MAC地址不同的ARP攻擊。
配置本特性後,網關設備在進行ARP學習前將對ARP報文進行檢查。如果以太網數據幀首部中的源MAC地址和ARP報文中的源MAC地址不同,則認為是攻擊報文,將其丟棄;否則,繼續進行ARP學習。
表1-8 開啟ARP報文源MAC地址一致性檢查功能
配置步驟 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP報文源MAC地址一致性檢查功能 |
arp valid-check enable |
缺省情況下,ARP報文源MAC地址一致性檢查功能處於關閉狀態 |
ARP的主動確認功能主要應用於網關設備上,防止攻擊者仿冒用戶欺騙網關設備。
配置ARP主動確認功能後,設備在新建或更新ARP表項前需進行主動確認,防止產生錯誤的ARP表項。
配置嚴格模式後,新建ARP表項前,ARP主動確認功能會執行更嚴格的檢查:
· 收到目標IP地址為自己的ARP請求報文時,設備會發送ARP應答報文,但不建立ARP表項;
· 收到ARP應答報文時,需要確認本設備是否對該報文中的源IP地址發起過ARP解析:若發起過解析,解析成功後則設備啟動主動確認功能,主動確認流程成功完成後,設備可以建立該表項;若未發起過解析,則設備丟棄該報文。
表1-9 開啟ARP主動確認功能
配置步驟 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP主動確認功能 |
arp active-ack [ strict ] enable |
缺省情況下,ARP主動確認功能處於關閉狀態 |
在嚴格模式下,隻有ARP黑洞路由功能處於開啟狀態,ARP主動確認功能才能生效。
所謂授權ARP(Authorized ARP),就是動態學習ARP的過程中,隻有和DHCP服務器生成的租約或DHCP中繼生成的安全表項一致的ARP報文才能夠被學習。關於DHCP服務器和DHCP中繼的介紹,請參見“三層技術-IP業務配置指導”中的“DHCP服務器”和“DHCP中繼”。
配置接口的授權ARP功能後,係統會禁止該接口學習動態ARP表項,可以防止用戶仿冒其他用戶的IP地址或MAC地址對網絡進行攻擊,保證隻有合法的用戶才能使用網絡資源,增加了網絡的安全性。
表1-10 開啟授權ARP功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入三層以太網接口、三層以太網子接口、三層聚合接口、三層聚合子接口、VLAN接口視圖 |
interface interface-type interface-number |
- |
開啟授權ARP功能 |
arp authorized enable |
缺省情況下,接口下的授權ARP功能處於關閉狀態 |
· Device A是DHCP服務器,為同一網段中的客戶端動態分配IP地址,地址池網段為10.1.1.0/24。通過在接口HundredGigE1/0/1上開啟授權ARP功能來保證客戶端的合法性。
· Device B是DHCP客戶端,通過DHCP協議從DHCP服務器獲取IP地址。
圖1-3 授權ARP功能典型配置組網圖
(1) 配置Device A
# 配置接口的IP地址。
<DeviceA> system-view
[DeviceA] interface hundredgige 1/0/1
[DeviceA-HundredGigE1/0/1] ip address 10.1.1.1 24
[DeviceA-HundredGigE1/0/1] quit
# 開啟DHCP服務。
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 10.1.1.0 mask 255.255.255.0
[DeviceA-dhcp-pool-1] quit
# 進入三層以太網接口視圖。
[DeviceA] interface hundredgige 1/0/1
# 開啟接口授權ARP功能。
[DeviceA-HundredGigE1/0/1] arp authorized enable
[DeviceA-HundredGigE1/0/1] quit
(2) 配置Device B
<DeviceB> system-view
[DeviceB] interface hundredgige 1/0/1
[DeviceB-HundredGigE1/0/1] ip address dhcp-alloc
[DeviceB-HundredGigE1/0/1] quit
(3) Device B獲得Device A分配的IP後,在Device A查看授權ARP信息。
[DeviceA] display arp all
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP Address MAC Address VID Interface/Link ID Aging Type
10.1.1.2 0012-3f86-e94c N/A HGE1/0/1 16 D
從以上信息可以獲知Device A為Device B動態分配的IP地址為10.1.1.2。
此後,Device B與Device A通信時采用的IP地址、MAC地址等信息必須和授權ARP表項中的一致,否則將無法通信,保證了客戶端的合法性。
· Device A是DHCP服務器,為不同網段中的客戶端動態分配IP地址,地址池網段為10.10.1.0/24。
· Device B是DHCP中繼,通過在接口HundredGigE1/0/2上開啟授權ARP功能來保證客戶端的合法性。
· Device C是DHCP客戶端,通過DHCP中繼從DHCP服務器獲取IP地址。
圖1-4 授權ARP功能典型配置組網圖
(1) 配置Device A
# 配置接口的IP地址。
<DeviceA> system-view
[DeviceA] interface hundredgige 1/0/1
[DeviceA-HundredGigE1/0/1] ip address 10.1.1.1 24
[DeviceA-HundredGigE1/0/1] quit
# 開啟DHCP服務。
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 1
[DeviceA-dhcp-pool-1] network 10.10.1.0 mask 255.255.255.0
[DeviceA-dhcp-pool-1] gateway-list 10.10.1.1
[DeviceA-dhcp-pool-1] quit
[DeviceA] ip route-static 10.10.1.0 24 10.1.1.2
(2) 配置Device B
# 開啟DHCP服務。
<DeviceB> system-view
[DeviceB] dhcp enable
# 配置接口的IP地址。
[DeviceB] interface hundredgige 1/0/1
[DeviceB-HundredGigE1/0/1] ip address 10.1.1.2 24
[DeviceB-HundredGigE1/0/1] quit
[DeviceB] interface hundredgige 1/0/2
[DeviceB-HundredGigE1/0/2] ip address 10.10.1.1 24
# 配置HundredGigE1/0/2接口工作在DHCP中繼模式。
[DeviceB-HundredGigE1/0/2] dhcp select relay
# 配置DHCP服務器的地址。
[DeviceB-HundredGigE1/0/2] dhcp relay server-address 10.1.1.1
# 開啟接口授權ARP功能。
[DeviceB-HundredGigE1/0/2] arp authorized enable
[DeviceB-HundredGigE1/0/2] quit
# 開啟DHCP中繼用戶地址表項記錄功能。
[DeviceB] dhcp relay client-information record
(3) 配置Device C
<DeviceC> system-view
[DeviceC] ip route-static 10.1.1.0 24 10.10.1.1
[DeviceC] interface hundredgige 1/0/2
[DeviceC-HundredGigE1/0/2] ip address dhcp-alloc
[DeviceC-HundredGigE1/0/2] quit
(1) Device C獲得Device A分配的IP後,在Device B查看授權ARP信息。
[DeviceB] display arp all
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP Address MAC Address VID Interface/Link ID Aging Type
10.10.1.2 0012-3f86-e94c N/A HGE1/0/2 16 D
從以上信息可以獲知Device A為Device C動態分配的IP地址為10.10.1.2。
此後,Device C與Device B通信時采用的IP地址、MAC地址等信息必須和授權ARP表項中的一致,否則將無法通信,保證了客戶端的合法性。
ARP Detection功能主要應用於接入設備上,對於合法用戶的ARP報文進行正常轉發,否則直接丟棄,從而防止仿冒用戶、仿冒網關的攻擊。
ARP Detection包含三個功能:用戶合法性檢查、ARP報文有效性檢查、ARP報文強製轉發。
對於ARP信任接口,不進行用戶合法性檢查;對於ARP非信任接口,需要進行用戶合法性檢查,以防止仿冒用戶的攻擊。
用戶合法性檢查是根據ARP報文中源IP地址和源MAC地址檢查用戶是否是所屬VLAN所在接口上的合法用戶,包括基於IP Source Guard靜態綁定表項的檢查、基於DHCP Snooping表項的檢查。設備收到ARP報文後,進行基於IP Source Guard靜態綁定表項的檢查和基於DHCP Snooping表項的檢查的檢查。隻要符合二者中的任何一個,就認為該ARP報文合法,進行轉發。如果所有檢查都沒有找到匹配的表項,則認為是非法報文,直接丟棄。
IP Source Guard靜態綁定表項通過ip source binding命令生成,詳細介紹請參見“安全配置指導”中的“IP Source Guard”。DHCP Snooping安全表項通過DHCP Snooping功能自動生成,詳細介紹請參見“三層技術-IP業務配置指導”中的“DHCP Snooping”。
對於ARP信任接口,不進行報文有效性檢查;對於ARP非信任接口,需要根據配置對MAC地址和IP地址不合法的報文進行過濾。可以選擇配置源MAC地址、目的MAC地址或IP地址檢查模式。
· 源MAC地址的檢查模式:會檢查ARP報文中的源MAC地址和以太網報文頭中的源MAC地址是否一致,一致則認為有效,否則丟棄報文;
· 目的MAC地址的檢查模式(隻針對ARP應答報文):會檢查ARP應答報文中的目的MAC地址是否為全0或者全1,是否和以太網報文頭中的目的MAC地址一致。全0、全1、不一致的報文都是無效的,需要被丟棄;
· IP地址檢查模式:會檢查ARP報文中的源IP或目的IP地址,如全1、或者組播IP地址都是不合法的,需要被丟棄。對於ARP應答報文,源IP和目的IP地址都進行檢查;對於ARP請求報文,隻檢查源IP地址。
對於從ARP信任接口接收到的ARP報文不受此功能影響,按照正常流程進行轉發;對於從ARP非信任接口接收到的並且已經通過用戶合法性檢查的ARP報文的處理過程如下:
· 對於ARP請求報文,通過信任接口進行轉發;
· 對於ARP應答報文,首先按照報文中的以太網目的MAC地址進行轉發,若在MAC地址表中沒有查到目的MAC地址對應的表項,則將此ARP應答報文通過信任接口進行轉發。
· ARP報文強製轉發功能不支持目的MAC地址為多端口MAC的情況。
· 如果既配置了報文有效性檢查功能,又配置了用戶合法性檢查功能,那麼先進行報文有效性檢查,然後進行用戶合法性檢查。
配置用戶合法性檢查功能時,必須配置IP Source Guard靜態綁定表項或DHCP Snooping功能,否則所有從ARP非信任接口收到的ARP報文都將被丟棄。
在配置IP Source Guard靜態綁定表項時,必須指定VLAN參數,否則ARP報文將無法通過基於IP Source Guard靜態綁定表項的檢查。
表1-11 配置用戶合法性檢查功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
開啟ARP Detection功能 |
arp detection enable |
缺省情況下,ARP Detection功能處於關閉狀態,即不進行用戶合法性檢查 |
退回係統視圖 |
quit |
- |
進入二層以太網接口或者二層聚合接口視圖 |
interface interface-type interface-number |
- |
(可選)將不需要進行用戶合法性檢查的接口配置為ARP信任接口 |
arp detection trust |
缺省情況下,接口為ARP非信任接口 |
表1-12 配置ARP報文有效性檢查功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
開啟ARP Detection功能 |
arp detection enable |
缺省情況下,ARP Detection功能處於關閉狀態 |
退回係統視圖 |
quit |
- |
開啟ARP報文有效性檢查功能 |
arp detection validate { dst-mac | ip | src-mac } * |
缺省情況下,ARP報文有效性檢查功能處於關閉狀態 |
進入二層以太網接口或者二層聚合接口視圖 |
interface interface-type interface-number |
- |
(可選)將不需要進行ARP報文有效性檢查的接口配置為ARP信任接口 |
arp detection trust |
缺省情況下,接口為ARP非信任接口 |
進行下麵的配置之前,需要保證已經配置了用戶合法性檢查功能。
表1-13 配置ARP報文強製轉發功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
開啟ARP報文強製轉發功能 |
arp restricted-forwarding enable |
缺省情況下,ARP報文強製轉發功能處於關閉狀態 |
配置ARP Detection日誌功能後,設備在檢測到非法ARP報文時將生成檢測日誌,日誌內容包括:
· 受到攻擊的端口編號;
· 非法ARP報文的源IP地址;
· 丟棄的ARP報文總數。
表1-14 開啟ARP Detection日誌功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP Detection日誌功能 |
arp detection log enable |
缺省情況下,ARP Detection日誌功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP Detection的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP Detection的統計信息。
表1-15 ARP Detection顯示和維護
操作 |
命令 |
顯示開啟了ARP Detection功能的VLAN |
display arp detection |
顯示ARP Detection功能報文檢查的丟棄計數的統計信息 |
display arp detection statistics [ interface interface-type interface-number ] |
清除ARP Detection的統計信息 |
reset arp detection statistics [ interface interface-type interface-number ] |
· Device A是DHCP服務器;
· Host A是DHCP客戶端;用戶Host B的IP地址是10.1.1.6,MAC地址是0001-0203-0607。
· Device B是DHCP Snooping設備,在VLAN 10內配置ARP Detection功能,對DHCP客戶端和用戶進行用戶合法性檢查和報文有效性檢查。
(1) 配置組網圖中所有接口屬於VLAN及Device A對應VLAN接口的IP地址(略)
(2) 配置DHCP服務器Device A
# 配置DHCP地址池0。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 0
[DeviceA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
(3) 配置DHCP客戶端Host A和用戶Host B(略)
(4) 配置設備Device B
# 開啟DHCP Snooping功能。
<DeviceB> system-view
[DeviceB] dhcp snooping enable
[DeviceB] interface hundredgige 1/0/3
[DeviceB-HundredGigE1/0/3] dhcp snooping trust
[DeviceB-HundredGigE1/0/3] quit
# 在接口HundredGigE1/0/1上開啟DHCP Snooping表項記錄功能。
[DeviceB] interface hundredgige 1/0/1
[DeviceB-HundredGigE1/0/1] dhcp snooping binding record
[DeviceB-HundredGigE1/0/1] quit
# 開啟ARP Detection功能,對用戶合法性進行檢查。
[DeviceB] vlan 10
[DeviceB-vlan10] arp detection enable
# 接口狀態缺省為非信任狀態,上行接口配置為信任狀態,下行接口按缺省配置。
[DeviceB-vlan10] interface hundredgige 1/0/3
[DeviceB-HundredGigE1/0/3] arp detection trust
[DeviceB-HundredGigE1/0/3] quit
# 在接口HundredGigE1/0/2上配置IP Source Guard靜態綁定表項。
[DeviceB] interface hundredgige 1/0/2
[DeviceB-HundredGigE1/0/2] ip source binding ip-address 10.1.1.6 mac-address 0001-0203-0607 vlan 10
[DeviceB-HundredGigE1/0/2] quit
# 配置進行報文有效性檢查。
[DeviceB] arp detection validate dst-mac ip src-mac
完成上述配置後,對於接口HundredGigE1/0/1和HundredGigE1/0/2收到的ARP報文,先進行報文有效性檢查,然後基於IP Source Guard靜態綁定表項、DHCP Snooping安全表項進行用戶合法性檢查。
· Device A是DHCP服務器。
· Host A是DHCP客戶端;用戶Host B的IP地址是10.1.1.6,MAC地址是0001-0203-0607。
· Host A和Host B在設備Device B上端口隔離,但是均和網關Device A相通,HundredGigE1/0/1、HundredGigE1/0/2、HundredGigE1/0/3均屬於VLAN 10。
· Device B是DHCP Snooping設備,在VLAN 10內開啟ARP Detection功能,對DHCP客戶端和用戶進行保護,保證合法用戶可以正常轉發報文,否則丟棄。
要求:Device B在開啟ARP Detection功能後,對於ARP廣播請求報文仍然能夠進行端口隔離。
圖1-6 配置ARP報文強製轉發組網圖
(1) 配置組網圖中所有接口屬於VLAN及Device A對應VLAN接口的IP地址(略)
(2) 配置DHCP服務器Device A
# 配置DHCP地址池0。
<DeviceA> system-view
[DeviceA] dhcp enable
[DeviceA] dhcp server ip-pool 0
[DeviceA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
(3) 配置DHCP客戶端Host A和用戶Host B(略)
(4) 配置設備Device B
# 開啟DHCP Snooping功能。
<DeviceB> system-view
[DeviceB] dhcp snooping enable
[DeviceB] interface hundredgige 1/0/3
[DeviceB-HundredGigE1/0/3] dhcp snooping trust
[DeviceB-HundredGigE1/0/3] quit
# 開啟ARP Detection功能,對用戶合法性進行檢查。
[DeviceB] vlan 10
[DeviceB-vlan10] arp detection enable
# 配置上行接口為信任狀態,下行接口為缺省配置(非信任狀態)。
[DeviceB-vlan10] interface hundredgige 1/0/3
[DeviceB-HundredGigE1/0/3] arp detection trust
[DeviceB-HundredGigE1/0/3] quit
# 在接口HundredGigE1/0/2上配置IP Source Guard靜態綁定表項。
[DeviceB] interface hundredgige 1/0/2
[DeviceB-HundredGigE1/0/2] ip source binding ip-address 10.1.1.6 mac-address 0001-0203-0607 vlan 10
[DeviceB-HundredGigE1/0/2] quit
# 配置進行報文有效性檢查。
[DeviceB] arp detection validate dst-mac ip src-mac
# 配置端口隔離。
[DeviceB] port-isolate group 1
[DeviceB] interface hundredgige 1/0/1
[DeviceB-HundredGigE1/0/1] port-isolate enable group 1
[DeviceB-HundredGigE1/0/1] quit
[DeviceB] interface hundredgige 1/0/2
[DeviceB-HundredGigE1/0/2] port-isolate enable group 1
[DeviceB-HundredGigE1/0/2] quit
完成上述配置後,對於接口HundredGigE1/0/1和HundredGigE1/0/2收到的ARP報文,先進行報文有效性檢查,然後基於IP Source Guard靜態綁定表項、DHCP Snooping安全表項進行用戶合法性檢查。但是,Host A發往Device A的ARP廣播請求報文,由於通過了用戶合法性檢查,所以能夠被轉發到Host B,端口隔離功能失效。
# 開啟ARP報文強製轉發功能。
[DeviceB] vlan 10
[DeviceB-vlan10] arp restricted-forwarding enable
[DeviceB-vlan10] quit
此時,Host A發往Device A的合法ARP廣播請求報文隻能通過信任接口HundredGigE1/0/3轉發,不能被Host B接收到,端口隔離功能可以正常工作。
ARP自動掃描功能一般與ARP固化功能配合使用:
· 配置ARP自動掃描功能後,設備會對局域網內的鄰居自動進行掃描(向鄰居發送ARP請求報文,獲取鄰居的MAC地址,從而建立動態ARP表項)。
· ARP固化用來將當前的ARP動態表項(包括ARP自動掃描生成的動態ARP表項)轉換為靜態ARP表項。通過對動態ARP表項的固化,可以有效防止攻擊者修改ARP表項。
建議在網吧這種環境穩定的小型網絡中使用這兩個功能。
開啟ARP自動掃描、固化功能時,需要注意:
· 對於已存在ARP表項的IP地址不進行掃描。
· 掃描操作可能比較耗時,用戶可以通過<Ctrl_C>來終止掃描(在終止掃描時,對於已經收到的鄰居應答,會建立該鄰居的動態ARP表項)。
· 固化後的靜態ARP表項與配置產生的靜態ARP表項相同。
· 固化生成的靜態ARP表項數量同樣受到設備可以支持的靜態ARP表項數目的限製,由於靜態ARP表項數量的限製可能導致隻有部分動態ARP表項被固化。
表1-16 開啟ARP自動掃描、固化功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟ARP自動掃描功能 |
arp scan [ start-ip-address to end-ip-address ] |
- |
退回係統視圖 |
quit |
- |
將設備上的動態ARP表項轉化成靜態ARP表項 |
arp fixup |
- |
· 通過arp fixup命令將當前的動態ARP表項轉換為靜態ARP表項後,後續學習到的動態ARP表項可以通過再次執行arp fixup命令進行固化。
· 通過固化生成的靜態ARP表項,可以通過命令行undo arp ip-address [ vpn-instance-name ]逐條刪除,也可以通過命令行reset arp all或reset arp static全部刪除。
在設備上不與網關相連的接口上配置此功能,可以防止偽造網關攻擊。
在接口上開啟此功能後,當接口收到ARP報文時,將檢查ARP報文的源IP地址是否和配置的被保護網關的IP地址相同。如果相同,則認為此報文非法,將其丟棄;否則,認為此報文合法,繼續進行後續處理。
開啟ARP網關保護功能,需要注意:
· 每個接口最多支持配置8個被保護的網關IP地址。
· 不能在同一接口下同時配置命令arp filter source和arp filter binding。
· 本功能與ARP Detection、ARP Snooping和ARP快速應答功能配合使用時,先進行本功能檢查,本功能檢查通過後才會進行其他配合功能的處理。
表1-17 開啟ARP網關保護功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入二層以太網接口/二層聚合接口視圖 |
interface interface-type interface-number |
- |
開啟ARP網關保護功能,配置被保護的網關IP地址 |
arp filter source ip-address |
缺省情況下,ARP網關保護功能處於關閉狀態 |
與Device B相連的Host B進行了仿造網關Device A(IP地址為10.1.1.1)的ARP攻擊,導致與Device B相連的設備與網關Device A通信時錯誤發往了Host B。
要求:通過配置防止這種仿造網關攻擊。
圖1-7 配置ARP網關保護功能組網圖
# 在Device B上開啟ARP網關保護功能。
<DeviceB> system-view
[DeviceB] interface hundredgige 1/0/1
[DeviceB-HundredGigE1/0/1] arp filter source 10.1.1.1
[DeviceB-HundredGigE1/0/1] quit
[DeviceB] interface hundredgige 1/0/2
[DeviceB-HundredGigE1/0/2] arp filter source 10.1.1.1
完成上述配置後,對於Host B發送的偽造的源IP地址為網關IP地址的ARP報文將會被丟棄,不會再被轉發。
本功能用來限製接口下允許通過的ARP報文,可以防止仿冒網關和仿冒用戶的攻擊。
在接口上配置此功能後,當接口收到ARP報文時,將檢查ARP報文的源IP地址和源MAC地址是否和允許通過的IP地址和MAC地址相同:
· 如果相同,則認為此報文合法,繼續進行後續處理;
· 如果不相同,則認為此報文非法,將其丟棄。
開啟ARP過濾保護功能,需要注意:
· 每個接口最多支持配置8組允許通過的ARP報文的源IP地址和源MAC地址。
· 不能在同一接口下同時配置命令arp filter source和arp filter binding。
· 本功能與ARP Detection、ARP Snooping和ARP快速應答功能配合使用時,先進行本功能檢查,本功能檢查通過後才會進行其他配合功能的處理。
表1-18 開啟ARP過濾保護功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入二層以太網接口/二層聚合接口視圖 |
interface interface-type interface-number |
- |
開啟ARP過濾保護功能,配置允許通過的ARP報文的源IP地址和源MAC地址 |
arp filter binding ip-address mac-address |
缺省情況下,ARP過濾保護功能處於關閉狀態 |
· Host A的IP地址為10.1.1.2,MAC地址為000f-e349-1233。
· Host B的IP地址為10.1.1.3,MAC地址為000f-e349-1234。
· 限製Device B的HundredGigE1/0/1、HundredGigE1/0/2接口隻允許指定用戶接入,不允許其他用戶接入。
圖1-8 配置ARP過濾保護功能組網圖
# 開啟Device B的ARP過濾保護功能。
<DeviceB> system-view
[DeviceB] interface hundredgige 1/0/1
[DeviceB-HundredGigE1/0/1] arp filter binding 10.1.1.2 000f-e349-1233
[DeviceB-HundredGigE1/0/1] quit
[DeviceB] interface hundredgige 1/0/2
[DeviceB-HundredGigE1/0/2] arp filter binding 10.1.1.3 000f-e349-1234
完成上述配置後,接口HundredGigE1/0/1收到Host A發出的源IP地址為10.1.1.2、源MAC地址為000f-e349-1233的ARP報文將被允許通過,其他ARP報文將被丟棄;接口HundredGigE1/0/2收到Host B發出的源IP地址為10.1.1.3、源MAC地址為000f-e349-1234的ARP報文將被允許通過,其他ARP報文將被丟棄。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!