「DHCP」- 消耗攻击(饿死攻击,Starvation Attack)

问题描述

攻击者持续大量地向 DHCP Server 申请 IP 地址,直到耗尽 DHCP Server 地址池中的 IP 地址,导致 DHCP Server 不能给正常的用户进行分配;

原因分析

DHCP Server 向 DHCP Client 分配 IP 地址时,无法区分正常的申请者与恶意的申请者;

解决方案

防止通过变换 MAC 地址,来大量发送 DHCP 请求

通过 DHCP Snooping 的 MAC 地址限制功能,来防止饿死攻击

该功能通过限制交换机 Interface 上允许学习到的最多 MAC-ADDR 数目,这样攻击者便无法通过修改 MAC-ADDR 来发送大量 DHCP 请求;

通过 dhcp snooping max-user-number 命令

防止通过改变 CHADDR 值的 DoS 攻击

攻击原理:DHCP 是根据 CHADDR 进行地址分配的,所以攻击者能够通过修改 CHADDR 来发送饿死工具,而不需要修改 SRC-ADDR;

防护原理:为了避免受到攻击者改变 CHADDR 值的攻击,可以在设备上配置 DHCP Snooping 功能,检查 DHCP-Request.CHADDR 字段。如果该字段跟数据帧头部的 SRC-MAC 相匹配,转发报文;否则,丢弃报文。从而保证合法用户可以正常使用网络服务;

如果要在某端口下实施源 MAC 地址与 CHADDR 的一致性检查,可以使用:[Interface] dhcp snooping check dhcp-chaddr enable