1.概述
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安全特性。
2.ARP安全解决方案
1)ARP安全针对泛洪攻击的解决方案
故障现象:
- 用户上网慢、用户掉线、频繁断网、无法上网、业务中断
- 设备CPU占用率较高,无法正常学习部分ARP、设备脱管、下挂设备掉线、设备主备状态震荡、设备端口指示灯红色快闪
- Ping有时延、丢包或不通
2)ARP安全针对欺骗攻击的解决方案
故障现象:
- 用户上网慢、用户掉线、频繁断网、无法上网、业务中断
- Ping有时延、丢包或不通
- 设备脱管、下挂设备掉线、网关冲突
3.ARP安全应用场景
- 防ARP泛洪攻击
当网络中出现过多的ARP报文时,会导致网关设备CPU负载加重,影响设备正常处理用户的其它业务。另一方面,网络中过多的ARP报文会占用大量的网络带宽,引起网络堵塞,从而影响整个网络通信的正常运行。
为了避免上述危害,可以在网关设备上部署防ARP泛洪攻击功能,包括ARP报文限速功能、ARP Miss消息限速功能、免费ARP报文主动丢弃功能、ARP表项严格学习功能以及ARP表项限制功能。
-
部署ARP报文限速功能后,Gateway会对收到的ARP报文进行数量统计,如果在一定时间内,ARP报文的数量超出了配置的阈值(ARP报文限速值),则丢弃超出阈值部分的ARP报文,
这样可以防止设备因处理大量ARP报文造成CPU负荷过重。
-
部署ARP Miss消息限速功能后,Gateway会对ARP Miss消息进行数量统计,如果在一定时间内,ARP Miss消息的数量超出了配置的阈值(ARP Miss消息限速值),则超出部分的ARP Miss消息将被忽略,
且Gateway会丢弃触发ARP Miss消息的IP报文,这样可以防止Gateway因处理大量目标IP地址不能解析的IP报文造成CPU负荷过重。
-
部署免费ARP报文主动丢弃功能后,Gateway直接丢弃免费ARP报文,这样可以降低CPU的负担。
-
部署ARP表项严格学习功能后,Gateway仅仅学习自己发送的ARP请求报文的应答报文,并不学习其它设备主动向Gateway发送的ARP报文,这样可以防止Gateway因学习大量ARP报文而导致ARP表项资源被无效的ARP条目耗尽。
-
部署ARP表项限制功能后,Gateway会对各个接口学习动态ARP表项的数目进行限制。当指定接口下的动态ARP表项达到允许学习的最大数目后,将不允许新增动态ARP表项,
这样可以防止一个接口所接入的某一用户主机发起ARP攻击而导致整个设备的ARP表资源都被耗尽。
- 防ARP欺骗攻击
如果有攻击者通过在广播域内发送伪造的ARP报文,篡改Gateway或者UserC、UserD上的ARP表项,攻击者可以轻而易举地窃取UserC、UserD的信息或者阻碍UserC、UserD正常访问网络。
为了避免上述危害,可以在网关设备上部署防ARP欺骗攻击功能,包括ARP表项固化功能、免费ARP报文主动丢弃功能、ARP表项严格学习功能、发送免费ARP报文等功能。
如果局域网中的用户大多是DHCP用户,还可以在接入设备上部署动态ARP检测功能。
-
部署ARP表项固化功能后,Gateway在第一次学习到ARP之后,不再允许用户更新此ARP表项或只能更新此ARP表项的部分信息,或者通过发送单播ARP请求报文的方式对更新ARP条目的报文进行合法性确认,
这样可以防止攻击者伪造ARP报文修改网关上其他用户的ARP表项。
-
部署免费ARP报文主动丢弃功能后,Gateway直接丢弃免费ARP报文,这样可以防止伪造的免费ARP报文修改网关上其他用户的ARP表项,导致合法用户的通信流量发生中断。
-
部署ARP表项严格学习功能后,Gateway仅仅学习自己向UserA、UserB或UserC发送的ARP请求报文的应答报文,不学习攻击者主动向Gateway发送的ARP报文,并且不允许攻击者主动发送的ARP报文更新Gateway上现有的ARP条目,
这样可以防止攻击者冒充其他用户修改网关上对应的ARP表项。
-
部署发送免费ARP报文功能后,Gateway主动向用户发送以自己IP地址为目标IP地址的ARP请求报文,定时更新用户ARP表项的网关MAC地址,这样可以防止用户的报文不能正常的转发到网关或者被恶意攻击者窃听。
-
部署动态ARP检测功能后,当Switch收到ARP报文时,将此ARP报文中的源IP、源MAC、收到ARP报文的接口及VLAN信息和绑定表的信息进行比较,如果信息匹配,则认为是合法用户,允许此用户的ARP报文通过,
否则认为是攻击,丢弃该ARP报文,这样可以有效防止中间人攻击。
4.ARP Snooping功能
在视频大联网运维方案中,网管需要获取网元的IP地址和MAC地址绘制拓扑,方便后期运维。对于不支持LLDP等协议的网元设备,可以在接入交换机上配置ARP Snooping功能。
通过ARP报文触发学习ARP Snooping表,进而获取网元的IP地址和MAC地址等信息。
使能ARP Snooping功能后,设备将收到的ARP报文上送CPU处理。CPU对上送的ARP报文进行分析,获取ARP报文的源IP地址、源MAC地址、VLAN和入接口信息,建立记录用户信息的ARP Snooping表。
ARP Snooping表项创建后,老化时间默认为900秒。ARP Snooping表项基于ARP报文的源IP地址和VLAN信息创建,当收到源IP地址和VLAN信息与已存在的ARP Snooping表项中的IP地址和VLAN信息不一致的ARP报文时,
新建ARP Snooping表项;当收到源IP地址和VLAN信息与已存在的ARP Snooping表项中的IP地址和VLAN信息一致的ARP报文时,则更新对应条目的MAC地址和接口信息,并重置老化计时器。
此外,设备会对即将老化的表项会做ARP探测,发送源IP地址为全零的probe ARP报文,目的IP地址为即将老化表项的IP地址。此时,如果对端为网关设备,则会识别收到的ARP报文为本机发送的免费ARP报文,
并进行IP地址冲突检测,频繁生成冲突告警和日志。为了避免以上问题,可以对指定IP地址的ARP Snooping表项不进行ARP探测。