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资源。