1. DHCP 安全概述
DHCP 安全主要防范以下威胁:
- Rogue DHCP(流氓 DHCP) — 未授权的 DHCP 服务器分配错误 IP
- DHCP 饥饿攻击 — 攻击者大量请求耗尽地址池
- DHCP 欺骗 — 伪造 DHCP 服务器响应
- 未授权设备接入 — 非公司设备获取 IP 接入网络
2. AD 域中的授权保护
AD 域环境中,Windows DHCP 服务器必须经过授权才能响应请求。这是最基本的安全机制。
PowerShell - 查看已授权服务器
# 查看所有已授权 DHCP 服务器
Get-DhcpServerInDC
# 撤销授权
Remove-DhcpServerInDC -DnsName "rogue-server" -IPAddress "192.168.10.100"
💡 局限性
AD 授权只保护 Windows DHCP 服务器。非 Windows 的 DHCP(如路由器内置 DHCP)不受 AD 授权约束。需配合交换机端口安全。
3. MAC 地址筛选(允许/拒绝列表)
1
DHCP 管理器 → 展开 IPv4 → 筛选器
2
右键「允许」 → 「新建筛选器」 → 输入允许的 MAC 地址
3
右键「拒绝」 → 「新建筛选器」 → 输入要封禁的 MAC 地址
4
右键「筛选器」 → 「启用筛选器」
PowerShell - MAC 筛选
# 启用 MAC 筛选
Set-DhcpServerv4Filter -ComputerName "dc1.iehang.cn" `
-Allow $true -Deny $true
# 添加允许列表
Add-DhcpServerv4Filter -ComputerName "dc1.iehang.cn" `
-List Allow -MacAddress "00-1A-2B-3C-4D-5E" `
-Description "1楼HP打印机"
# 添加拒绝列表
Add-DhcpServerv4Filter -ComputerName "dc1.iehang.cn" `
-List Deny -MacAddress "AA-BB-CC-DD-EE-FF" `
-Description "已离职员工设备"
# 查看筛选器
Get-DhcpServerv4Filter -ComputerName "dc1.iehang.cn" -List Deny
# 批量导入允许列表
Import-Csv "C:\temp\allowed-macs.csv" | ForEach-Object {
Add-DhcpServerv4Filter -ComputerName "dc1.iehang.cn" `
-List Allow -MacAddress $_.MAC -Description $_.Desc
}
4. DHCP 侦测
Windows Server 支持在授权前进行侦测,防止重复授权:
1
DHCP 管理器 → 右键「dc1.iehang.cn」 → 「属性」 → 「高级」
2
勾选「DHCP 侦测」(默认已开启)
3
侦测次数设为 4(默认值),延迟设为 1000 毫秒
PowerShell - 侦测配置
# 启用侦测
Set-DhcpServerv4DnsSetting -ComputerName "dc1.iehang.cn"
# Windows 注册表查看/设置侦测参数
Get-ItemProperty "HKLM:\System\CurrentControlSet\Services\DHCPServer\Parameters" `
| Select-Object ConflictDetectionAttempts
5. 交换机层面的防护
配合交换机功能提供多层防护:
| 功能 | 作用 | 配置位置 |
|---|---|---|
| DHCP Snooping | 只允许信任端口的 DHCP 响应通过 | 交换机 |
| IP Source Guard | 绑定端口 + IP + MAC,防止 IP 欺骗 | 交换机 |
| Dynamic ARP Inspection | 防止 ARP 欺骗 | 交换机 |
| Port Security | 限制端口最大 MAC 数量 | 交换机 |
6. 常见问题
Q1:如何检测网络中的 Rogue DHCP?
使用 Get-DhcpServerInDC 查看已授权列表。未在列表中的 Windows DHCP 不会响应。也可以用 Wireshark 抓包分析 DHCP Offer 来源。
Q2:MAC 筛选启用了但客户端仍获取到 IP?
检查筛选器列表是否为空(空列表 = 不过滤)。确保至少有一条 Allow 记录且已启用。
Q3:地址饥饿攻击如何防范?
在交换机上启用 DHCP Snooping + Port Security 限制 MAC 数量。