优胜从选择开始,我们是您最好的选择!—— 中州期刊联盟(新乡市博翰文化传媒有限公司)
0373-5939925
2851259250@qq.com
我要检测 我要投稿 合法期刊查询
您的位置:网站首页 > 优秀论文 > 正文

基于报文窥探的DHCP欺骗过滤机制

作者:李荣玮,李海彬,邓智,陈冠霖来源:《视听》日期:2015-01-13人气:1362

一、DHCP协议

1.协议简介

DHCP协议(Dynamic Host Configuration Protocol)是一个工作在传输层的协议,基于UDP报文工作。DHCP协议占用2个网络端口:UDP67端口和UDP68端口分别作为DHCP Server和DHCP Client的服务端口使用。

2.报文结构

DHCP使用BOOTP协议的报文格式,但对许多字段的定义和内容作出了修改。

报文结构分为:op 字段、HTYPE和HLEN字段、跳数字段、事务ID字段、秒数字段、标志字段、客户机IP地址字段等,每个字段都有相对应的功能和使用规格。

二、DHCP欺骗   

1.DHCP的工作流程

DHCP的主要工作流可以简单理解为,一台主机新加入网络,从发出获取IP的请求,到顺利的地获得一个IP地址,需要经过发现、提供、选择、确认4个阶段。

发现阶段,即客户机请求服务器的阶段。提供阶段,即DHCP服务器提供IP地址的阶段。选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。确认阶段,即DHCP服务器确认所提供的IP地址的阶段。由于DHCP协议设计上的漏洞,客户机在收到多个DHCP回应报文(DHCP offer)时,没有采用身份认证或其他非法过滤机制,导致了客户机有极大的几率接受错误的或非法的DHCP配置,遭到黑客或恶意程序的DHCP欺骗攻击。

2.DHCP欺骗攻击

    如图1所示,PC A接入交换网络,希望通过DHCP来自动获得IP地址等信息。于是PC A发出了DHCP请求报文(DHCP discover,广播方式)。这个报文被传递到了PC B和DHCP SERVER上(理论上DHCP SERVER要求比PC B晚一点收到这个请求)。

图1
如图2,PC B和DHCP SERVER收到PC A的DHCP请求后,都进行了DHCP回应(DHCP offer),但是由于PC B与PC A在同一个子网内,中间的联系没有经过路由设备,所以理论上PC B的DHCP欺骗回应可能早于DHCP SERVER的回应包到达PC A。因此,PC A发送DHCP Request报文给PC B,接受PC B的DHCP配置;同时,发送DHCP NAK报文给DHCP SERVER,拒绝DHCP SERVER的DHCP配置。

图2
此时,PC A已被PC B成功欺骗,PC A的网关地址指向的是DHCP伪装者PC B,而不是正确的网络路由器。
如图3所示,PC A产生的所有出外网的数据都将首先流入PC B,被PC B窃取(篡改)数据后,才转发出外网;同样地,来自外网的所有要到达PC A的数据,也将首先流入PC B,被PC B窃取(篡改)数据后,才转发给PC A。

图3

三、基于报文窥探的DHCP欺骗过滤机制

1.工作原理

    为了杜绝DHCP欺骗的发生,我们需要建立基于报文窥探的DHCP欺骗过滤机制,通过对Client和服务器之间的DHCP交互报文进行窥探,实现对非法DHCP报文的过滤。下边对DHCP Snooping配置使用到的一些术语及功能进行一些解释。

    (1)DHCP Snooping TRUST口:由于DHCP获取IP的交互报文是使用广播的形式,从而存在着非法服务器影响用户正常IP的获取,更有甚者通过非法服务器欺骗窃取用户信息的现象,为了防止非法服务器的问题,DHCP Snooping把端口分为两种类型,TRUST口和UNTRUST口,设备只转发TRUST口收到的DHCP Reply报文,而丢弃所有来自UNTRUST口DHCP Reply报文,这样我们把合法的DHCP Server连接的端口设置为TURST口,其他口设置为UNTRUST口,就可以实现对非法DHCP Server的屏蔽。

(2)IP Source Guard:相当于在端口上添加了一条ACL表项,默认过滤该端口上所有用户发送的IP报文(除DHCP报文外)。当用户通过DHCP交互申请IP地址后,会在该端口上添加一条过滤表项,允许该用户使用该地址进行IP报文的通讯,其他用户依然禁止通讯。

(3)DHCP Snooping绑定数据库:在DHCP环境的网络里经常会出现用户私自设置IP地址的问题,用户私设IP地址不但使网络难以维护,并且会导致一些合法的使用DHCP获取IP的用户因为冲突而无法正常使用网络,DHCP Snooping通过窥探Client和Server之间交互的报文,把用户获取到的IP信息以及用户MAC、VID、PORT、租约时间等信息组成一个用户记录表项,从而形成一个DHCP Snooping的用户数据库,配合ARP检测功能或ARP CHECK功能的使用,从而达到控制用户上网的目的。

(4) DHCP Snooping速率限制: DHCP Snooping需要对所有非信任端的DHCP请求报文进行检查,同时将合法的DHCP请求报文转发到信任口所在的网络。为了防止在非信任端出现DHCP请求攻击、控制流向信任网络的DHCP请求速率,DHCP Snooping支持在端口对收到的DHCP报文进行速率限制,当接口收到的DHCP报文速率超过设定的限制时,直接丢弃接口上收到的DHCP报文。

2.DHCP欺骗过滤机制的实现

以一个简例来介绍DHCP欺骗过滤机制的实现。网络拓扑如图4所示,PC A的DHCP报文交互主要流经与它直连的交换机的4个端口:G0/1、G0/2、G0/3、G0/4,其中通过G0/2、G0/3接口的DHCP报文都能到达正确的DHCP SERVER,而通过G0/4接口的DHCP报文时来自于DHCP伪装者PC B,是我们需要过滤掉的目标。

图4
交换机具体配置如下:
switch> enable
/*进入特权模式。
switch# configure terminal
/*进入全局配置模式。
switch(config)# ip dhcp snooping
/*开启DHCP报文窥探。
switch(config)# ip dhcp snooping information option
/*在进行DHCP窥探转发时,给每个DHCP请求添加option82选项,如果不开启这个功能,DHCP中继服务无法正常工作。
switch(config-if)# interface range G0/2-3
/*进入接口配置模式,同时配置G0/2,G0/3接口。
switch(config-if)# ip dhcp snooping limit rate 10
/*配置DHCP包的转发速率,超过后接口就shutdown,默认不限制;
switch(config-if)# ip dhcp snooping trust
/*设置G0/2,G0/3接口为信任接口,信任接口可以正常接收并转发DHCP Offer报文,不记录IP和MAC地址的绑定,默认是非信任接口。
G0/4接口没有配置,默认状态是非信任接口,所有将会过滤掉所有DHCP Offer报文。
switch(config-if)# end
/*退出到特权配置模式。
switch# show ip dhcp snooping
/*显示当前的DHCP窥探状态。
至此,DHCP欺骗过滤机制设置完毕。此时,当DHCP伪装者PC B的DHCP欺骗报文到达交换机的G0/4接口后,交换机通过报文解析,发现是来自于非信任接口的DHCP offer报文,将其丢弃,PC A将再也无法收到DHCP欺骗报文。

小结
在小型网络中基于报文窥探的DHCP欺骗过滤机制的配置比较简单,但当网络规模越来越大时,需要考虑和顾及的各种细节会比较复杂;特别是当网络出现故障时,需要对DHCP协议的工作原理有深刻的理解,才能快速排查故障,解决问题。

网络客服QQ: 沈编辑

投诉建议:0373-5939925    投诉建议QQ:

招聘合作:2851259250@qq.com (如您是期刊主编、文章高手,可通过邮件合作)

地址:河南省新乡市金穗大道东段266号中州期刊联盟 ICP备案号:豫ICP备2020036848

【免责声明】:中州期刊联盟所提供的信息资源如有侵权、违规,请及时告知。

版权所有:中州期刊联盟(新乡市博翰文化传媒有限公司)

关注”中州期刊联盟”公众号
了解论文写作全系列课程

核心期刊为何难发?

论文发表总嫌贵?

职院单位发核心?

扫描关注公众号

论文发表不再有疑惑

论文写作全系列课程

扫码了解更多

轻松写核心期刊论文

在线留言