你不可忽视的园区网ARP安全防护
发布时间:2019-04-03

前言

ARP(Address Resolution Protocol,地址解析协议),目的是实现IP地址到MAC地址的映射。而在TCP/IP协议栈中,最不安全的协议,可能非ARP莫属了。我们经常听到的这些术语,包括"网络扫描"、"内网渗透"、"中间人拦截"、"局域网流控"、"流量欺骗",基本都跟ARP脱不了干系。本文重点针对在IPv4环境下的ARP防御问题以及解决方案进行具体阐述。主要包括:ARP欺骗攻击以及解决方案、ARP泛洪攻击以及解决方案和实际部署时的建议。

 

ARP攻击介绍

ARP欺骗攻击

• ARP欺骗的原理

正常的ARP通讯过程只需广播ARP Request和单播ARP Reply两个过程,简单的说就是一问一答。而ARP的欺骗就是通过伪造请求或者应答报文形成的欺骗。

• ARP欺骗攻击的分类

根据ARP欺骗者与被欺骗者之间角色关系的不同,通常可以把ARP欺骗攻击分为如下两种,如图1所示:

主机型ARP欺骗:欺骗者主机冒充网关设备对其他主机进行欺骗。

网关型ARP欺骗:欺骗者主机冒充其他主机对网关设备进行欺骗。

 

▲图1 ARP欺骗分类

 

ARP泛洪攻击

• ARP泛洪攻击的原理

ARP泛洪攻击,也叫拒绝服务攻击(Denial of Service),可能导致大量消耗交换机内存、表项或者其它资源,使系统无法继续服务。大量的报文砸向CPU,占用了整个送CPU报文的带宽,导致正常的协议报文和管理报文无法被CPU处理,带来协议震荡或者设备无法管理,进而导致数据面转发受影响,并引起整个网络无法正常运行。

 

ARP欺骗攻击解决方案

在介绍具体解决方案之前,我们先了解下防ARP欺骗的核心功能:ARP-check(ARP报文合规校验),校验ARP报文的源IP与安全地址中的IP是否一致,校验ARP报文的源MAC与安全地址中的MAC是否一致,在两项校验均合规的情况下对报文进行转发。而安全地址的生成,我们可以通过手工静态绑定的方式以及DHCP Snooping监测的方式获取,具体流程如图2:

 

▲图2 ARP-check流程

 

以上是硬件检测的流程,除此之外还有一种软件校验的方式,就是将端口的ARP请求直接送往CPU,而CPU依据DHCP Snooping的表项进行合规检查。

 

端口安全 + ARP-check方案

应用场景:此方案适用于用户IP地址为静态分配的场景,并且需要明确知道每个用户所连接交换机端口。

功能简介:通过手工的方式将IP与MAC的对应关系配置到交换机的端口,并开启ARP合规检查。具体配置如图3:

 

▲图3 端口安全+ARP-check方案配置

 

方案的优势:控制非常严格,应用硬件方式直接校验ARP报文,准确,无需消耗CPU。

缺点的劣势:端口安全必须收集并配置所有用户IP和MAC信息,较为繁杂,不够灵活,不适合于用户需要频繁迁移端口的环境。

 

全局IP&MAC绑定+ARP-check方案

应用场景:此方案适用于用户IP地址为静态分配的场景,但管理员不需要知道每个用户所连接的交换机端口,因此适用于用户分布情况不确定,或者下联用户存在随意移动端口的场景中。

功能简介:通过手工方式将IP与MAC的对应关系配置到交换机全局,并在交换机的端口下开启ARP合规检查。具体配置如图4:

 

▲图4 全局IP+MAC绑定+ARP-check方案配置

 

方案的优点:控制较为严格,允许用户在本交换机内部进行端口迁移具备一定的灵活性,应用硬件方式直接校验ARP报文,准确,无需消耗CPU。

方案的缺点:端口安全必须收集并配置所有用户IP和MAC信息,较为繁杂。

 

DAI方案

应用场景:DAI(Dynamic ARP Inspection)方案适合于接入用户使用DHCP动态获取IP地址环境,同时要求部署DHCP Snooping功能。

功能简介:提取DHCP Snooping表中的IP+MAC信息,通过CPU过滤源MAC/源IP不在Snooping表中的ARP报文,具体流程如图5:

 

▲图5 DAI方案ARP合规检查流程图

 

具体配置见图6:

 

▲图6 DAI方案配置

 

方案的优点:配置维护简单,无需手工配置每个用户的IP&MAC绑定。

方案的缺点:由于用户的ARP报文送CPU检查,检查的来源是DHCP Snooping所记录的软件表项,因此会额外消耗设备的CPU资源。

 

IP Source Guard + ARP-check方案

应用场景:此方案适合于接入用户使用DHCP动态获取IP地址环境,同时要求部署DHCP Snooping功能 。

功能简介:提取DHCP Snooping表中正确的IP与MAC,通过IP Source Guard将DHCP Snooping表写入交换机硬件表项,使用ARP-check功能校验ARP报文的合法性,具体流程如图7:

 

▲图7 IP Source Guard + ARP-check方案流程图

 

具体配置如图8:

 

▲图8 IP Source Guard + ARP-check方案配置

 

方案的优点:配置维护简单,和DAI相比,ARP-check属于硬件芯片检查安全表项,不消耗CPU资源。

方案的缺点:对交换机的安全功能要求较高,需要同时支持DHCP Snooping、IP Source Guard、ARP-check这三种功能。跟DAI相比,会消耗硬件资源表项,当交换机使用较多安全功能时,比如ACL,且交换机下接用户数过多,可能会导致设备硬件安全资源不足,需要适当控制单台交换机的带机数。

设备硬件资源不足时,会提示类似这样的log:

%SECURITY-3-TCAM_RESOURCE_LIMIT: TCAM resource is temporary not available.

 

ARP欺骗解决方案对比分析

 

▲表1 ARP欺骗解决方案对比分析表

 

如表1所示,当网络内采用DHCP方式动态获取IP,那么推荐采用IP Source Guard + ARP-check方案进行防ARP欺骗攻击部署,对于部分手工配置的IP地址需要网络访问时,例如打印机,可以结合端口或者全局IP&MAC手动绑定的方式+ ARP-check解决。

 

ARP泛洪攻击解决方案

 

CPP+NFPP解决ARP泛洪攻击

由于ARP报文的解析均要送往CPU进行解析,因此我们可以通过限制ARP送往CPU的报文速率实现对CPU的保护

CPP(CPU Protect Policy,CPU保护策略)是一种设备自身用来保护CPU的安全防护功能,用于避免网络设备的CPU收到网络上不必要和具有恶意攻击目的的数据报文,通过将发往CPU的报文识别分类、划分队列、限速、调度、流量整形等处理后,送达CPU,保证网络设备的CPU即使在一个充斥着网络攻击的环境中仍可以对正常进行协议报文处理,确保网络的稳定运行。如图9所示:

 

▲图9 CPP工作流程图

 

当然CPP本身也是有局限性的,例如仅针对报文进行限速,无法从根本解决问题,并且没有相关的日志产生,导致出现问题后无法定位故障。针对CPP的局限,一个全新的系统架构出现,即:NFPP(Network Foundation Protection Policy,网络基础保护策略)。

对比于CPP,NFPP增加了安全策略,如(隔离策略,攻击检测策略),并且能够在触发安全策略后以syslog或者trap的方式上报服务器,具体流程如图10所示:

 

▲图10 NFPP简化流程图

 

在NFPP框架内隔离策略,可从源头屏蔽攻击,并且会产生相关的log信息,从而帮助网络管理员定位问题。在NFPP框架内,可实现对于ARP报文的防护(ARP-Guard)、ND报文的防护、DHCP报文防护等等,本文将针对ARP防护进行进一步详细介绍。

 

ARP防护(ARP-Guard):

ARP-Guard功能主要目标为保护设备CPU,防止大量ARP攻击报文送CPU导致CPU利用率升高,所以ARP-Guard实现了对送往CPU的ARP报文的限速和攻击检测。

通过在交换机上开启ARP-Guard功能,设置ARP报文的攻击水线以及限速水线。如果ARP报文量超过攻击水线,那么设备将通过安全策略直接进行隔离,并产生log信息给日志服务器。如果ARP报文量小于攻击水线但大于限速水线,那么将对报文进行限速处理,并产生log信息给日志服务器。如果ARP报文量低于限速水线,可正常转发至CPU。如图11所示:

 

▲图11 ARP-Guard工作流程图

 

在实际部署过程当中,NFPP往往与CPP同时开启。

 

 

总 结

ARP欺骗攻击可能引发网络的信息安全问题,而ARP泛洪攻击可能直接导致网络交换机的瘫痪,造成网络的不可用。一个引发数据泄露,而另一个将导致生产业务中断,因此需要网络管理人员高度重视。建议实际部署或者交付过程中,增加对ARP防护的配置,推荐方案为:

• 部署IP Source Guard + ARP-check,可实现防止APR欺骗、防止DHCP私设以及防止内网IP私设。

• 部署CPP+NFPP,可防止ARP泛洪攻击、DHCP攻击,防止CPU负载过高。

 

 


本期作者:张文杰

锐捷网络互联网系统部行业咨询

 

往期精彩回顾  

相关推荐:

锐捷互动
搜索“锐捷互动”
或扫码关注
随时了解更多信息

返回顶部