27-ARP攻擊防禦配置
本章節下載: 27-ARP攻擊防禦配置 (389.92 KB)
設備提供了多種ARP攻擊防禦技術對局域網中的ARP攻擊和ARP病毒進行防範、檢測和解決。常見的ARP攻擊方式包括:
· 攻擊者通過向設備發送大量目標IP地址不能解析的IP報文,使得設備試圖反複地對目標IP地址進行解析,導致CPU負荷過重及網絡流量過大。
· 攻擊者向設備發送大量ARP報文,對設備的CPU形成衝擊。
· 攻擊者可以仿冒用戶、仿冒網關發送偽造的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) 進入係統視圖。
system-view
(2) 開啟ARP源抑製功能。
arp source-suppression enable
缺省情況下,ARP源抑製功能處於關閉狀態。
(3) 配置ARP源抑製的閾值。
arp source-suppression limit limit-value
缺省情況下,ARP源抑製的閾值為10。
當用戶配置的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 |
某局域網內存在兩個區域:研發區和辦公區,分別屬於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報文的源MAC地址對上送CPU的ARP報文進行統計,在5秒內,如果收到同一源MAC地址(源MAC地址固定)的ARP報文超過一定的閾值,則認為存在攻擊,係統會將此MAC地址添加到攻擊檢測表項中。當開啟了ARP日誌信息功能(配置arp check log enable命令),且在該攻擊檢測表項老化之前,如果設置的檢查模式為過濾模式,則會打印日誌信息並且將該源MAC地址發送的ARP報文過濾掉;如果設置的檢查模式為監控模式,則隻打印日誌信息,不會將該源MAC地址發送的ARP報文過濾掉。
對於已添加到源MAC地址固定的ARP攻擊檢測表項中的MAC地址,在等待設置的老化時間後,會重新恢複成普通MAC地址。
關於ARP日誌信息功能的詳細描述,請參見“三層技術-IP業務配置指導”中的“ARP”。
切換源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地址。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後源MAC地址固定的ARP攻擊檢測的運行情況,通過查看顯示信息驗證配置的效果。
表1-2 源MAC地址固定的ARP攻擊檢測顯示和維護
操作 |
命令 |
顯示檢測到的源MAC地址固定的ARP攻擊檢測表項 |
(獨立運行模式) display arp source-mac { interface interface-type interface-number | slot slot-number } (IRF模式) display arp source-mac { chassis chassis-number slot slot-number | interface interface-type interface-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功能處於關閉狀態。
· Device A是DHCP服務器,為同一網段中的客戶端動態分配IP地址,地址池網段為10.1.1.0/24。通過在接口GigabitEthernet1/0/1上開啟授權ARP功能來保證客戶端的合法性。
· Device B是DHCP客戶端,通過DHCP協議從DHCP服務器獲取IP地址。
圖1-3 授權ARP功能典型配置組網圖
(1) 配置Device A
# 配置接口的IP地址。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 24
[DeviceA-GigabitEthernet1/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 gigabitethernet 1/0/1
# 開啟接口授權ARP功能。
[DeviceA-GigabitEthernet1/0/1] arp authorized enable
[DeviceA-GigabitEthernet1/0/1] quit
(2) 配置Device B
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address dhcp-alloc
[DeviceB-GigabitEthernet1/0/1] quit
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 VLAN/VSI name Interface/Link ID Aging Type
10.1.1.2 0012-3f86-e94c -- GE1/0/1 20 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中繼,通過在接口GigabitEthernet1/0/2上開啟授權ARP功能來保證客戶端的合法性。
· Device C是DHCP客戶端,通過DHCP中繼從DHCP服務器獲取IP地址。
圖1-4 授權ARP功能典型配置組網圖
(1) 配置Device A
# 配置接口的IP地址。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 24
[DeviceA-GigabitEthernet1/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 gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 10.1.1.2 24
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ip address 10.10.1.1 24
# 配置GigabitEthernet1/0/2接口工作在DHCP中繼模式。
[DeviceB-GigabitEthernet1/0/2] dhcp select relay
# 配置DHCP服務器的地址。
[DeviceB-GigabitEthernet1/0/2] dhcp relay server-address 10.1.1.1
# 開啟接口授權ARP功能。
[DeviceB-GigabitEthernet1/0/2] arp authorized enable
[DeviceB-GigabitEthernet1/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 gigabitethernet 1/0/2
[DeviceC-GigabitEthernet1/0/2] ip address dhcp-alloc
[DeviceC-GigabitEthernet1/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 VLAN/VSI name Interface/Link ID Aging Type
10.10.1.2 0012-3f86-e94c -- GE1/0/2 20 D
從以上信息可以獲知Device A為Device C動態分配的IP地址為10.10.1.2。
(2) 此後,Device C與Device B通信時采用的IP地址、MAC地址等信息必須和授權ARP表項中的一致,否則將無法通信,保證了客戶端的合法性。
建議在網吧這種環境穩定的小型網絡中使用ARP自動掃描、固化功能。ARP自動掃描功能一般與ARP固化功能配合使用:
· 配置ARP自動掃描功能後,設備會對局域網內的鄰居自動進行掃描(向鄰居發送ARP請求報文,獲取鄰居的MAC地址,從而建立動態ARP表項)。
· ARP固化用來將當前的ARP動態表項(包括ARP自動掃描生成的動態ARP表項)轉換為靜態ARP表項。通過對動態ARP表項的固化,可以有效防止攻擊者修改ARP表項。
固化後的靜態ARP表項與配置產生的靜態ARP表項相同。
· 對於已存在ARP表項的IP地址不進行掃描。
· 固化生成的靜態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 ]
掃描操作可能比較耗時,且會占用較大的設備資源和網絡負載。可以通過<Ctrl_C>來終止掃描(在終止掃描時,對於已經收到的鄰居應答,會建立該鄰居的動態ARP表項)。
(4) 退回係統視圖。
quit
(5) 將設備上的動態ARP表項轉化成靜態ARP表項。
arp fixup
在設備上不與網關相連的接口上配置此功能,可以防止偽造網關攻擊。
在接口上開啟此功能後,當接口收到ARP報文時,將檢查ARP報文的源IP地址是否和配置的被保護網關的IP地址相同。如果相同,則認為此報文非法,將其丟棄;否則,認為此報文合法,繼續進行後續處理。
· 每個接口最多支持配置8個被保護的網關IP地址。
· 不能在同一接口下同時配置命令arp filter source和arp filter binding。
· 本功能與ARP Detection、ARP Snooping和ARP快速應答功能配合使用時,先進行本功能檢查,本功能檢查通過後才會進行其他配合功能的處理。
(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-5 配置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和ARP快速應答功能配合使用時,先進行本功能檢查,本功能檢查通過後才會進行其他配合功能的處理。
(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-6 配置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報文將被丟棄。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!