dhcp简化了配置,提高了管理效率。但是也带来安全隐患。
常见的有:
无赖(rouge)dhcp服务器
l dhcp耗竭攻击
l ip地址冲突
<b>一 </b><b>无赖(rouge</b><b>)dhcp</b><b>服务器</b>
由于dhcp服务器和客户端之间没有认证机制,网络上随意架设一台无赖dhcp服务器,给客户分配错误的ip地址,那就会对网络造成非常大的危害。
<b> </b><b>二 dhcp</b><b>耗竭攻击</b>
通常dhcp服务器通过检查客户端发送的dhcp报文中的chaddr(客户主机mac地址)字段来判断客户的mac的。一般情况下应该和发送报文的客户端真实mac地址相同。
虽然可以利用端口安全(port security)限制每个端口只使用唯一的mac地址。但是如果攻击者不修改dhcp请求报文的源mac地址,而是修改dhcp报文中的chaddr字段来实施攻击,那就可以绕过端口安全的检查了。
yersinia和gobble都能实施这种攻击
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcugDN2UTMxMDOw8CX5AjMxAjMvwFduVWboNWY0RXYvwVbvNmLvR3YxUjLzM3Lc9CX6MHc0RHaiojIsJye.png)
三 ip地址冲突
客户端并非一定要使用dhcp服务获取ip,也可使用静态指定的方式来设置ip地址。这将会大大提高网络ip地址冲突的可能性。
<b>dhcp snooping</b><b>技术介绍</b>
dhcp spanning 是一个控制平面特性。能在一个vlan上严密监视并限制dhcp的操作。
这就意味着可以做深度检查,查看dhcp内部的字段。
交换机端口划分为两类:
<b>非信任端口:</b>通常为连接终端设备的端口,如pc,网络打印机等
交换机限制用户非信任端口,只能够发送dhcp请求,丢弃来自非信任端口的所有其它dhcp报文。交换机限制用户非信任端口,只能够发送dhcp请求,丢弃来自非信任端口的所有其它dhcp报文.而且,即使是dhcp请求。只有dhcp 请求报文头里的源mac地址和 dhcp报文中的硬件地址(chaddr字段)只有这两者相同的请求报文才会被转发,否则将被丢弃。这样就防止了dhcp耗竭攻击。
<b>信任端口:</b>连接合法dhcp服务器的端口或者连接汇聚交换机的上行端口
信任端口可以接收所有的dhcp报文
通过只将交换机合法dhcp服务器连接到信任端口,其他端口设置为非信任端口,就可以防止用户伪造dhcp服务器来攻击网络。
通过dhcp报文进行限速,可以防止dhcp请求报文的广播攻击。
在非信任端口的客户端获得一个合法的dhcp offer,交换机开始从dhcp数据包收集信息构建绑定表,这些信息包括ip地址,mac地址,vlan,端口 ,租期。
绑定表构建过程:
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报文速率为每秒发包数目