介绍ARP安全的定义和作用。
定义
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报文根据限速值进行限速。
针对Super VLAN的VLANIF接口下的ARP报文限速
当设备的VLANIF接口接收到触发ARP Miss消息的IP报文(关于ARP Miss消息的详细解释请参见ARP Miss消息限速)时,或者在设备的VLANIF接口上启用ARP代理功能之后,设备接收到目的IP符合代理条件且该IP对应的ARP条目不存在的ARP请求报文时,都会触发Super VLAN的VLANIF接口进行ARP学习。设备会将ARP请求报文在每个Sub VLAN下复制,如果该Super VLAN下配置了大量Sub VLAN,那么设备将产生大量的ARP请求报文。为了避免CPU因复制、发送大量ARP请求报文而负担过重,设备支持Super VLAN的VLANIF接口下的ARP报文限速功能,以对该场景下设备发送的ARP请求报文进行流量控制。
针对全局和接口的ARP报文限速
设备支持在全局和接口下配置ARP报文的限速值和限速时间,当同时在全局和接口下配置ARP报文的限速值和限速时间时,设备会先按照接口进行限速,再按照全局进行限速。
针对全局的ARP报文限速:在设备出现ARP攻击时,限制全局处理的ARP报文数量。
针对接口的ARP报文限速:在某个接口出现ARP攻击时,限制处理该接口收到的ARP报文数量,配置本功能可以保证不影响其他接口的ARP学习。
ARP表项限制
ARP表项限制功能应用在网关设备上,可以限制设备的某个接口学习动态ARP表项的数目。默认状态下,接口可以学习的动态ARP表项数目规格与全局的ARP表项规格保持一致。当部署完ARP表项限制功能后,如果指定接口下的动态ARP表项达到了允许学习的最大数目,将不再允许该接口继续学习动态ARP表项,以保证当一个接口所接入的某一用户主机发起ARP攻击时不会导致整个设备的ARP表资源都被耗尽。
动态ARP检测
网络中针对ARP的攻击层出不穷,中间人攻击是常见的ARP欺骗攻击方式之一。 中间人攻击(Man-in-the-middle attack)是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。 如图10-4所示,是中间人攻击的一个场景。攻击者主动向UserA发送伪造UserB的ARP报文,导致UserA的ARP表中记录了错误的UserB地址映射关系,攻击者可以轻易获取到UserA原本要发往UserB的数据;同样,攻击者也可以轻易获取到UserB原本要发往UserA的数据。这样,UserA与UserB间的信息安全无法得到保障。 图10-4 中间人攻击
为了防御中间人攻击,可以在Router上部署动态ARP检测DAI(Dynamic ARP Inspection)功能。 动态ARP检测是利用绑定表来防御中间人攻击的。当设备收到ARP报文时,将此ARP报文对应的源IP、源MAC、VLAN以及接口信息和绑定表的信息进行比较,如果信息匹配,说明发送该ARP报文的用户是合法用户,允许此用户的ARP报文通过,否则就认为是攻击,丢弃该ARP报文。 动态ARP检测功能仅适用于DHCP Snooping场景。设备使能DHCP Snooping功能后,当DHCP用户上线时,设备会自动生成DHCP Snooping绑定表;对于静态配置IP地址的用户,设备不会生成DHCP Snooping绑定表,所以需要手动添加静态绑定表。关于DHCP Snooping的详细介绍,请参见DHCP Snooping的基本原理中的描述。
当Router上部署动态ARP检测功能后,如果攻击者连接到Router并试图发送伪造的ARP报文,Router会根据绑定表检测到这种攻击行为,对该ARP报文进行丢弃处理。如果Router上同时使能了动态ARP检测丢弃报文告警功能,则当ARP报文因不匹配绑定表而被丢弃的数量超过了告警阈值时,Router会发出告警通知管理员。
|