1. Anti-attack(ARP 防攻击)特征
1)ARP 泛洪攻击(拒绝服务攻击 DoS)
- 设备处理 ARP 报文和维护 ARP 表项都需要消耗系统资源,同时为了满足 ARP 表项查询效率的要求,一般设备都会对 ARP 表项规模有规格限制。攻击者就利用这一点,通过伪造大量源 IP 地址变化的 ARP 报文,使得设备 ARP 表资源被无效的 ARP 条目耗尽,合法用户的 ARP 报文不能继续生成 ARP 条目,导致正常通信中断
攻击者利用工具扫描本网段主机或者进行跨网段扫描时,会向设备发送大量目标 IP 地址不能解析的 IP 报文,导致设备触发大量 ARP Miss 消息,生成并下发大量临时 ARP 表项,并广播大量 ARP 请求报文以对目标 IP 地址进行解析,从而造成 CPU 负荷过重
2)ARP 欺骗攻击(中间人攻击)
攻击者通过发送伪造的 ARP 报文,恶意修改设备或网络内其他用户主机的 ARP 表项,造成用户或网络的报文通信异常
3. 防止 ARP 泛洪攻击
1)ARP 报文限速
防止因处理大量 ARP 报文造成 CPU 负荷
Gateway 会对收到的 ARP 报文进行数量统计,如果在一定时间内,ARP 报文的数量超出了配置的阈值(ARP 报文限速值),则丢弃超出阈值部分的 ARP 报文
2)ARP Miss 消息限速
防止因处理大量 DIP 地址不能解析的 IP 报文造成 CPU 负荷
Gateway 会对 ARP Miss 消息进行数量统计,如果在一定时间内,ARP Miss 消息的数量超出了配置的阈值(ARP Miss 消息限速值),则超出部分的 ARP Miss 消息将被忽略,且 Gateway 会丢弃触发 ARP Miss 消息的 IP 报文
3)免费 ARP 报文主动丢弃
降低网关设备 CPU 的负担
Gateway 直接丢弃免费 ARP 报文,这样可以降低 CPU 的负担。
4)ARP 表项严格学习
防止网关设备因学习大量 ARP 报文而导致 ARP 表项被耗尽
Gateway 仅仅学习自己发送的 ARP 请求报文的应答报文,并不学习其它设备主动向 Gateway 发送的 ARP 报文
5)ARP 表项限制
防止一个接口所接入的某一用户主机发起 ARP 攻击而导致整个设备的 ARP 表资源都被耗尽
Gateway 会对各个接口学习动态 ARP 表项的数目进行限制。当指定接口下的动态 ARP 表项达到允许学习的最大数目后,将不允许新增动态 ARP 表项
4. 防止 ARP 欺骗攻击
1)ARP 表项固化
防止攻击者伪造 ARP 报文修改网关上其他用户的 ARP 表项
Gateway 在第一次学习到 ARP 之后,不再允许用户更新此 ARP 表项或只能更新此 ARP 表项的部分信息,或者通过发送单播 ARP 请求报文的方式对更新 ARP 条目的报文进行合法性确认
2)免费 ARP 报文主动丢弃
防止伪造的免费 ARP 报文修改网关上其他用户的 ARP 表项,导致合法用户的通信流量发生中断
3)ARP 表项严格学习
防止攻击者冒充其他用户修改网关上对应的 ARP 表项
Gateway 仅仅学习自己向终端发送的 ARP 请求报文的应答报文,不学习攻击者主动向 Gateway 发送的ARP报文,并且不允许攻击者主动发送的 ARP 报文更新 Gateway 上现有的 ARP 条目
4)发送免费 ARP 报文
防止用户的报文不能正常的转发到网关或者被恶意攻击者窃听
Gateway 主动向用户发送以自己IP地址为目标 IP 地址的 ARP 请求报文,定时更新用户 ARP 表项的网关 MAC 地址
5)动态 ARP 检测(DAI)
防止中间人攻击(一般用在局域网中大部分是 DHCP 用户),仅适用于DHCP Snooping场景
当设备收到 ARP 报文时,将此 ARP 报文的源 IP、源 MAC、收到 ARP 报文的接口及 VLAN 信息和绑定表的信息进行比较,如果信息匹配,则认为是合法用户,允许 ARP 报文通过,否则认为是攻击,丢弃该 ARP 报文