本文目录导读:

- 建立信任端口与非信任端口
- 验证 DHCP 消息的源 MAC 地址
- 维护 DHCP 绑定数据库(DHCP Snooping Binding Database)
- 速率限制(Rate Limiting)
- 选项 82 注入(Option 82)
- 常见欺骗攻击防御对比
- 配置示例(Cisco 交换机)
DHCP Snooping(DHCP 监听)是一种网络安全功能,主要用于防止 DHCP 相关的欺骗攻击,它通过监控和过滤 DHCP 消息,确保只有来自可信 DHCP 服务器的响应才能被客户端接收,以下是 DHCP Snooping 防止欺骗的具体机制:
建立信任端口与非信任端口
- 信任端口(Trusted Port):通常连接合法的 DHCP 服务器或上行链路,这些端口可以发送和接收所有类型的 DHCP 消息(如 Offer、ACK)。
- 非信任端口(Untrusted Port):通常连接客户端(如用户设备、交换机端口),非信任端口默认会过滤掉来自 DHCP 服务器的响应消息(如 Offer、ACK),只有 DHCP 请求消息(如 Discover、Request)允许从非信任端口发出。
作用:防止非信任端口接入的“伪 DHCP 服务器”向客户端发送欺骗性的 IP 配置(如伪造的网关地址)。
验证 DHCP 消息的源 MAC 地址
- DHCP Snooping 会检查 DHCP 消息中的 CHADDR 字段(客户端硬件地址)是否与数据链路层的 源 MAC 地址 一致。
- 如果两者不匹配(攻击者伪造了客户端 MAC 地址或发送欺骗应答),交换机将丢弃该 DHCP 消息。
作用:防止攻击者利用 MAC 地址欺骗(MAC Spoofing)冒充其他客户端或服务器。
维护 DHCP 绑定数据库(DHCP Snooping Binding Database)
- 交换机在非信任端口上监听 DHCP 请求和应答过程,记录每个客户端的 MAC 地址、IP 地址、租约时间、绑定端口 和 VLAN 等信息,并存储到 DHCP Snooping 绑定表中。
- 该表用于后续的防御检查,
- IP 源保护(IP Source Guard):结合 DHCP Snooping 绑定表,只允许表中记录的 IP 地址和 MAC 地址从对应端口发送数据。
- 动态 ARP 检测(DAI,Dynamic ARP Inspection):利用绑定表验证 ARP 包中的 IP 和 MAC 映射关系,防止 ARP 欺骗。
作用:确保只有经过合法 DHCP 分配的 IP 地址才能被使用,防止攻击者盗用 IP 或配置静态 IP 绕过认证。
速率限制(Rate Limiting)
- 对非信任端口的 DHCP 消息(如 Discover、Request、ACK 等)进行速率限制,如果某个端口在单位时间内发送的 DHCP 消息数量超过阈值,该端口会被暂时关闭或丢弃多余消息。
作用:防止 DHCP 饥饿攻击(即攻击者通过发送大量伪造的 DHCP 请求,耗尽 IP 地址池)。
选项 82 注入(Option 82)
- 当 DHCP Snooping 在非信任端口收到客户端请求后,会在 DHCP 请求消息中插入 Option 82(Relay Agent Information Option),包含客户端的端口号和 VLAN ID。
- 合法的 DHCP 服务器可以识别 Option 82 信息,将应答消息带回相同的端口,避免跨端口欺骗。
- 如果非信任端口的 DHCP 应答中不包含正确的 Option 82 信息,交换机将丢弃该应答。
作用:防止二层网络中的“中间人”攻击或伪造 DHCP 响应,同时支持基于端口的策略(如特定端口获得特定 IP 段)。
常见欺骗攻击防御对比
| 攻击类型 | 攻击方式 | DHCP Snooping 防御机制 |
|---|---|---|
| DHCP 服务器欺骗 | 攻击者冒充合法 DHCP 服务器,提供错误的网关或 DNS。 | 信任端口只允许连接合法服务器,非信任端口丢弃 DHCP Offer/ACK。 |
| DHCP 饥饿攻击 | 攻击者发送大量伪造 MAC 的 DHCP Discover 请求,耗尽 IP 池。 | 非信任端口速率限制,短时间内超阈值则关闭端口或丢弃消息。 |
| MAC 地址欺骗 | 攻击者伪造 MAC 地址冒充客户端,获取 IP 或盗用 IP。 | 检查 CHADDR 与源 MAC 一致性,并维护绑定表验证。 |
| 中间人攻击 | 攻击者通过伪造 DHCP 消息插入链路。 | Option 82 确保响应必须回到原端口,避免跨端口劫持。 |
配置示例(Cisco 交换机)
! 全局启用 DHCP Snooping ip dhcp snooping ip dhcp snooping vlan 10,20 ! 将连接到合法 DHCP 服务器的端口设为信任端口 interface GigabitEthernet0/1 description "连接到合法 DHCP 服务器" ip dhcp snooping trust ! 非信任端口默认即为 untrusted(无需显式配置),但可设置速率限制 interface GigabitEthernet0/2 description "用户接入端口" ip dhcp snooping limit rate 10 ! 限制该端口每秒 DHCP 消息数不超过 10
DHCP Snooping 通过划分端口信任级别、验证消息合法性、维护绑定数据库、执行速率限制以及注入 Option 82 等多重手段,有效抵御 DHCP 相关的欺骗攻击,保证了网络 IP 分配的合法性和安全性,它常与 IP Source Guard 和 Dynamic ARP Inspection 配合使用,形成更完整的安全体系。