DHCP简化了配置,提高了管理效率。但是也带来安全隐患。

常见的有:
  1. 无赖(rouge)DHCP服务器
  2. DHCP耗竭攻击
  3. Ip地址冲突
  无赖(rouge)DHCP服务器
   由于DHCP服务器和客户端之间没有认证机制,网络上随意架设一台无赖DHCP服务器,给客户分配错误的IP地址,那就会对网络造成非常大的危害。
 DHCP耗竭攻击
通常DHCP服务器通过检查客户端发送的DHCP报文中的CHADDR(客户主机MAC地址)字段来判断客户的MAC的。一般情况下应该和发送报文的客户端真实MAC地址相同。
虽然可以利用端口安全(Port Security)限制每个端口只使用唯一的MAC地址。但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那就可以绕过端口安全的检查了。
Yersinia和gobble都能实施这种攻击

snooping安全技术分析_snooping

三 Ip地址冲突
客户端并非一定要使用DHCP服务获取IP,也可使用静态指定的方式来设置IP地址。这将会大大提高网络IP地址冲突的可能性。
DHCP SNOOPING技术介绍
DHCP spanning 是一个控制平面特性。能在一个VLAN上严密监视并限制DHCP的操作。
这就意味着可以做深度检查,查看DHCP内部的字段。
交换机端口划分为两类:
非信任端口:通常为连接终端设备的端口,如PC,网络打印机等
交换机限制用户非信任端口,只能够发送DHCP请求,丢弃来自非信任端口的所有其它DHCP报文。交换机限制用户非信任端口,只能够发送DHCP请求,丢弃来自非信任端口的所有其它DHCP报文.而且,即使是DHCP请求。只有DHCP 请求报文头里的源MAC地址和 DHCP报文中的硬件地址(CHADDR字段)只有这两者相同的请求报文才会被转发,否则将被丢弃。这样就防止了DHCP耗竭攻击。
信任端口:连接合法DHCP服务器的端口或者连接汇聚交换机的上行端口
信任端口可以接收所有的DHCP报文
通过只将交换机合法DHCP服务器连接到信任端口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来攻击网络。
通过DHCP报文进行限速,可以防止DHCP请求报文的广播攻击。
在非信任端口的客户端获得一个合法的DHCP Offer,交换机开始从DHCP数据包收集信息构建绑定表,这些信息包括IP地址,MAC地址,VLAN,端口 ,租期。
绑定表构建过程:
 

snooping安全技术分析_snooping_02

DHCP监听绑定表还为部署IP源防护(IPSG)和动态ARP检测(DAI)提供了依据。
注意:
客户一旦不使用动态获取IP地址,改用手工设置,那么就不发送DHCP,,就没有绑定表。
如果要求客户端只能以动态获得IP的方式接入网络,则必须借助于IPSG和DAI技术。
DHCP Snooping的配置
            Switch(config)#ip dhcp snooping //开启DHCP Snooping功能
            Switch(config)#ip dhcp snooping vlan 10 //设置DHCP Snooping功能对那个VLNAN启用
            Switch(config)#ip dhcp snooping verify mac-address //开启DHCP请求报文的源MAC和CHADDR字段是否相同的检查,默认已经开启
            Switch(config-if)#ip dhcp snooping trust //设置信任端口
            Switch(config-if)#ip dhcp snooping limit rate N //限制非信任端口的DHCP报文速率为每秒发包数目