ARP安全简介
地址解析协议ARP(Address Resolution Protocol)安全是针对ARP攻击的一种保护特性,通过部署ARP安全的相关特性,不仅能够防范针对ARP协议的攻击,还可以防范网段扫描攻击等基于ARP协议的攻击,保证网络设备和网络通信的安全性。
目的
当两台主机需要进行通信的时候,发送方必须知道对方的网络层地址(即IP地址)。但是只有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此数据报文的发送方还必须知道接收方的物理地址(即MAC地址)。发送方需要将接收方IP地址映射到相应的MAC地址,保证数据报文的传送能够顺利进行。
ARP协议有简单、易用的优点,但是也因为其没有任何安全机制,容易被攻击发起者利用。在网络中,常见的ARP攻击方式主要包括:
-
ARP欺骗攻击
ARP欺骗指攻击者通过发送伪造的ARP报文,恶意修改网关或网络内其他主机的ARP表项,造成用户或网络的报文转发异常。通过部署防ARP欺骗功能,能有效地预防网络攻击者通过ARP报文的手段攻击网络,保证网络通信的安全性和可靠性。如表1所示。
防攻击功能 功能说明 ARP报文合法性检查 设备收到ARP报文时,对以太报文头中的源、目的MAC地址和ARP报文数据区中的源、目的MAC地址进行一致性检查。如果不一致,则直接丢弃该ARP报文。否则允许该ARP报文通过。 ARP表项固化 设备学习到ARP表项以后,不再允许其他用户更新ARP表项或只能更新此ARP表项的部分信息,以防止攻击者伪造ARP报文替换正常用户的ARP表项内容。 动态ARP检测 使能动态ARP检测DAI(Dynamic ARP Inspection)功能后,当设备收到ARP报文时,将此ARP报文的源IP地址、源MAC地址、收到ARP报文的接口及VLAN信息和DHCP Snooping绑定表的信息进行比较,如果信息匹配,则认为是合法用户,允许此用户的ARP报文通过,否则认为是攻击,丢弃该ARP报文。 本功能仅适用于DHCP Snooping场景。 ARP防网关冲突 如果有攻击者仿冒网关,在局域网内部发送源IP地址是网关IP地址的ARP报文,会导致局域网内其他用户主机的ARP表记录错误的网关地址映射关系。这样其他用户主机就会把发往网关的流量均发送给了攻击者,攻击者可轻易窃听到发送的数据内容,并且最终会造成这些用户主机无法访问网络。为了防范攻击者仿冒网关,当用户主机直接接入网关时,可以在网关设备上使能ARP防网关冲突攻击功能。 ARP表项严格学习 设备仅学习自己发送的ARP请求报文的应答报文,并不学习其它设备发送的ARP请求报文,即可以拒绝掉ARP请求报文攻击和非自己发送的ARP请求报文对应的应答报文攻击。 [表1防ARP欺骗攻击的安全方案] -
ARP泛洪攻击
ARP泛洪攻击也叫拒绝服务攻击(Denial of Service),攻击者向设备发送大量目的IP地址无法解析的伪造ARP请求报文或免费报文,造成设备上的ARP表项溢出,无法缓存正常用户的ARP表项,从而影响正常的报文转发。通过部署防ARP泛洪功能,能有效降低CPU的运行负担,防止ARP表项溢出,保证网络设备的正常运行。如表2 防ARP泛洪攻击的安全方案所示。
防攻击功能 功能说明 ARP表项限制 设备基于接口限制学习ARP表项的总数目,可以有效地防止ARP表项溢出,保证ARP表项的安全性。 ARP报文限速 设备对单位时间内收到的ARP报文进行数量统计,如果ARP报文的数量超过了配置的阈值,超出部分的ARP报文将被忽略,设备不作任何处理,有效防止ARP表项溢出。 ARP Miss消息限速 设备对单位时间内收到的ARP Miss消息进行数量统计,如果ARP Miss消息的数量超出了配置的阈值,超出部分的ARP Miss消息将被忽略,设备不作任何处理,有效降低CPU的运行负担 [表2防ARP泛洪攻击的安全方案]