如下图所示,S9306连接用户,攻击者和用户分别处于两个不同的网段,攻击者进行网段扫描,发送源IP为10.0.0.2,目的IP地址为10.0.1.2~10.0.1.254。
图 固定源IP地址ARP Miss攻击
问题原因:扫描网段触发大量的ARP Miss消息,设备CPU一直忙于处理ARP Miss,无法处理其它业务。
解决方法:配置ARP Miss限速,针对源IP进行限速,当单位时间内超过一定数量可以自动阻断攻击源。
定位方法
1. 清除上送CPU的ARP Miss报文统计计数
reset cpu-defend statistics packet-type arp-miss all
2. 等待一段时间(1分钟),查看这段时间内上送CPU的ARP Miss数量
[Quidway] display cpu-defend statistics packet-typearp-miss slot 2
Statistics on slot 2:
------------------------------------------------------------------------------------------------------------------
Packet Type Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
------------------------------------------------------------------------------------------------------------------
Arp-miss 40800 35768 600 52600
------------------------------------------------------------------------------------------------------------------
查看通过和丢弃的报文数量,如果上送或丢弃的报文数量较大,则可认为是ARPMiss攻击。
配置指导1. 可以通过调整arp-miss的cpcar值来缓解CPU过高问题:
#
cpu-defend policy test
car packet-type arp-miss cir 64 cbs 12032
#
slot 2
cpu-defend-policy test
#
此方法只能缓解CPU过高问题,但无法解决用户上线慢等问题。框式设备V100R001版本可以通过命令cpcar arp-miss cir进行配置。
2. 可以通过延长ARP假表老化时间来缓解CPU过高问题。当IP报文触发arp miss后,交换机会发送arp请求进行探测,同时生成临时的arp表项,将后续发送到此IP的数据报文直接丢弃,以免造成对CPU的冲击。当交换机收到arp回应后,会将此临时的arp表项修正,如果在规定的时间内未收到arp回应,则将该临时表项删除,后续的IP报文即可继续触发上述arp miss流程:
#
interface Vlanif500
arp-fake expire-time 30 -- 默认时间5s
ip address 10.0.1.1 255.255.255.0
#
设置过大的假表老化时间,可能会导致arp学习不实时,进而导致数据流量丢失。
3. 配置基于源IP的ARP Miss限速,系统会自动识别超过速率的源IP且会自动下发ACL进行惩罚,默认情况下,所有IP地址的arp miss源抑制速率为5pps,默认惩罚时间为50秒:
[Quidway] arp-miss speed-limit source-ip maximum 3 //一个源IP最多产生arp-miss速率为3pps,缺省为5pps
可以通过命令查看攻击源:
[Quidway] displayarp anti-attack arpmiss-record-info
Interface IP address Attack time Block time Aging-time
----------------------------------------------------------------------------------------------------------------
GigabitEthernet5/0/0 10.0.0.1 2009-09-16 10:18 2009-09-16 10:18 50
----------------------------------------------------------------------------------------------------------------
There are 1 records in Arp-miss table
此命令会自动下发基于源IP的ARP惩罚ACL,若不再需要其上送控制平面,则可以通过cpu-defend policy中配置黑名单功能彻底终结该源的攻击。