17-ARP攻擊防禦配置
本章節下載: 17-ARP攻擊防禦配置 (522.36 KB)
設備提供了多種ARP攻擊防禦技術對局域網中的ARP攻擊和ARP病毒進行防範、檢測和解決。常見的ARP攻擊方式包括:
· 攻擊者通過向設備發送大量目標IP地址不能解析的IP報文,使得設備試圖反複地對目標IP地址進行解析,導致CPU負荷過重及網絡流量過大。
· 攻擊者向設備發送大量ARP報文,對設備的CPU形成衝擊。
· 攻擊者可以仿冒用戶、仿冒網關發送偽造的ARP報文,使網關或主機的ARP表項不正確,從而對網絡進行攻擊。
如下所有配置均為可選,請根據實際情況選擇配置。
· 防止泛洪攻擊
· 防止仿冒用戶、仿冒網關攻擊
如果網絡中有主機通過向設備發送大量目標IP地址不能解析的IP報文來攻擊設備,則會造成下麵的危害:
· 設備向目的網段發送大量ARP請求報文,加重目的網段的負載。
· 設備會試圖反複地對目標IP地址進行解析,增加了CPU的負擔。
為避免這種IP報文攻擊所帶來的危害,設備提供了下列兩個功能:
· ARP源抑製功能:如果發送攻擊報文的源是固定的,可以采用ARP源抑製功能。
· ARP黑洞路由功能:無論發送攻擊報文的源是否固定,都可以采用ARP黑洞路由功能。
開啟該功能後,如果網絡中每5秒內從某IP地址向設備某接口發送目的IP地址不能解析的IP報文超過了設置的閾值,則設備將不再處理由此IP地址發出的IP報文直至該5秒結束,從而避免了惡意攻擊所造成的危害。
對於設備信任的網關或服務器,可以通過配置ARP源抑製功能的規則,將受信任的IP地址配置為ARP源抑製功能規則的例外地址。當設備上配置了ARP源抑製功能的規則之後,設備會一直允許處理由此IP地址發出的IP報文。
隻有配置了arp source-suppression enable命令後,通過命令arp source-suppression rule配置的規則才生效。
(1) 進入係統視圖。
system-view
(2) 開啟ARP源抑製功能。
arp source-suppression enable
缺省情況下,ARP源抑製功能處於關閉狀態。
(3) 配置ARP源抑製的閾值。
arp source-suppression limit limit-value
缺省情況下,ARP源抑製的閾值為10。
(4) 配置ARP源抑製功能的規則。
arp source-suppression rule rule-id permit ip-address [ mask ]
缺省情況下,未配置ARP源抑製功能的規則。
開啟該功能後,一旦接收到目標IP地址不能解析的IP報文,設備立即產生一個黑洞路由,並同時發起ARP主動探測,如果在黑洞路由老化時間內ARP解析成功,則設備馬上刪除此黑洞路由並開始轉發去往該地址的報文,否則設備直接丟棄該報文。在刪除黑洞路由之前,後續去往該地址的IP報文都將被直接丟棄。用戶可以通過命令配置ARP請求報文的發送次數和發送時間間隔。等待黑洞路由老化時間過後,如有報文觸發則再次發起解析,如果解析成功則進行轉發,否則仍然產生一個黑洞路由將去往該地址的報文丟棄。這種方式能夠有效地防止IP報文的攻擊,減輕CPU的負擔。
當用戶配置的ARP主動探測總時長(發送次數×發送時間間隔)大於黑洞路由老化時間時,係統隻會取小於等於該老化時間的最大值作為真正的探測總時長。
當發起ARP主動探測過程結束且生成的黑洞路由還未老化時,設備無法主動對黑洞路由對應的設備進行ARP解析,為了緩解該問題,用戶可以配置較大的發送ARP請求報文次數。
(1) 進入係統視圖。
system-view
(2) 開啟ARP黑洞路由功能。
arp resolving-route enable
缺省情況下,ARP黑洞路由功能處於開啟狀態。
(3) (可選)配置發送ARP請求報文的次數。
arp resolving-route probe-count count
缺省情況下,發送ARP請求報文的次數為3次。
(4) (可選)配置發送ARP請求報文的時間間隔。
arp resolving-route probe-interval interval
缺省情況下,發送ARP請求報文的時間間隔為1秒。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP源抑製的運行情況,通過查看顯示信息驗證配置的效果。
表1-1 ARP防止IP報文攻擊顯示和維護
操作 |
命令 |
顯示ARP源抑製的配置信息 |
display arp source-suppression |
顯示ARP源抑製表項 |
display arp source-suppression cache [ slot slot-number ] |
某局域網內存在兩個區域:研發區和辦公區,分別屬於VLAN 10和VLAN 20,通過接入交換機連接到網關Device,如圖1-1所示。
網絡管理員在監控網絡時發現辦公區存在大量ARP請求報文,通過分析認為存在IP泛洪攻擊,為避免這種IP報文攻擊所帶來的危害,可采用ARP源抑製功能和ARP黑洞路由功能。
圖1-1 ARP防止IP報文攻擊配置組網圖
· 如果發送攻擊報文的源地址是固定的,需要配置ARP源抑製功能
# 開啟ARP源抑製功能,並配置ARP源抑製的閾值為100。即當每5秒內的ARP請求報文的流量超過100後,對於由此IP地址發出的IP報文,設備不允許其觸發ARP請求,直至5秒後再處理。
<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報文限速功能來控製接口收到ARP報文的速率。
設備上配置ARP報文限速功能後,當接口上單位時間收到的ARP報文數量超過用戶設定的限速值,超過限速部分的報文會被丟棄。設備還將進行如下操作:
· 當開啟了ARP模塊的告警功能後,設備將這個時間間隔內的超速峰值作為告警信息發送出去,生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。有關告警信息的詳細介紹請參見“網絡管理和監控命令參考”中的SNMP。
· 當開啟了ARP限速日誌功能後,設備將這個時間間隔內的超速峰值作為日誌的速率值發送到設備的信息中心,通過設置信息中心的參數,最終決定日誌報文的輸出規則(即是否允許輸出以及輸出方向)。有關信息中心參數的配置請參見“網絡管理和監控配置指導”中的“信息中心”。
· 建議用戶在配置了ARP Detection、ARP Snooping,或者發現有ARP泛洪攻擊的情況下,配置ARP報文限速功能。
· 為防止過多的告警和日誌信息幹擾用戶工作,用戶可以設定較大的信息發送時間間隔。當用戶設定的時間間隔超時時,設備執行發送告警或日誌的操作。
· 如果開啟了ARP報文限速的告警和日誌功能,並在聚合接口上開啟了ARP報文限速功能,則隻要聚合成員接口上的ARP報文速率超過用戶設定的限速值,就會發送告警和日誌信息。
· 在接口下配置ARP報文限速功能,以太網接口視圖下的配置隻對當前端口生效;聚合接口視圖下的配置隻對當前接口生效;聚合成員端口上的配置,隻有當成員端口退出聚合組後才能生效。
(1) 進入係統視圖。
system-view
(2) (可選)開啟ARP模塊的告警功能。
snmp-agent trap enable arp [ rate-limit ]
缺省情況下,ARP模塊的告警功能處於關閉狀態。
(3) (可選)開啟ARP報文限速日誌功能。
arp rate-limit log enable
缺省情況下,設備的ARP報文限速日誌功能處於關閉狀態。
(4) (可選)配置當設備收到的ARP報文速率超過用戶設定的限速值時,設備發送告警或日誌的時間間隔。
arp rate-limit log interval interval
缺省情況下,當設備收到的ARP報文速率超過用戶設定的限速值時,設備發送告警或日誌的時間間隔為60秒。
(5) 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口和二層聚合接口視圖。
(6) 開啟ARP報文限速功能,並指定ARP報文限速速率。
arp rate-limit [ pps ]
缺省情況下,ARP報文限速功能處於開啟狀態。
本特性根據ARP報文的源MAC地址對上送CPU的ARP報文進行統計,在5秒內,如果收到同一源MAC地址(源MAC地址固定)的ARP報文超過一定的閾值,則認為存在攻擊,係統會將此MAC地址添加到攻擊檢測表項中。當開啟了源MAC地址固定的ARP攻擊檢測日誌信息功能,且在該攻擊檢測表項老化之前,如果設置的檢查模式為過濾模式,則會打印日誌信息並且將該源MAC地址發送的ARP報文過濾掉;如果設置的檢查模式為監控模式,則隻打印日誌信息,不會將該源MAC地址發送的ARP報文過濾掉。
對於已添加到源MAC地址固定的ARP攻擊檢測表項中的MAC地址,在等待設置的老化時間後,會重新恢複成普通MAC地址。
切換源MAC地址固定的ARP攻擊檢查模式時,如果從監控模式切換到過濾模式,過濾模式馬上生效;如果從過濾模式切換到監控模式,已生成的攻擊檢測表項,到表項老化前還會繼續按照過濾模式處理。
對於網關或一些重要的服務器,可能會發送大量ARP報文,為了使這些ARP報文不被過濾掉,可以將這類設備的MAC地址配置成保護MAC地址,這樣,即使該設備存在攻擊也不會被檢測或過濾。
(1) 進入係統視圖。
system-view
(2) 開啟源MAC地址固定的ARP攻擊檢測功能,並選擇檢查模式。
arp source-mac { filter | monitor }
缺省情況下,源MAC地址固定的ARP攻擊檢測功能處於關閉狀態。
(3) 配置源MAC地址固定的ARP報文攻擊檢測的閾值。
arp source-mac threshold threshold-value
缺省情況下,源MAC地址固定的ARP報文攻擊檢測的閾值為30。
(4) 配置源MAC地址固定的ARP攻擊檢測表項的老化時間。
arp source-mac aging-time time
缺省情況下,源MAC地址固定的ARP攻擊檢測表項的老化時間為300秒,即5分鍾。
(5) (可選)配置保護MAC地址。
arp source-mac exclude-mac mac-address&<1-10>
缺省情況下,未配置任何保護MAC地址。
(6) 開啟源MAC地址固定的ARP攻擊檢測日誌信息功能。
arp source-mac log enable
缺省情況下,源MAC地址固定的ARP攻擊檢測日誌信息功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後源MAC地址固定的ARP攻擊檢測的運行情況,通過查看顯示信息驗證配置的效果。
表1-2 源MAC地址固定的ARP攻擊檢測顯示和維護
操作 |
命令 |
顯示檢測到的源MAC地址固定的ARP攻擊檢測表項 |
display arp source-mac { interface interface-type interface-number [ slot slot-number ] | slot slot-number } |
某局域網內客戶端通過網關與外部網絡通信,網絡環境如圖1-2所示。
網絡管理員希望能夠防止因惡意用戶對網關Device發送大量ARP報文,造成設備Device癱瘓,並導致其它用戶無法正常地訪問外部網絡;同時,Device對於正常的大量ARP報文仍然會進行處理。
圖1-2 源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) 進入係統視圖。
system-view
(2) 開啟ARP報文源MAC地址一致性檢查功能。
arp valid-check enable
缺省情況下,ARP報文源MAC地址一致性檢查功能處於關閉狀態。
ARP的主動確認功能主要應用於網關設備上,防止攻擊者仿冒用戶欺騙網關設備。
ARP主動確認功能分為非嚴格模式和嚴格模式,這兩種模式的實現如下:
· 配置非嚴格模式的ARP主動確認功能時,處理方式如下:
¡ 收到目標IP地址為自己的ARP請求報文時,設備會發送ARP應答報文,但先不建立對應的表項。同時,設備立即向ARP請求報文的發送端IP地址發送ARP請求,在一個探測周期內如果收到發送端IP地址對應的設備回複的ARP應答報文,則建立ARP表項。
¡ 收到ARP應答報文時,需要確認本設備是否在當前探測時間周期內對該報文中的源IP地址發起過ARP請求:
- 若發起過請求,則設備建立該ARP表項;
- 若未發起過請求,則不建立ARP表項。同時,設備立即向ARP應答報文的發送端IP地址發送ARP請求,在一個探測周期內如果收到發送端IP地址對應的設備回複的ARP應答報文,則建立ARP表項。
· 配置嚴格模式的ARP主動確認功能時,處理方式如下:
¡ 收到目標IP地址為自己的ARP請求報文時,設備會發送ARP應答報文,但不建立ARP表項;
¡ 收到ARP應答報文時,需要確認本設備是否在當前探測時間周期內對該報文中的源IP地址發起過ARP請求:若發起過請求,則設備建立該ARP表項;若未發起過請求,則設備丟棄該報文,不建立表項。
(1) 進入係統視圖。
system-view
(2) 開啟ARP主動確認功能。
arp active-ack [ strict ] enable
缺省情況下,ARP主動確認功能處於關閉狀態。
在嚴格模式下,隻有ARP黑洞路由功能處於開啟狀態,ARP主動確認功能才能生效。
所謂授權ARP(Authorized ARP),就是動態學習ARP的過程中,隻有和DHCP服務器生成的租約或DHCP中繼生成的安全表項一致的ARP報文才能夠被學習。關於DHCP服務器和DHCP中繼的介紹,請參見“三層技術-IP業務配置指導”中的“DHCP服務器”和“DHCP中繼”。
配置接口的授權ARP功能後,可以防止用戶仿冒其他用戶的IP地址或MAC地址對網絡進行攻擊,保證隻有合法的用戶才能使用網絡資源,增加了網絡的安全性。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
支持的接口類型為VLAN接口視圖。
(3) 開啟授權ARP功能。
arp authorized enable
缺省情況下,接口下的授權ARP功能處於關閉狀態。
ARP Detection功能主要應用於接入設備上,通過檢測並丟棄非法用戶的ARP報文來防止仿冒用戶、仿冒網關的攻擊,具體包括以下幾個功能:
· 用戶合法性檢查;
· ARP報文有效性檢查;
· ARP報文強製轉發;
· ARP Detection忽略端口匹配檢查;
· ARP Detection日誌功能。
如果既配置了報文有效性檢查功能,又配置了用戶合法性檢查功能,那麼先進行報文有效性檢查,然後進行用戶合法性檢查。
ARP Detection功能與ARP Snooping功能不能同時配置,否則會導致ARP Snooping表項無法生成。
隻要在二層以太網接口或二層以太網接口所在的VLAN上開啟了ARP Detection功能,二層以太網網接口的ARP Detection功能就會被開啟;隻有將二層以太網接口和二層以太網接口所在的VLAN上的ARP Detection功能全部關閉後,接口上的ARP Detection功能才能被關閉。
在一個二層接口上同時配置arp detection enable命令和arp detection trust命令時,接口接收報文不會經過ARP Detection功能檢查。
對於ARP信任接口,不進行用戶合法性檢查;對於ARP非信任接口,需要進行用戶合法性檢查,以防止仿冒用戶的攻擊。
用戶合法性檢查是根據ARP報文中源IP地址和源MAC地址檢查用戶是否是所屬VLAN所在接口上的合法用戶,包括基於用戶合法性規則檢查、IP Source Guard靜態綁定表項的檢查、基於DHCP Snooping表項的檢查和基於802.1X安全表項的檢查。設備收到ARP報文後,首先進行基於用戶合法性規則檢查,如果找到與報文匹配的規則,則按照該規則對報文進行處理;如果未找到與報文匹配的規則,則繼續進行基於IP Source Guard靜態綁定表項的檢查、基於DHCP Snooping表項的檢查和基於802.1X安全表項的檢查:
· 隻要符合其中的任何一個,就認為該ARP報文合法,進行轉發。轉發時查詢報文目的IP地址對應的IP Source Guard靜態綁定表項、DHCP Snooping表項和802.1X安全表項:
¡ 如果查詢到其中的任何一個,且和源IP地址對應表項的接口不一致,則將報文從目的IP地址對應的表項中的接口發送出去;
¡ 如果查詢到其中的任何一個,且和源IP地址對應表項的接口一致,則將報文進行二層轉發;
¡ 如果未查到任何表項,則將報文進行二層轉發。
· 如果所有檢查都沒有找到匹配的表項,則認為是非法報文,直接丟棄。
IP Source Guard靜態綁定表項通過ip source binding命令生成,詳細介紹請參見“安全配置指導”中的“IP Source Guard”。DHCP Snooping安全表項通過DHCP Snooping功能自動生成,詳細介紹請參見“三層技術-IP業務配置指導”中的“DHCP Snooping”。
802.1X安全表項通過802.1X功能產生,802.1X用戶需要使用支持將IP地址上傳的客戶端,用戶通過了802.1X認證並且將IP地址上傳至配置ARP Detection的設備後,設備自動生成可用於ARP Detection的用戶合法性檢查的802.1X安全表項。802.1X的詳細介紹請參見“安全配置指導”中的“802.1X”。
配置用戶合法性檢查功能時,必須至少配置用戶合法性規則或者IP Source Guard靜態綁定表項、DHCP Snooping功能和802.1X功能四者之一,否則所有從ARP非信任接口收到的ARP報文都不會被正常轉發。
在配置IP Source Guard靜態綁定表項時,必須指定IP、MAC和VLAN參數,否則ARP報文將無法通過基於IP Source Guard靜態綁定表項的檢查。
(1) 進入係統視圖。
system-view
(2) 配置用戶合法性檢查規則。
arp detection rule rule-id { deny | permit } ip { ip-address [ mask ] | any } mac { mac-address [ mask ] | any } [ vlan vlan-id ]
缺省情況下,未配置用戶合法性檢查規則。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟ARP Detection功能。
arp detection enable
缺省情況下,ARP Detection功能處於關閉狀態,即不進行用戶合法性檢查。
(4) (可選)將不需要進行用戶合法性檢查的接口配置為ARP信任接口。
a. 退回係統視圖。
quit
b. 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口和二層聚合接口視圖。
c. 將不需要進行用戶合法性檢查的接口配置為ARP信任接口。
arp detection trust
缺省情況下,接口為ARP非信任接口。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口和二層聚合接口。
(3) 開啟ARP Detection功能。
arp detection enable
缺省情況下,ARP Detection功能處於關閉狀態,即不進行用戶合法性檢查。
對於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地址。
配置本功能前需保證已經配置了“1.9.3 用戶合法性檢查”。
(1) 進入係統視圖。
system-view
(2) 開啟ARP報文有效性檢查功能。
arp detection validate { dst-mac | ip | src-mac } *
缺省情況下,ARP報文有效性檢查功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟ARP Detection功能。
arp detection enable
缺省情況下,ARP Detection功能處於關閉狀態,即不進行報文有效性檢查。
(4) (可選)將不需要進行ARP報文有效性檢查的接口配置為ARP信任接口。
a. 退回係統視圖
quit
b. 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口和二層聚合接口。
c. 將不需要進行ARP報文有效性檢查的接口配置為ARP信任接口。
arp detection trust
缺省情況下,接口為ARP非信任接口。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口和二層聚合接口。
(3) 開啟ARP Detection功能。
arp detection enable
缺省情況下,ARP Detection功能處於關閉狀態,即不進行報文有效性檢查。
對於從ARP信任接口接收到的ARP報文不受此功能影響,按照正常流程進行轉發;對於從ARP非信任接口接收到的並且已經通過用戶合法性檢查的ARP報文的處理過程如下:
· 對於ARP請求報文,通過信任接口進行轉發;
· 對於ARP應答報文,首先按照報文中的以太網目的MAC地址進行轉發,若在MAC地址表中沒有查到目的MAC地址對應的表項,則將此ARP應答報文通過信任接口進行轉發。
ARP報文強製轉發功能不支持目的MAC地址為多端口MAC的情況。
配置本功能前需保證已經配置了“1.9.3 用戶合法性檢查”。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟ARP報文強製轉發功能。
arp restricted-forwarding enable
缺省情況下,ARP報文強製轉發功能處於關閉狀態。
設備開啟ARP Detection功能後,會對非信任端口執行用戶合法性檢查,包括基於IP Source Guard靜態綁定表項的檢查、基於DHCP Snooping安全表項的檢查、基於802.1X安全表項的檢查。使用這些表項進行檢查時,其中會檢查ARP報文入端口和表項中的端口是否匹配,如果不匹配則丟棄此報文。
開啟ARP Detection忽略端口匹配檢查功能後,ARP Detection在根據表項進行用戶合法性檢查時,會忽略ARP報文入端口和表項中的端口是否匹配的檢查。用戶合法性檢查通過後,則將報文進行二層轉發,不再查詢報文目的IP地址對應的IP Source Guard靜態綁定表項、DHCP Snooping表項和802.1X安全表項轉發報文。
(1) 進入係統視圖。
system-view
(2) 開啟ARP Detection忽略端口匹配檢查功能。
arp detection port-match-ignore
缺省情況下,ARP Detection忽略端口匹配檢查功能處於關閉狀態。
配置ARP Detection日誌功能後,設備在檢測到非法ARP報文時將生成檢測日誌,日誌內容包括:
· 受到攻擊的端口編號;
· 非法ARP報文的源IP地址;
· 丟棄的ARP報文總數。
(1) 進入係統視圖。
system-view
(2) 開啟ARP Detection日誌功能。
arp detection log enable [ interval interval | number number | threshold threshold-value ]*
缺省情況下,ARP Detection日誌功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP Detection的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP Detection的統計信息。
表1-3 ARP Detection顯示和維護
操作 |
命令 |
顯示開啟了ARP Detection功能的VLAN和接口 |
display arp detection |
顯示ARP Detection攻擊源統計信息 |
display arp detection statistics attack-source slot slot-number |
顯示ARP Detection丟棄報文的統計信息 |
display arp detection statistics packet-drop [ interface interface-type interface-number ] |
清除ARP Detection攻擊源統計信息 |
reset arp detection statistics attack-source [ slot slot-number ] |
清除ARP DetectionARP Detection的報文丟棄統計信息 |
reset arp detection statistics packet-drop [ interface interface-type interface-number ] |
· Device A是DHCP服務器;Device B是支持802.1X的設備,在VLAN 10內配置ARP Detection功能,對認證客戶端進行保護,保證合法用戶可以正常轉發報文,否則丟棄。
· Host A和Host B是本地802.1X接入用戶。
圖1-3 配置用戶合法性檢查組網圖
(1) 配置組網圖中所有接口屬於VLAN及Switch 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) 配置客戶端Host A和Host B(略),必須使用上傳IP地址方式。
(4) 配置設備Device B
# 配置802.1X功能。
<DeviceB> system-view
[DeviceB] dot1x
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] dot1x
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] dot1x
[DeviceB-GigabitEthernet1/0/2] quit
# 添加本地接入用戶。
[DeviceB] local-user test class network
[DeviceB-luser-network-test] service-type lan-access
[DeviceB-luser-network-test] password simple test
[DeviceB-luser-network-test] quit
# 開啟ARP Detection功能,對用戶合法性進行檢查。
[DeviceB] vlan 10
[DeviceB-vlan10] arp detection enable
# 接口狀態缺省為非信任狀態,上行接口配置為信任狀態,下行接口按缺省配置。
[DeviceB-vlan10] interface gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] arp detection trust
[DeviceB-GigabitEthernet1/0/3] quit
完成上述配置後,對於接口GigabitEthernet1/0/1和GigabitEthernet1/0/2收到的ARP報文,需基於802.1X安全表項進行用戶合法性檢查。
· 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 gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] dhcp snooping trust
[DeviceB-GigabitEthernet1/0/3] quit
# 在接口GigabitEthernet1/0/1上開啟DHCP Snooping表項記錄功能。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] dhcp snooping binding record
[DeviceB-GigabitEthernet1/0/1] quit
# 開啟ARP Detection功能,對用戶合法性進行檢查。
[DeviceB] vlan 10
[DeviceB-vlan10] arp detection enable
# 接口狀態缺省為非信任狀態,上行接口配置為信任狀態,下行接口按缺省配置。
[DeviceB-vlan10] interface gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] arp detection trust
[DeviceB-GigabitEthernet1/0/3] quit
# 在接口GigabitEthernet1/0/2上配置IP Source Guard靜態綁定表項。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ip source binding ip-address 10.1.1.6 mac-address 0001-0203-0607 vlan 10
[DeviceB-GigabitEthernet1/0/2] quit
# 配置進行報文有效性檢查。
[DeviceB] arp detection validate dst-mac ip src-mac
完成上述配置後,對於接口GigabitEthernet1/0/1和GigabitEthernet1/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相通,GigabitEthernet1/0/1、GigabitEthernet1/0/2、GigabitEthernet1/0/3均屬於VLAN 10。
· Device B是DHCP Snooping設備,在VLAN 10內開啟ARP Detection功能,對DHCP客戶端和用戶進行保護,保證合法用戶可以正常轉發報文,否則丟棄。
要求:Device B在開啟ARP Detection功能後,對於ARP廣播請求報文仍然能夠進行端口隔離。
圖1-5 配置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 gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] dhcp snooping trust
[DeviceB-GigabitEthernet1/0/3] quit
# 開啟ARP Detection功能,對用戶合法性進行檢查。
[DeviceB] vlan 10
[DeviceB-vlan10] arp detection enable
# 配置上行接口為信任狀態,下行接口為缺省配置(非信任狀態)。
[DeviceB-vlan10] interface gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] arp detection trust
[DeviceB-GigabitEthernet1/0/3] quit
# 在接口GigabitEthernet1/0/2上配置IP Source Guard靜態綁定表項。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ip source binding ip-address 10.1.1.6 mac-address 0001-0203-0607 vlan 10
[DeviceB-GigabitEthernet1/0/2] quit
# 配置進行報文有效性檢查。
[DeviceB] arp detection validate dst-mac ip src-mac
# 配置端口隔離。
[DeviceB] port-isolate group 1
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port-isolate enable group 1
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] port-isolate enable group 1
[DeviceB-GigabitEthernet1/0/2] quit
完成上述配置後,對於接口GigabitEthernet1/0/1和GigabitEthernet1/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廣播請求報文隻能通過信任接口GigabitEthernet1/0/3轉發,不能被Host B接收到,端口隔離功能可以正常工作。
建議在網吧這種環境穩定的小型網絡中使用ARP自動掃描、固化功能。ARP自動掃描功能一般與ARP固化功能配合使用:
· 配置ARP自動掃描功能後,設備會對局域網內的鄰居自動進行掃描(向鄰居發送ARP請求報文,獲取鄰居的MAC地址,從而建立動態ARP表項)。
· 開啟了ARP周期自動掃描功能後,會按照掃描速率周期性的向掃描區間的所有IP地址發送ARP請求報文進行掃描。設備發送ARP報文的速率可在係統視圖下通過arp scan auto send-rate命令設置。
· ARP固化用來將當前的ARP動態表項(包括ARP自動掃描生成的動態ARP表項)轉換為靜態ARP表項。通過對動態ARP表項的固化,可以有效防止攻擊者修改ARP表項。
固化後的靜態ARP表項與配置產生的靜態ARP表項相同。
接口上開啟了ARP自動掃描功能後,會向掃描區間的所有IP地址同時發送ARP請求報文,這會造成設備瞬間CPU利用率過高、網絡負載過大的問題。用戶可以通過設置接口發送ARP報文的速率解決此問題。
· 對於已存在ARP表項的IP地址不進行掃描。
· 如果接口下同時配置了ARP自動掃描功能和ARP周期性掃描功能,則兩個功能可以同時生效。通常,僅建議在網絡中用戶頻繁上下線的環境下開啟ARP周期性掃描功能。
· 固化生成的靜態ARP表項數量同樣受到設備可以支持的靜態ARP表項數目的限製,由於靜態ARP表項數量的限製可能導致隻有部分動態ARP表項被固化。
· 通過arp fixup命令將當前的動態ARP表項轉換為靜態ARP表項後,後續學習到的動態ARP表項可以通過再次執行arp fixup命令進行固化。
· 通過固化生成的靜態ARP表項,可以通過命令行undo arp ip-address [ vpn-instance-name ]逐條刪除,也可以通過命令行reset arp all或reset arp static全部刪除。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟ARP自動掃描功能。
arp scan [ start-ip-address to end-ip-address ] [ send-rate { ppm ppm | pps } ]
掃描操作可能比較耗時,且會占用較大的設備資源和網絡負載。可以通過<Ctrl_C>來終止掃描(在終止掃描時,對於已經收到的鄰居應答,會建立該鄰居的動態ARP表項)。
(1) 進入係統視圖。
system-view
(2) 設置ARP周期自動掃描速率。
arp scan auto send-rate { ppm ppm | pps pps }
缺省情況下,ARP周期自動掃描速率為48pps。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟ARP周期自動掃描功能。
arp scan auto enable [start-ip-address to end-ip-address]
缺省情況下,接口上的ARP周期性掃描功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 將設備上的動態ARP表項轉化成靜態ARP表項。
arp fixup
在規模較大的組網環境中(比如園區網絡),使用ARP周期性掃描功能後,如果指定的掃描範圍過大,會導致需要較長的時間才能掃描到異常下線的主機。開啟本功能後係統可以通過Keepalive表項快速定位異常下線的主機,並在老化時間內對異常下線主機的狀態進行監測。
ARP的Keepalive表項的老化時間可以在係統視圖和接口視圖下同時配置,優先使用接口視圖下的配置,如果接口視圖下為缺省配置則使用係統視圖下的配置。
用戶上線後,係統會生成動態ARP表項和IP Source Guard綁定表項。開啟本功能後,係統會根據這些表項建立狀態為在線的Keepalive表項。用戶下線後其ARP表項會被刪除,對應的Keepalive表項的狀態被置為離線。設備每隔一段時間會向處於離線狀態的Keepalive表項對應的IP發送ARP請求報文,直到Keepalive表項的狀態恢複成在線或離線狀態的Keepalive表項被刪除。處於離線狀態的Keepalive表項在老化時間內沒有恢複成在線便會被刪除。對於某處於離線狀態的Keepalive表項,設備發送ARP請求報文的間隔時間由已經向此Keepalive表項對應的IP地址發送的ARP請求報文的個數決定。關於IP Source Guard的詳細介紹,請參見“安全配置指導”中的“IP Source Guard”。
(1) 進入係統視圖。
system-view
(2) (可選)設置ARP的Keepalive表項掃描速率。
arp scan keepalive send-rate pps
缺省情況下,ARP的Keepalive表項掃描速率為每秒發送48個ARP請求報文。
(3) (可選)配置ARP的Keepalive表項的老化時間
arp scan keepalive aging-time time
缺省情況下,係統視圖下ARP的Keepalive表項的老化時間為60分鍾,接口視圖下ARP的Keepalive表項的老化時間采用係統視圖下的配置。
(4) 進入接口視圖。
interface interface-type interface-number
(5) 開啟ARP的Keepalive表項掃描功能。
arp scan keepalive enable
缺省情況下,接口上的ARP的Keepalive表項掃描功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示ARP的Keepalive表項掃描的相關信息。
在用戶視圖下,用戶可以執行reset命令清除接口向異常狀態的Keepalive表項發送的ARP請求報文的計數信息。
表1-4 ARP的Keepalive表項掃描顯示和維護
操作 |
命令 |
顯示ARP的Keepalive表項信息 |
display arp scan keepalive entry [ interface interface-type interface-number ] [ count ] |
顯示接口向異常狀態的Keepalive表項發送的ARP請求報文個數 |
display arp scan keepalive statistics [ slot slot-number ] [ interface interface-type interface-number ] |
清除接口向異常狀態的Keepalive表項發送的ARP請求報文的計數信息 |
reset arp scan keepalive statistics [ slot slot-number ] |
在設備上不與網關相連的接口上配置此功能,可以防止偽造網關攻擊。
在接口上開啟此功能後,當接口收到ARP報文時,將檢查ARP報文的源IP地址是否和配置的被保護網關的IP地址相同。如果相同,則認為此報文非法,將其丟棄;否則,認為此報文合法,繼續進行後續處理。
· 在接口視圖下最多支持配置8個受保護的網關IP地址。
· 不能在同一接口下同時配置命令arp filter source和arp filter binding。
· 本功能與ARP Detection、ARP Snooping功能配合使用時,先進行本功能檢查,本功能檢查通過後才會進行其他配合功能的處理。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口和二層聚合接口。
(3) 開啟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-6 配置ARP網關保護功能組網圖
# 在Device B上開啟ARP網關保護功能。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] arp filter source 10.1.1.1
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] arp filter source 10.1.1.1
完成上述配置後,對於Host B發送的偽造的源IP地址為網關IP地址的ARP報文將會被丟棄,不會再被轉發。
本功能用來限製接口下允許通過的ARP報文,可以防止仿冒網關和仿冒用戶的攻擊。
在接口上配置此功能後,當接口收到ARP報文時,將檢查ARP報文的源IP地址和源MAC地址是否和允許通過的IP地址和MAC地址相同:
· 如果相同,則認為此報文合法,繼續進行後續處理;
· 如果不相同,則認為此報文非法,將其丟棄。
· 每個接口最多支持配置8組允許通過的ARP報文的源IP地址和源MAC地址。
· 不能在同一接口下同時配置命令arp filter source和arp filter binding。
· 本功能與ARP Detection、ARP Snooping功能配合使用時,先進行本功能檢查,本功能檢查通過後才會進行其他配合功能的處理。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
支持的接口類型包括二層以太網接口和二層聚合接口。
(3) 開啟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的GigabitEthernet1/0/1、GigabitEthernet1/0/2接口隻允許指定用戶接入,不允許其他用戶接入。
圖1-7 配置ARP過濾保護功能組網圖
# 開啟Device B的ARP過濾保護功能。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] arp filter binding 10.1.1.2 000f-e349-1233
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] arp filter binding 10.1.1.3 000f-e349-1234
完成上述配置後,接口GigabitEthernet1/0/1收到Host A發出的源IP地址為10.1.1.2、源MAC地址為000f-e349-1233的ARP報文將被允許通過,其他ARP報文將被丟棄;接口GigabitEthernet1/0/2收到Host B發出的源IP地址為10.1.1.3、源MAC地址為000f-e349-1234的ARP報文將被允許通過,其他ARP報文將被丟棄。
配置本功能後,網關設備在進行ARP學習前將對ARP報文進行檢查。如果指定VLAN內的ARP報文的發送端IP地址不在指定源IP地址範圍內,則認為是攻擊報文,將其丟棄;否則,繼續進行ARP學習。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 配置ARP報文發送端IP地址檢查功能,並配置允許學習ARP報文的發送端IP地址範圍。
arp sender-ip-range start-ip-address end-ip-address
缺省情況下,ARP報文發送端IP地址檢查功能處於關閉狀態。
用戶可根據業務需求開啟指定功能的ARP模塊的告警:
· 開啟了觸發ARP主動確認的告警功能後,如果設備由於主動確認功能而沒有建立ARP表項,設備會將收到的ARP報文的發送端IP地址和收到ARP報文的接口信息作為告警信息發送到設備的SNMP模塊。
· 開啟了ARP Miss消息和ARP報文發送限速的告警功能後,如果設備每秒發送的ARP Miss消息或ARP報文的個數超過了設備定製的閾值,設備會將超速峰值作為告警信息發送到設備的SNMP模塊。
· 開啟了ARP Detection丟包的告警功能後,設備會將ARP Detection丟包的VLAN ID、丟包類型等信息作為告警信息發送到設備的SNMP模塊。
· 開啟了ARP表項被修改的告警功能後,當設備檢測到用戶在設備上的ARP表項可能被刷新成攻擊者的ARP表項時,設備會將ARP欺騙攻擊報文的IP地址、MAC地址等信息作為告警信息發送到設備的SNMP模塊。
· 開啟了ARP表項達到最大個數的告警功能後,如果當前全局ARP表項的數量超過了告警閾值,設備會將當前ARP表項的數目作為告警信息發送到設備的SNMP模塊。
· 當開啟了ARP網關保護的告警功能後,當設備受到仿冒網關攻擊時,設備會將因網關保護功能丟棄的ARP攻擊報文的發送端IP地址、發送端MAC地址、收到ARP攻擊報文的接口索引等作為告警信息發送到設備的SNMP模塊。當同一發送端IP地址的ARP報文3分鍾內再次觸發告警,則認為此次告警恢複,同時發送告警恢複信息到設備的SNMP模塊。
· 開啟了ARP模塊終端與本機衝突的告警功能後,設備會將衝突報文的發送端IP地址和MAC地址、目標IP地址和MAC地址等信息作為告警信息發送到設備的SNMP模塊。
· 開啟了ARP MAC地址不一致的告警功能後,當設備上配置的靜態ARP表項的MAC地址和用戶實際的MAC地址不一致時,設備會將該ARP表項的IP地址、VRF、MAC地址等信息作為告警信息發送到設備的SNMP模塊。
· 非法ARP報文指報文中的硬件類型、協議類型、硬件地址長度、協議地址長度、操作類型或VLAN等信息存在非法值的ARP報文。比如當ARP報文的操作類型不是請求或響應時,操作類型為非法值,此ARP報文非法。當開啟了非法ARP報文檢查的告警功能後,設備將接收到的非法ARP報文的接口名、發送端MAC地址、發送端IP地址、用戶VLAN ID、服務提供商VLAN ID作為告警信息發送出去,生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。
· 開啟了ARP報文隊列緩存報文數量超過閾值的告警功能後,當設備的ARP報文緩存隊列中緩存的報文數量超過隊列容量上限的80%時,設備會將當前隊列中緩存的報文數量作為告警信息發送到設備的SNMP模塊。
· 開啟了ARP報文限速的告警功能後,如果某接口上的ARP報文速率超過用戶設定的限速值,設備會將超速峰值作為告警信息發送到設備的SNMP模塊。有關ARP報文限速的配置請參見“配置ARP報文限速功能”。
· 開啟了ARP模塊終端用戶間IP地址衝突的告警功能後,設備會將衝突報文的發送端IP地址和MAC地址、發生衝突的本地表項的MAC地址等信息作為告警信息發送到設備的SNMP模塊。有關開啟ARP記錄終端用戶間IP地址衝突功能請參見“三層技術-IP業務配置指導”中的“ARP”。
· 開啟了ARP模塊終端用戶端口遷移的告警功能後,設備會將發生了端口遷移的用戶的IP地址、MAC地址、遷移前後的端口名稱等信息作為告警信息發送到設備的SNMP模塊。有關開啟ARP記錄終端用戶端口遷移功能請參見“三層技術-IP業務配置指導”中的“ARP”。
可以通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。有關告警信息的詳細描述,請參見“網絡管理和監控配置指導”中的“SNMP”。
(1) 進入係統視圖。
system-view
(2) 開啟ARP模塊的告警功能。
snmp-agent trap enable arp [ active-ack | arp-miss | detection-drop | entry-check | entry-limit | gateway-check | local-conflict | mac-mismatch | packet-check | pkt-threshold | rate-limit | user-ip-conflict | user-move ] *
缺省情況下,ARP模塊的告警功能處於關閉狀態。
如果不指定任何參數,則表示打開ARP模塊的所有告警功能。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!