DHCP Snooping是DHCP的一种安全特性,用来保证DHCP客户端能够正确的从DHCP服务器获取IP地址,防止网络中针对DHCP的攻击。
DHCP,动态主机配置协议,在IPv4网络中为客户端动态分配IP地址,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出申请,服务器返回为客户端分配的IP信息,包括IP地址、缺省网关、DNS Server等参数。
DHCP组网中包括以下两种角色:
DHCP Server仿冒攻击:非法用户通过仿冒DHCP Server,为客户端分配错误的IP地址,导致客户端无法正常接入网络。
DHCP报文仿冒攻击:
1、已获取到IP地址的合法用户通过向服务器发送DHCP Request报文用以续租IP地址。非法用户冒充合法用户不断向DHCP Server发送DHCP Request报文来续租IP地址,导致到期的IP地址无法正常回收,新的合法用户不能再获得IP地址。
2、已获取到IP地址的合法用户通过向服务器发送DHCP Release报文用以释放IP地址。非法用户仿冒合法用户向DHCP Server发送DHCP Release报文,使合法用户异常下线。
DHCP报文泛洪攻击:
非法用户在短时间内发送大量DHCP报文,使DHCP Server无法正常处理报文,从而无法为客户端分配IP地址。
DHCP Server拒绝服务攻击
1、非法用户通过恶意申请IP地址,使DHCP服务器中的IP地址快速耗尽,无法为合法用户再分配IP地址
2、DHCP Server通常仅根据DHCP Request报文中的CHADDR(Client Hardware Address)字段来确认客户端的mac地址。非法用户通过不断改变CHADDR字段向DHCP Server申请IP地址,使DHCP服务器中的IP地址快速耗尽,无法为合法用户再分配IP地址。
DHCP Server仿冒攻击
配置接入交换机与DHCP Server相连的接口为信任接口,只有信任接口能够接收和转发DHCP报文。
DHCP报文仿冒攻击
在DHCP Server为客户端分配IP地址过程中,根据DHCP报文生成DHCP Snooping绑定表,该绑定表记录MAC地址、IP地址、租约时间、VLAN ID、接口等信息,然后通过DHCP报文与绑定表的合法性检查,丢弃非法报文,防止DHCP报文仿冒攻击。
DHCP报文泛洪攻击
限制DHCP报文上送CPU的速率。
DHCP Server拒绝服务攻击
1、通过限制DHCP Snooping绑定表的个数,限制用户接入数。当用户数达到指定值时,任何用户将无法通过此接口申请到IP地址。
2、通过检查DHCP Request报文帧头MAC与DHCP数据区中CHADDR字段的一致性,丢弃不一致的报文,防止非法用户攻击。
DHCP PC1和DHCP PC2通过SwitchA向DHCP Server申请IP地址。通过在SwitchA上配置DHCP Snooping功能,防止以下类型的攻击:
S交换机的配置方法如下:
1、全局和接口下使能DHCP Snooping功能。
[SwitchA] dhcp enable //需要先全局使能DHCP功能 [SwitchA] dhcp snooping enable [SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] dhcp snooping enable [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] dhcp snooping enable [SwitchA-GigabitEthernet0/0/2] quit
2、连接DHCP Server的接口配置为信任接口,防止DHCP Server仿冒者攻击。
[SwitchA] interface gigabitethernet 0/0/4 [SwitchA-GigabitEthernet0/0/4] dhcp snooping enable [SwitchA-GigabitEthernet0/0/4] dhcp snooping trusted [SwitchA-GigabitEthernet0/0/4] quit
3、DHCP报文与绑定表的合法性检查,防止DHCP报文仿冒攻击。
[SwitchA] dhcp enable [SwitchA] dhcp snooping check dhcp-request enable vlan 10 //对VLAN 10内的用户进行合法性检查
4、限制DHCP报文上送CPU的个数,防止DHCP报文泛洪攻击。
[SwitchA] dhcp snooping check dhcp-rate enable //使能对DHCP报文上送CPU的速率检测功能 [SwitchA] dhcp snooping check dhcp-rate 90 //每秒最多处理90个DHCP报文
5、配置DHCP Snooping绑定表个数和DHCP Request报文帧头源MAC地址与CHADDR字段一致性检查功能,防止DHCP Server拒绝服务攻击。
[SwitchA] dhcp snooping max-user-number 2 vlan 10 //配置VLAN 10内只允许两个用户接入 [SwitchA] dhcp snooping check dhcp-chaddr enable vlan 10