攻击简介
如果网络中有用户向设备发送大量目标IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息。
大量的网段扫描报文会产生大量的ARP Miss消息,导致交换机的资源浪费在处理ARP Miss消息上,影响交换机对其他业务的处理,形成扫描攻击。
现象描述
当设备遭受ARP Miss消息攻击时,设备会出现CPU占有率较高、有大量的临时ARP表项、CPCAR存在ARP Miss丢包、Ping有时延或Ping不通等现象。业务方面会发生用户掉线、用户上网慢、设备脱管、甚至业务中断等现象。
定位思考
定位手段 | 命令行 | 适用版本形态 |
查看CPU-Defend丢包计数 | display cpu-defend statistics packet-type arp-miss { all | slot slot-id } | V100R006C05版本以及之后版本 |
查看ARP临时表项 | display arp | V100R006C05版本以及之后版本 |
-
清除上送CPU的ARP Miss报文统计计数。
<HUAWEI> reset cpu-defend statistics packet-type arp-miss all
-
等待1分钟后,查看这段时间内上送CPU的ARP Miss数量。
<HUAWEI> display cpu-defend statistics packet-type arp-miss slot 2 Statistics on slot 2: ------------------------------------------------------------------------------------------ Packet Type Pass(Packet/Byte) Drop(Packet/Byte) Last-dropping-time ------------------------------------------------------------------------------------------ arp-miss 40800 357680 2022-01-15 12:23:10 ------------------------------------------------------------------------------------------
查看通过和丢弃的报文数量,如果丢弃的消息数量大于通过的,则可认为是ARP Miss攻击。
-
查看设备上是否有大量的ARP临时表项,如果存在大量(大概15个或者15个以上)的MAC ADDRESS字段为Incomplete的临时表项,也可以认为是ARP Miss攻击。
<HUAWEI> display arp all IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE VLAN/CEVLAN ------------------------------------------------------------------------------ 10.137.217.202 00e0-0987-7890 I - Eth0/0/0 10.137.216.1 0000-5e00-0149 20 D-0 Eth0/0/0 10.1.1.2 00e0-0987-7899 I - GE6/1/1 10.1.20.1 00e0-0987-789a I - GE6/1/2 10.1.10.6 00e0-0987-789b I - GE6/1/3 10.1.11.6 00e0-0987-789c I - GE6/1/4 192.168.11.1 00e0-0987-789c I - Vlanif11 192.168.11.254 Incomplete 12 D-0 Eth-Trunk1 11/- 192.168.11.253 Incomplete 16 D-0 Eth-Trunk1 11/- ------------------------------------------------------------------------------ Total:9 Dynamic:3 Static:0 Interface:6
原因分析
设备收到大量的ARP Miss消息常见的原因有两种:
-
存在网段扫描攻击,可以通过获取报文或者通过display arp anti-attack arpmiss-record-info命令来查看攻击源。
-
设备收到TC消息,导致ARP表项老化,设备出现大量的ARP Miss消息。对于TC消息导致的ARP Miss攻击,防范手段参考TC攻击。
操作步骤
方法 | 方法 | 缺点 |
降低ARP Miss消息的CPCAR值 | 可以快速降低报文上送 | 可以基于全局、单板应用,丢弃攻击报文 |
降低ARP Miss消息的CPCAR值 | 针对具体目的地址进行抑制,在老化时间内不触发ARP Miss消息 | 要选择合适的老化时间。 |
配置ARP Miss源抑制 | 针对具体源地址进行抑制,在block时间内不上送ARP Miss消息 | 需要配置白名单,防止网络侧的设备被惩罚。 |
配置黑名单丢弃指定攻击源 | 可以基于全局、单板应用,丢弃攻击报文 | 攻击消除后也无法访问设备。 |
-
可以通过调整ARP Miss的CPCAR值来缓解CPU过高问题。
• <HUAWEI> system-view • [HUAWEI] cpu-defend policy policy1 • [HUAWEI-cpu-defend-policy-policy1] car packet-type arp-miss cir 64 • [HUAWEI-cpu-defend-policy-policy1] quit [HUAWEI] cpu-defend-policy policy1 global
此方法只能缓解CPU过高问题,但无法解决用户上线慢等问题。
-
可以通过延长ARP假表老化时间来缓解CPU过高问题。当IP报文触发ARP Miss后,交换机会发送ARP请求进行探测,同时生成临时的ARP表项,将后续发送到此IP的数据报文直接丢弃,以免造成对CPU的冲击。当交换机收到ARP回应后,会将此临时的ARP表项修正,如果在规定的时间内未收到ARP回应,则将该临时表项删除,后续的IP报文即可继续触发上述ARP Miss流程。
• <HUAWEI> system-view • [HUAWEI] interface Vlanif 500 [HUAWEI-Vlanif500] arp-fake expire-time 30
设置过大的假表老化时间,可能会导致ARP学习不实时,进而导致数据流量丢失。
-
配置基于源IP的ARP Miss限速,系统会自动识别超过速率的源IP且会自动下发ACL进行惩罚,默认情况下,所有IP地址的ARP Miss源抑制速率为30pps,默认惩罚时间为5秒。建议对网络侧的地址进行放通,防止被惩罚。
• <HUAWEI> system-view • [HUAWEI] arp-miss speed-limit source-ip maximum 10 //一个源IP最多产生arp-miss速率为10pps,缺省为30pps [HUAWEI] arp-miss speed-limit source-ip 1.1.1.1 maximum 200 //对上行的网络侧地址放行,防止误惩罚
可以通过命令display arp anti-attack arpmiss-record-info查看攻击源。
此命令会自动下发基于源IP的ARP Miss惩罚ACL,若不再需要其上送控制平面,则可以通过cpu-defend policy中配置黑名单功能彻底终结该源的攻击。[HUAWEI] display arp anti-attack arpmiss-record-info Interface IP address Attack time Block time Aging-time ---------------------------------------------------------------------------------------------------------------- GigabitEthernet5/0/0 10.0.0.1 2122-01-16 10:18:18 2022-01-16 10:19:12 50 ---------------------------------------------------------------------------------------------------------------- There are 1 records in Arp-miss table