EthanYue

博客园 首页 联系 订阅 管理

在启用了DHCP的网络中可能会发生两种情况。

  • 攻击者可以通过发送数千个DHCP请求,来发起DoS攻击(Starving Attack)。DHCP服务器无法判断请求是否是真实的,因此会消耗掉所有可用的IP地址。这会导致合法客户端无法通过DHCP请求获得IP地址。
  • 攻击者把一台DHCP服务器连接到网络中,并使其充当该网段的DHCP服务器角色。这样入侵者就可以为默认网关和域名服务器分配错误的DHCP信息,也就是把客户端指向黑客的设备。这个错误指示使黑客成为中间人。

DHCP攻击的实施顺序:

  • 攻击者把未授权的DHCP服务器连接到交换机端口
  • 客户端发送广播,请求DHCP配置信息
  • 未授权的DHCP服务器在合法DHCP服务器之前进行应答,为客户端分配攻击者所定义的IP配置信息
  • 主机把攻击者提供的不正确的DHCP地址当作默认网关,从而把数据包发送给攻击者的地址

 

DHCP Snooping

当交换机开启了 DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。

  • 信任端口可以正常接收并转发DHCP Offer报文,
  • 而不信任端口会将接收到的DHCP Offer报文和DHCP ACK报文丢弃,但可以发送DHCP Discovery和ACK报文


这样,可以完成交换机对假冒DHCP Server的屏蔽作用,确保客户端从合法的DHCP Server获取IP地址。


作用:

  • dhcp-snooping的主要作用就是隔绝非法的dhcp server,通过配置非信任端口。
  • 与交换机DAI的配合,防止ARP病毒的传播。
  • 建立和维护一张dhcp-snooping的绑定表,这张表一是通过dhcp ack包中的ip和mac地址生成的,二是可以手工指定。这张表是后续DAI(dynamic arp inspect)和IPSource Guard 基础。这两种类似的技术,是通过这张表来判定ip或者mac地址是否合法,来限制用户连接到网络的。
  • 通过建立信任端口和非信任端口,对非法DHCP服务器进行隔离,信任端口正常转发DHCP数据包,非信任端口收到的服务器响应的DHCP offer和DHCPACK后,做丢包处理,不进行转发。

配置:

在所有交换机上启用,Based-VLAN


以Cisco交换机为例:
switch(config)#ip dhcp snooping

switch(config)#ip dhcp snooping vlan 10
/*在Vlan10启用dhcp snooping

switch(config-if)#ip dhcp snooping limit rate
/*dhcp包的转发速率,每分钟3个,超过后接口就shutdown,以此防范Starving Attack;

switch(config-if)#ip dhcp snooping trust
/*这样这个端口就变成了信任端口,信任端口可以正常接收并转发DHCP Offer报文,不记录ip和mac地址的绑定,默认是非信任端口"

SW#ip dhcp snooping information option-----开启Option82选项(默认开启)

 

switch#ip dhcp snooping binding 0009.3452.3ea4 vlan 7 192.168.10.5 interface gi1/0/10
/*这样可以静态ip和mac一个绑定;

switch(config)#ip dhcp snooping database tftp:// 10.1.1.1/dhcp_table
/*因为掉电后,这张绑定表就消失了,所以要选择一个保存的地方,ftp,tftp,flash皆可。本例中的dhcp_table是文件名,而不是文件夹,同时文件名要手工创建一个。

R1(config)#ip dhcp relay information trust-all-------------(路由器默认不能识别option82选项)将每台Client的接口、所属VLAN、MAC地址、携带Option82选项一起发给Server,Server做出回复的同时,添加分发给该Client的IP地址和租期以及其他三项信息发送给所连交换机,该交换机将这五项信息打包并保存在其DHCP Snooping Binding Database中,记录下内网中所有PC的信息并预防各种攻击。

SW#show ip dhcp snooping
/*显示DHCP探测状态*/
SW#show ip dhcp snooping binding

 

posted on 2018-07-06 11:14  EthanYue  阅读(793)  评论(0编辑  收藏  举报