ARP(Address Resolution Protocol)安全是针对ARP攻击的一种安全特性,它通过一系列对ARP表项学习和ARP报文处理的限制、检查等措施来保证网络设备的安全性。ARP安全特性不仅能够防范针对ARP协议的攻击,还可以防范网段扫描攻击等基于ARP协议的攻击。
ARP协议有简单、易用的优点,但是也因为其没有任何安全机制,容易被攻击者利用。在网络中,常见的ARP攻击方式主要包括:
ARP泛洪攻击,也叫拒绝服务攻击DoS(Denial of Service),主要存在这样两种场景:
设备处理ARP报文和维护ARP表项都需要消耗系统资源,同时为了满足ARP表项查询效率的要求,一般设备都会对ARP表项规模有规格限制。攻击者就利用这一点,通过伪造大量源IP地址变化的ARP报文,使得设备ARP表资源被无效的ARP条目耗尽,合法用户的ARP报文不能继续生成ARP条目,导致正常通信中断。
攻击者利用工具扫描本网段主机或者进行跨网段扫描时,会向设备发送大量目标IP地址不能解析的IP报文,导致设备触发大量ARP Miss消息,生成并下发大量临时ARP表项,并广播大量ARP请求报文以对目标IP地址进行解析,从而造成CPU(Central Processing Unit)负荷过重。
ARP欺骗攻击,是指攻击者通过发送伪造的ARP报文,恶意修改设备或网络内其他用户主机的ARP表项,造成用户或网络的报文通信异常。
ARP攻击行为存在以下危害:
为了避免上述ARP攻击行为造成的各种危害,可以部署ARP安全特性。
如果设备对收到的大量ARP报文全部进行处理,可能导致CPU负荷过重而无法处理其他业务。因此,在处理之前,设备需要对ARP报文进行限速,以保护CPU资源。
设备提供了如下几类针对ARP报文的限速功能:
根据源MAC地址或源IP地址进行ARP报文限速
当设备检测到某一个用户在短时间内发送大量的ARP报文,可以针对该用户配置基于源MAC地址或源IP地址的ARP报文限速。在1秒时间内,如果该用户的ARP报文数目超过设定阈值(ARP报文限速值),则丢弃超出阈值部分的ARP报文。根据源MAC地址进行ARP报文限速:如果指定MAC地址,则针对指定源MAC地址的ARP报文根据限速值进行限速;如果不指定MAC地址,则针对每一个源MAC地址的ARP报文根据限速值进行限速。
根据源IP地址进行ARP报文限速:如果指定IP地址,则针对指定源IP地址的ARP报文根据限速值进行限速;如果不指定IP地址,则针对每一个源IP地址的ARP报文根据限速值进行限速。
针对全局、VLAN和接口的ARP报文限速
设备支持在全局、VLAN和接口下配置ARP报文的限速值和限速时间,当同时在全局、VLAN和接口下配置ARP报文的限速值和限速时间时,设备会先按照接口进行限速,再按照VLAN进行限速,最后按照全局进行限速。
另外,在接口下还可以指定阻塞ARP报文的时间段。如果设备的某个接口在ARP报文限速时间内接收到的ARP报文数目超过了设定阈值(ARP报文限速值),则丢弃超出阈值部分的ARP报文,并在接下来的一段时间内(即阻塞ARP报文时间段)持续丢弃该接口下收到的所有ARP报文。
针对全局的ARP报文限速:在设备出现ARP攻击时,限制全局处理的ARP报文数量。
针对VLAN的ARP报文限速:在某个VLAN内的所有接口出现ARP攻击时,限制处理收到的该VLAN内的ARP报文数量,配置本功能可以保证不影响其他VLAN内所有接口的ARP学习。
针对接口的ARP报文限速:在某个接口出现ARP攻击时,限制处理该接口收到的ARP报文数量,配置本功能可以保证不影响其他接口的ARP学习。
实验拓扑图
实验步骤
- S1 配置
-
- <Huawei>system-view
- Enter system view, return user view with Ctrl+Z.
- [Huawei]sysname S1
- [S1]undo info-center enable
- Info: Information center is disabled.
-
- [S1]vlan batch 10
- Info: This operation may take a few seconds. Please wait for a moment...done.
-
- [S1]interface GigabitEthernet 0/0/2
- [S1-GigabitEthernet0/0/2]port link-type access
- [S1-GigabitEthernet0/0/2]port default vlan 10
- [S1-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/3
- [S1-GigabitEthernet0/0/3]port link-type access
- [S1-GigabitEthernet0/0/3]port default vlan 10
- [S1-GigabitEthernet0/0/3]quit
-
- [S1]interface GigabitEthernet 0/0/1
- [S1-GigabitEthernet0/0/1]port link-type trunk
- [S1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
- [S1-GigabitEthernet0/0/1]quit
- S2 配置
-
- <Huawei>system-view
- Enter system view, return user view with Ctrl+Z.
- [Huawei]undo info-center enable
- Info: Information center is disabled.
- [Huawei]sysname S2
-
- [S2]vlan 20
- [S2-vlan20]quit
-
- [S2]interface GigabitEthernet 0/0/2
- [S2-GigabitEthernet0/0/2]port link-type access
- [S2-GigabitEthernet0/0/2]port default vlan 20
- [S2-GigabitEthernet0/0/2]quit
-
- [S2]int GigabitEthernet 0/0/3
- [S2-GigabitEthernet0/0/3]port link-type access
- [S2-GigabitEthernet0/0/3]port default vlan 20
- [S2-GigabitEthernet0/0/3]quit
-
- [S2]interface GigabitEthernet 0/0/1
- [S2-GigabitEthernet0/0/1]port link-type trunk
- [S2-GigabitEthernet0/0/1]port trunk allow-pass vlan 20
- [S2-GigabitEthernet0/0/1]quit
- <Huawei>system-view
- Enter system view, return user view with Ctrl+Z.
- [Huawei]undo info-center enable
- Info: Information center is disabled.
- [Huawei]sysname S3
-
- [S3]vlan batch 10 20 30
- Info: This operation may take a few seconds. Please wait for a moment...done.
-
- [S3]interface GigabitEthernet 0/0/1
- [S3-GigabitEthernet0/0/1]port link-type trunk
- [S3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
- [S3-GigabitEthernet0/0/1]quit
-
- [S3]interface GigabitEthernet 0/0/2
- [S3-GigabitEthernet0/0/2]port link-type trunk
- [S3-GigabitEthernet0/0/2]port trunk allow-pass vlan 20
- [S3-GigabitEthernet0/0/2]quit
-
- [S3]interface Vlanif 10
- [S3-Vlanif10]ip address 10.8.8.4 24
- [S3-Vlanif10]interface Vlanif 20
- [S3-Vlanif20]ip address 10.9.9.4 24
- [S3-Vlanif20]interface Vlanif 30
- [S3-Vlanif30]ip address 10.10.10.3 24
- [S3-Vlanif30]quit
-
- [S3]arp learning strict //配置ARP表项严格学习功能
- [S3]arp anti-attack entry-check fixed-mac enable //配置ARP表项固化模式为fixed-mac方式
-
- 配置对Server(IP地址为10.10.10.2)的ARP Miss消息进行限速,允许Switch每秒最多处理该IP地址触发的40个ARP Miss消息;对于其他用户,允许Switch每秒最多处理同一个源IP地址触发的20个ARP Miss消息
-
- [S3]arp-miss speed-limit source-ip maximum 20
- [S3]arp-miss speed-limit source-ip 10.10.10.2 maximum 40
-
- [S3]interface GigabitEthernet0/0/1
- [S3-GigabitEthernet0/0/1]arp-limit vlan 10 maximum 20 // 配置接口GE0/0/1最多可以学习到20个动态ARP表项
- Warning: It is recommended to clear ARP entries of this interface, because the n
- umber of ARP entries may exceed the limit.
- [S3-GigabitEthernet0/0/1]quit
-
- [S3]arp speed-limit source-mac 1-1-1 maximum 10 //配置对用户User1(MAC地址为1-1-1)进行ARP报文限速,每秒最多只允许10个该MAC地址的ARP报文通过
- [S3]arp speed-limit source-ip 10.9.9.2 maximum 10 //配置对用户User3(IP地址为10.9.9.2)进行ARP报文限速,每秒最多只允许10个该IP地址的ARP报文通过