菜单
本页目录

ARP攻防笔记整理

ARP通信与攻防概述

在ARP(地址解析协议)通信场景下,由于协议本身基于广播通信,因此容易受到攻击。为了应对这些攻击,设备提供了多种攻击防范功能。

ARP泛洪攻击及防御措施

ARP泛洪攻击:通过大量发送ARP请求或应答报文,占用网络带宽和设备资源,导致正常通信受阻。

防御措施

  1. 配置ARP报文限速

    • 根据源MAC地址、源IP地址、全局、VLAN或接口进行限速。
    • 基于源MAC地址限制:默认不限制,不同设备支持的速率不同。
    • 基于源IP地址限制:默认30个/秒。
    • 应用在三层设备上,针对全局、VLAN和接口进行不同方式的配置。
  2. 配置ARP Miss消息限速

    • 对无法解析的ARP请求(ARP Miss)进行限速。
    • 默认每秒接收来自同一个源的30个ARP Miss消息。
    • 超过限制后,默认5分钟内不再处理该源的ARP Miss消息。
  3. 配置临时ARP表项的老化时间

    • 缩短临时表项(未收到回复前建立的表项)的老化时间,以减轻泛洪攻击的影响。
  4. 配置ARP优化应答

    • 对收到的ARP请求进行检查,如果是本设备地址则直接回复,否则按代理条件转发或丢弃。
    • 默认开启,特别适用于堆叠场景。
  5. 配置禁止过路ARP报文上送CPU功能

    • 过滤掉与本设备无关的ARP报文,减少CPU负担。
  6. 配置ARP表项严格学习

    • 仅在发送的ARP请求收到回复时学习表项,增强安全性。
  7. 配置基于接口的ARP表项限制

    • 控制特定接口学习的ARP表项数量。
  8. 配置禁止接口学习ARP表项

    • 完全禁止特定接口学习ARP表项。

ARP欺骗攻击及防御措施

ARP欺骗攻击:通过发送伪造的ARP报文,欺骗网络设备,导致数据流向错误的设备。

防御措施

  1. 配置ARP表项固化

    • 将学习到的ARP表项与流量中的ARP信息进行对比,根据对比结果处理流量。
    • 支持fixed-MAC、fixed-all、send-ack等处理方式。
  2. 配置动态ARP检测(DAI)

    • 对收到的流量信息与学习的ARP表项进行对比,不匹配则丢弃。
  3. 配置ARP防网关冲突

    • 检测并丢弃源IP地址与接口IP地址相同或源IP地址为虚拟IP但源MAC地址不是VRRP虚MAC的ARP报文。
  4. 配置发送ARP免费报文

    • 网关设备主动周期发送免费ARP报文,帮助终端更新错误的ARP表项。
  5. 配置ARP网关保护功能

    • 在设备与网关相连的接口上配置,增强网关安全性。
  6. 配置ARP报文内MAC地址一致性检查

    • 检查ARP报文中二层封装的源MAC地址与ARP报文中指定的源MAC地址是否相同,不同则丢弃。
  7. 配置ARP报文合法性检查

    • 检查ARP报文中二层封装的MAC地址与ARP报文中携带的MAC地址是否相同,以及IP地址的合法性,不合法则丢弃。
  8. 配置DHCP触发ARP学习

    • 在DHCP场景下,根据DHCP-ACK报文学习ARP表项。

ARP表项内容

ARP表项包含以下内容:IP地址、MAC地址、老化时间、接口、类型。

流量抑制与风暴控制

流量抑制:针对局域网中的单播、组播、广播报文以及ICMP报文进行抑制,限制设备处理报文的速率。

风暴控制:针对广播、未知组播以及未知单播报文数量过多导致的风暴问题进行控制,控制方式包括按包速率、字节速率、百分比进行限制,超过阈值可关闭或阻塞端口。

端口安全

端口安全:将学习到的动态普通MAC表项转换成动态安全MAC表项,并基于安全MAC表项的学习进行控制。

动态普通MAC表项与动态安全MAC表项的区别

  • 动态安全MAC表项默认不老化,重启后需要重新学习转换。
  • 可手动配置绝对时间老化或相对时间老化。

静态安全MAC表项:基于sticky MAC手动创建而来。

Sticky MAC地址:基于普通MAC表项转换成安全动态MAC表项再转换而成。

安全MAC表项的控制

  • 限制端口学习安全MAC地址的数量,默认是1。
  • 超过限制可执行restrict(丢弃并上报告警)、protect(只丢弃不上报)、shutdown(接口置为error-down并上报告警)等动作。