攻击原理
DHCP Server是根据DHCP报文中的CHADDR(client Hardware address)字段来识别确认不同的客户端,如果攻击者持续发送REQUEST报文不断修改CHADDR字段申请IP地址,将会导致DHCP Server的地址池全部耗尽,从而导致无法正常为用户提供IP地址。
解决办法
DHCP Snooping技术支持在端口下对DHCP Request报文的源MAC地址与CHADDR进行一致性检查(ip/mac/interface/lease):如果二者相同,则转发报文;如果二者不相同,则丢弃。如果要在某端口下实施源MAC地址与CHADDR的一致性检查。可以在该端口下使用命令dhcp snooping check dhcp-chaddr enable。
配置命令
1、系统视图、VLAN视图、接口视图下
dhcp snooping check dhcp-chaddr enable //开启接受侦听到DHCP Request报文之后,检测数据链路层源MAC地址和DHCP报文中的CHADDR是否一致功能
dhcp snooping alarm dhcp-chaddr enable //开启因为dhcp-chaddr,而导致的丢弃dhcp报文的告警功能
dhcp snooping alarm dhcp-chaddr threshold 100 //设置由于dhcp-chaddr,而导致丢弃dhcp报文的告警阈值(默认为100包)
2、[Huawei-GigabitEthernet0/0/1]dhcp snooping check dhcp-chaddr enable alarm dhcp-chaddr enable threshold 100
//这样配置和将会自动方式1三条命令,这种代表开启dhcp-chaddr,并且开启因为dhcp-chaddr而导致丢弃dhcp报文的告警功能,并且设置告警阈值为100
变异攻击
问题:如果攻击者发送Discover报文的时候,同时修改数据链路层MAC地址与报文中的保持一致,那么将会躲过服务器的一致性检查。
解决:可以在交换机连接用户的接口上配置Snooping max-user-number,限制接口下的申请总数量。
配置命令
1、系统视图、VLAN视图、接口视图下
dhcp snooping max-user-number 100 //配置接口允许学习的DHCP Snooping绑定表项的最大个数后,可以使用命令dhcp snooping user-alarm percentage配置DHCP Snooping绑定表的告警阈值百分比。
dhcp snooping user-alarm percentage 30 80 //配置DHCP Snooping绑定表的告警阈值百分比。
//当实际学习到的DHCP Snooping绑定表项数占设备允许学习的最大表项数比例的等于或高于上限告警阈值百分比时,设备将会发出告警。之后,如果该比例又等于或小于下限告警阈值百分比,设备会再次发出告警。