• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

18-安全配置指导

目录

13-ARP攻击防御配置

本章节下载 13-ARP攻击防御配置  (343.61 KB)

13-ARP攻击防御配置


1 ARP攻击防御

1.1  ARP攻击防御简介

设备提供了多种ARP攻击防御技术对局域网中的ARP攻击和ARP病毒进行防范、检测和解决。常见的ARP攻击方式包括:

·     攻击者通过向设备发送大量目标IP地址不能解析的IP报文,使得设备试图反复地对目标IP地址进行解析,导致CPU负荷过重及网络流量过大。

·     攻击者向设备发送大量ARP报文,对设备的CPU形成冲击。

·     攻击者可以仿冒用户、仿冒网关发送伪造的ARP报文,使网关或主机的ARP表项不正确,从而对网络进行攻击。

1.2  ARP攻击防御配置任务简介

如下所有配置均为可选,请根据实际情况选择配置。

·     防止泛洪攻击

¡     配置ARP防止IP报文攻击功能

¡     配置ARP报文限速功能

¡     配置源MAC地址固定的ARP攻击检测功能

·     防止仿冒用户、仿冒网关攻击

¡     配置ARP报文源MAC地址一致性检查功能

¡     配置ARP主动确认功能

¡     配置授权ARP功能

¡     配置ARP自动扫描、固化功能

1.3  配置ARP防止IP报文攻击功能

1.3.1  功能简介

如果网络中有主机通过向设备发送大量目标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.3.2  配置ARP源抑制功能

(1)     进入系统视图。

system-view

(2)     开启ARP源抑制功能。

arp source-suppression enable

缺省情况下,ARP源抑制功能处于关闭状态。

(3)     配置ARP源抑制的阈值。

arp source-suppression limit limit-value

缺省情况下,ARP源抑制的阈值为10。

1.3.3  配置ARP黑洞路由功能

1. 配置限制和指导

当用户配置的ARP主动探测总时长(发送次数×发送时间间隔)大于黑洞路由老化时间时,系统只会取小于等于该老化时间的最大值作为真正的探测总时长。

当发起ARP主动探测过程结束且生成的黑洞路由还未老化时,设备无法主动对黑洞路由对应的设备进行ARP解析,为了缓解该问题,用户可以配置较大的发送ARP请求报文次数。

2. 配置步骤

(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秒。

1.3.4  ARP防止IP报文攻击显示和维护

可在任意视图下执行以下命令,显示ARP源抑制的配置信息。

display arp source-suppression

1.3.5  ARP防止IP报文攻击典型配置举例

1. 组网需求

某局域网内存在两个区域:研发区和办公区,分别属于VLAN 10和VLAN 20,通过接入交换机连接到网关Device,如图1-1所示。

网络管理员在监控网络时发现办公区存在大量ARP请求报文,通过分析认为存在IP泛洪攻击,为避免这种IP报文攻击所带来的危害,可采用ARP源抑制功能和ARP黑洞路由功能。

2. 组网图

图1-1 ARP防止IP报文攻击配置组网图

 

3. 配置步骤

·     如果发送攻击报文的源地址是固定的,需要配置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

1.4  配置ARP报文限速功能

1. 功能简介

ARP报文限速功能是指对上送CPU的ARP报文进行限速,可以防止大量ARP报文对CPU进行冲击。

设备上配置ARP报文限速功能后,当接口上单位时间收到的ARP报文数量超过用户设定的限速值,设备处理方式如下:

·     当开启了ARP模块的告警功能后,设备将这个时间间隔内的超速峰值作为告警信息发送出去,生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关特性。有关告警信息的详细介绍请参见“网络管理和监控命令参考”中的SNMP;

·     当开启了ARP限速日志功能后,设备将这个时间间隔内的超速峰值作为日志的速率值发送到设备的信息中心,通过设置信息中心的参数,最终决定日志报文的输出规则(即是否允许输出以及输出方向)。有关信息中心参数的配置请参见“设备管理配置指导”中的“信息中心”。

2. 配置限制和指导

·     建议用户在配置了ARP快速应答、MFF,或者发现有ARP泛洪攻击的情况下,配置ARP报文限速功能。

·     为防止过多的告警和日志信息干扰用户工作,用户可以设定较大的信息发送时间间隔。当用户设定的时间间隔超时时,设备执行发送告警或日志的操作。

3. 配置步骤

(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报文限速功能处于开启状态。

1.5  配置源MAC地址固定的ARP攻击检测功能

1.5.1  功能简介

本特性根据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”。

1.5.2  配置限制和指导

切换源MAC地址固定的ARP攻击检查模式时,如果从监控模式切换到过滤模式,过滤模式马上生效;如果从过滤模式切换到监控模式,已生成的攻击检测表项,到表项老化前还会继续按照过滤模式处理。

对于网关或一些重要的服务器,可能会发送大量ARP报文,为了使这些ARP报文不被过滤掉,可以将这类设备的MAC地址配置成保护MAC地址,这样,即使该设备存在攻击也不会被检测或过滤。

1.5.3  配置步骤

(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-n>

缺省情况下,未配置任何保护MAC地址。

1.5.4  源MAC地址固定的ARP攻击检测显示和维护

1. 显示源MAC地址固定的ARP攻击检测表项

可在任意视图下执行以下命令,显示检测到的源MAC地址固定的ARP攻击检测表项。

display arp source-mac { interface interface-type interface-number [ slot slot-number ] | slot slot-number }

2. 维护源MAC地址固定的ARP攻击报文计数统计信息

可在任意视图下执行以下命令,显示丢弃的源MAC地址固定的ARP攻击报文计数统计信息。

display arp source-mac statistics slot slot-number

请在用户视图下执行以下命令,清除源MAC地址固定的ARP攻击检测丢弃ARP攻击报文的计数统计信息。

reset arp source-mac statistics { all | [ slot slot-number ] }

1.5.5  源MAC地址固定的ARP攻击检测功能典型配置举例

1. 组网需求

某局域网内客户端通过网关与外部网络通信,网络环境如图1-2所示。

网络管理员希望能够防止因恶意用户对网关Device发送大量ARP报文,造成设备Device瘫痪,并导致其它用户无法正常地访问外部网络;同时,Device对于正常的大量ARP报文仍然会进行处理。

2. 组网图

图1-2 源MAC地址固定的ARP攻击检测功能配置组网图

 

3. 配置步骤

# 开启源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

1.6  配置ARP报文源MAC地址一致性检查功能

1.6.1  功能简介

ARP报文源MAC地址一致性检查功能主要应用于网关设备上,防御以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同的ARP攻击。

配置本特性后,网关设备在进行ARP学习前将对ARP报文进行检查。如果以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同,则认为是攻击报文,将其丢弃;否则,继续进行ARP学习。

1.6.2  配置步骤

(1)     进入系统视图。

system-view

(2)     开启ARP报文源MAC地址一致性检查功能。

arp valid-check enable

缺省情况下,ARP报文源MAC地址一致性检查功能处于关闭状态。

1.6.3  ARP报文源MAC地址一致性检查显示和维护

可在任意视图下执行以下命令:

显示ARP攻击检测功能丢弃的源MAC地址固定的ARP攻击报文计数统计信息。

display arp valid-check statistics slot slot-number

请在用户视图下执行以下命令,清除ARP报文源MAC地址一致性检查功能丢弃的ARP报文计数统计信息。

reset arp valid-check statistics { all | slot slot-number }

1.7  配置ARP主动确认功能

1. 功能简介

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表项;若未发起过请求,则设备丢弃该报文,不建立表项。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ARP主动确认功能。

arp active-ack [ strict ] enable

缺省情况下,ARP主动确认功能处于关闭状态。

在严格模式下,只有ARP黑洞路由功能处于开启状态,ARP主动确认功能才能生效。

1.8  配置授权ARP功能

1.8.1  功能简介

所谓授权ARP(Authorized ARP),就是动态学习ARP的过程中,只有和DHCP服务器生成的租约或DHCP中继生成的安全表项一致的ARP报文才能够被学习。关于DHCP服务器和DHCP中继的介绍,请参见“三层技术-IP业务配置指导”中的“DHCP服务器”和“DHCP中继”。

配置接口的授权ARP功能后,可以防止用户仿冒其他用户的IP地址或MAC地址对网络进行攻击,保证只有合法的用户才能使用网络资源,增加了网络的安全性。

1.8.2  配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

支持的接口类型包括三层以太网接口、三层以太网子接口、三层聚合接口、三层聚合子接口视图。

(3)     开启授权ARP功能。

arp authorized enable

缺省情况下,接口下的授权ARP功能处于关闭状态。

1.8.3  授权ARP功能在DHCP服务器上的典型配置举例

1. 组网需求

·     Device A是DHCP服务器,为同一网段中的客户端动态分配IP地址,地址池网段为10.1.1.0/24。通过在接口GigabitEthernet0/0/1上开启授权ARP功能来保证客户端的合法性。

·     Device B是DHCP客户端,通过DHCP协议从DHCP服务器获取IP地址。

2. 组网图

图1-3 授权ARP功能典型配置组网图

3. 配置步骤

(1)     配置Device A

# 配置接口的IP地址。

<DeviceA> system-view

[DeviceA] interface gigabitethernet 0/0/1

[DeviceA-GigabitEthernet0/0/1] ip address 10.1.1.1 24

[DeviceA-GigabitEthernet0/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 0/0/1

# 开启接口授权ARP功能。

[DeviceA-GigabitEthernet0/0/1] arp authorized enable

[DeviceA-GigabitEthernet0/0/1] quit

(2)     配置Device B

<DeviceB> system-view

[DeviceB] interface gigabitethernet 0/0/1

[DeviceB-GigabitEthernet0/0/1] ip address dhcp-alloc

[DeviceB-GigabitEthernet0/0/1] quit

4. 验证配置

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                Aging Type

10.1.1.2        0012-3f86-e94c --            GE0/0/1                  960   D

从以上信息可以获知Device A为Device B动态分配的IP地址为10.1.1.2。

此后,Device B与Device A通信时采用的IP地址、MAC地址等信息必须和授权ARP表项中的一致,否则将无法通信,保证了客户端的合法性。

1.8.4  授权ARP功能在DHCP中继上的典型配置举例

1. 组网需求

·     Device A是DHCP服务器,为不同网段中的客户端动态分配IP地址,地址池网段为10.10.1.0/24。

·     Device B是DHCP中继,通过在接口GigabitEthernet0/0/2上开启授权ARP功能来保证客户端的合法性。

·     Device C是DHCP客户端,通过DHCP中继从DHCP服务器获取IP地址。

2. 组网图

图1-4 授权ARP功能典型配置组网图

3. 配置步骤

(1)     配置Device A

# 配置接口的IP地址。

<DeviceA> system-view

[DeviceA] interface gigabitethernet 0/0/1

[DeviceA-GigabitEthernet0/0/1] ip address 10.1.1.1 24

[DeviceA-GigabitEthernet0/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 0/0/1

[DeviceB-GigabitEthernet0/0/1] ip address 10.1.1.2 24

[DeviceB-GigabitEthernet0/0/1] quit

[DeviceB] interface gigabitethernet 0/0/2

[DeviceB-GigabitEthernet0/0/2] ip address 10.10.1.1 24

# 配置GigabitEthernet0/0/2接口工作在DHCP中继模式。

[DeviceB-GigabitEthernet0/0/2] dhcp select relay

# 配置DHCP服务器的地址。

[DeviceB-GigabitEthernet0/0/2] dhcp relay server-address 10.1.1.1

# 开启接口授权ARP功能。

[DeviceB-GigabitEthernet0/0/2] arp authorized enable

[DeviceB-GigabitEthernet0/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 0/0/2

[DeviceC-GigabitEthernet0/0/2] ip address dhcp-alloc

[DeviceC-GigabitEthernet0/0/2] quit

4. 验证配置

(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                Aging Type

10.10.1.2       0012-3f86-e94c --            GE0/0/2                  960    D

从以上信息可以获知Device A为Device C动态分配的IP地址为10.10.1.2。

(2)     此后,Device C与Device B通信时采用的IP地址、MAC地址等信息必须和授权ARP表项中的一致,否则将无法通信,保证了客户端的合法性。

1.9  配置ARP自动扫描、固化功能

1.9.1  功能简介

建议在网吧这种环境稳定的小型网络中使用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表项的固化,可以有效防止攻击者修改ARP表项。

固化后的静态ARP表项与配置产生的静态ARP表项相同。

接口上开启了ARP自动扫描功能后,会向扫描区间的所有IP地址同时发送ARP请求报文,这会造成设备瞬间CPU利用率过高、网络负载过大的问题。用户可以通过设置接口发送ARP报文的速率解决此问题。

1.9.2  配置限制和指导

·     对于已存在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 allreset arp static全部删除。

1.9.3  配置ARP自动扫描功能

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启ARP自动扫描功能。

arp scan [ start-ip-address to end-ip-address ]

注意

扫描操作可能比较耗时,用户可以通过<Ctrl_C>来终止扫描(在终止扫描时,对于已经收到的邻居应答,会建立该邻居的动态ARP表项)。

 

1.9.4  配置ARP周期自动扫描功能

(1)     进入系统视图。

system-view

(2)     设置ARP周期自动扫描速率。

arp scan auto send-rate { ppm ppm | pps }

缺省情况下,ARP周期自动扫描速率为每秒发送48个包。

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启ARP周期自动扫描功能。

arp scan auto enable [start-ip-address to end-ip-address [ source-addr source-ip-address ] ]

缺省情况下,接口上的ARP周期性扫描功能处于关闭状态。

1.9.5  配置ARP固化功能

(1)     进入系统视图。

system-view

(2)     将设备上的动态ARP表项转化成静态ARP表项。

arp fixup

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们