防范仿冒DHCP服务器攻击(非法设备伪装成DHCP服务器分配错误IP)、DHCP报文泛洪攻击(恶意用户发送大量DHCP报文耗尽设备性能)、IP地址欺骗攻击(伪造MAC/IP地址获取非法IP)及中间人攻击(拦截篡改DHCP通信),确保DHCP服务的可用性与合法性。
DHCP Snooping是防御DHCP攻击的核心技术,通过建立DHCP绑定表(记录MAC地址、IP地址、接口、VLAN等信息),区分合法与非法DHCP报文,过滤仿冒服务器响应。
在二层接入设备(如交换机)上全局开启DHCP Snooping,并在对应VLAN或接口上启用:
system-view
dhcp enable # 全局开启DHCP服务
dhcp snooping enable # 全局开启DHCP Snooping
interface GigabitEthernet 0/0/1 # 用户侧接口(连接PC/终端)
dhcp snooping enable
interface GigabitEthernet 0/0/2 # 可选:其他用户侧接口
dhcp snooping enable
将与合法DHCP服务器直连的接口标记为“信任接口”(Trusted),允许其发送的DHCP响应通过;其他接口默认为“非信任接口”(Untrusted),过滤非法DHCP服务器的响应:
interface GigabitEthernet 0/0/3 # 合法DHCP服务器连接的接口
dhcp snooping trusted
通过以下命令查看绑定表及配置信息,确认设置生效:
display dhcp snooping binding # 查看DHCP绑定表(包含MAC、IP、接口等信息)
display dhcp snooping configuration # 查看DHCP Snooping全局配置
恶意用户通过发送大量DHCP报文(如Discover/Offer)占用设备处理能力,导致合法用户无法获取IP。需通过端口级与用户级速率限制缓解:
限制单个端口上送控制面的DHCP报文速率(如每秒最多30个报文),超过阈值的报文将被丢弃:
interface GigabitEthernet 0/0/1
dhcp snooping check dhcp-rate enable # 开启端口级速率检测
dhcp snooping check dhcp-rate 30 # 设置速率阈值为30个/秒
基于用户MAC地址或IP地址监控DHCP报文速率(如每个MAC每秒最多10个报文),超过阈值的用户报文将被临时丢弃(如300秒):
cpu-defend policy antiatk # 进入攻击溯源策略配置
auto-defend enable # 开启自动防御功能
auto-defend threshold 10 # 设置用户级速率阈值为10个/秒
auto-defend action deny timeout 300 # 超过阈值时丢弃报文300秒
auto-defend whitelist 1 interface GigabitEthernet 0/0/3 # 将合法DHCP服务器接口加入白名单(避免误过滤)
quit
若使用Linux系统作为DHCP服务器(如ISC DHCP),需通过配置文件加固与日志监控提升安全性:
编辑/etc/dhcp/dhcpd.conf,明确划分子网、限制地址池范围、缩短租约时间(降低IP被长期占用的风险):
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # 缩小地址池范围(避免IP浪费)
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8;
default-lease-time 3600; # 默认租约时间1小时(可根据需求调整)
max-lease-time 7200; # 最大租约时间2小时
}
为关键设备(如服务器、打印机)配置静态IP绑定(通过MAC地址分配固定IP),防止IP冲突:
host server01 {
hardware ethernet 00:11:22:33:44:55; # 设备MAC地址
fixed-address 192.168.1.50; # 分配的固定IP
}
将DHCP日志发送到独立日志设施(如local7),便于后续分析异常行为:
# 在dhcpd.conf中添加日志配置
option log-facility local7;
编辑/etc/rsyslog.conf或/etc/rsyslog.d/50-default.conf,将DHCP日志定向到指定文件:
local7.* /var/log/dhcpd.log
重启rsyslog服务使配置生效:
systemctl restart rsyslog
systemctl restart isc-dhcp-server # 重启DHCP服务
systemctl enable isc-dhcp-server # 设置开机自启
结合DHCP Snooping绑定表,过滤伪造源IP/MAC地址的流量(如ARP欺骗),需在交换机上配置:
interface GigabitEthernet 0/0/1
ip verify source port-security # 开启IPSG功能(需提前开启DHCP Snooping)
及时修补操作系统、DHCP服务器软件的漏洞(如Linux内核、ISC DHCP),降低被攻击风险。
通过802.1X认证限制设备接入网络,仅允许授权设备请求DHCP服务,从源头上减少非法设备带来的风险。