一种防攻击方法和一种动态主机配置协议服务器的制作方法

文档序号:7703027阅读:235来源:国知局
专利名称:一种防攻击方法和一种动态主机配置协议服务器的制作方法
技术领域
本发明涉及网络通信技术领域,尤指一种防攻击方法和一种动态主机配 置协议服务器。
背景技术
动态主才几配置协议(DHCP, Dynamic Host Configuration Protocol)是目前 应用非常广泛的一种协议,能够让客户端设备得以连接到网络上,并获取所需
要的配置参数。
图1是现有的DHCP工作原理示意图。如图l所示,动态主机配置过程 包括以下步骤
步骤101,客户端设备以广播方式发送DHCP发现(DHCP-Discover ) 报文。该DHCP发现报文中携带客户端设备的媒质访问控制MAC地址。
本步骤是发现阶段,即客户端设备寻找DHCP服务器的阶段。
步骤102,接收到DHCP发现报文的DHCP服务器#4居IP地址分配的 优先次序选出 一个IP地址,与其他参数一起通过HDCP提供(DHCP - Offer ) 报文发送给客户端设备。
本步骤是提供阶段,即DHCP服务器提供IP地址的阶段。由于客户端 设备是以广播方式发送DHCP-Discover报文,因此可能会有多个DHCP服 务器接收到DHCP-Discover报文提供IP地址。
步骤103,客户端设备从所接收的各DHCP Offer报文中的IP地址中选 择一个IP地址,然后以广播方式发送DHCP请求(DHCP-Request)报文, 该报文中包含所选择的IP地址。
本步骤是选择阶段,即客户端设备选择IP地址的阶段。步骤104,接收到DHCP请求报文的DHCP服务器判断其中包含的IP 地址是否是自己分配的IP地址;如果不是,则不做处理;如果是,则进一 步确认是否将该IP地址分配给客户端,是则向客户端i殳备返回DHCP确认 (DHCP-ACK)报文,否则向客户端设备返回DHCP拒绝(DHCP - NAK )报文。
本步骤是确认阶段,即DHCP服务器确认IP地址的阶段。如果返回的 是DHCP-ACK报文则确认将地址分配给客户端设备,如果返回的是 DHCP-NAK报文则表示该地址不能分配给客户端设备。
但是,在上述的动态主机配置过程中存在一个很大的缺陷如果客户端 设备恶意地不断地用不同的MAC地址去申请IP地址,则DHCP月良务器会 不断地给它分配IP地址,这样,在很短的时间内,DHCP服务器的地址池 内的地址就会被耗尽,全部被这个恶意的客户端设备所占用,而其他合法的 客户端设备就分配不到IP地址,无法正常工作。这就是DHCP地址耗尽攻 击。

发明内容
本发明提供了 一种防攻击方法,该方法能够防御DHCP地址耗尽攻击。 本发明还提供了 一种DHCP服务器,该DHCP服务器能够防御DHCP 地址一毛尽攻击。
为达到上述目的,本发明的技术方案具体是这样实现的 本发明公开了一种防攻击方法,该方法包括
动态主机配置协议DHCP服务器接收来自客户端设备的DHCP发现报
文;
DHCP服务器判断DHCP发现报文中包含的媒质访问控制MAC地址的 合法性;
DHCP服务器只有在所述MAC地址合法时,为所述客户端设备分配IP 地址。本发明还公开了一种DHCP服务器,该DHCP服务器包括DHCP服 务模块和认证模块,其中,
DHCP服务模块,用于接收来自客户端设备的DHCP发现报文,将该 DHCP发现报文中包含的MAC地址发送给认证模块,接收认证模块返回的 认证结果,只有在所述MAC地址合法时,为所述客户端设备分配IP地址;
认证模块,用于对来自DHCP服务模块的MAC地址进行认证,并将认 证结果返回给DHCP服务模块。
由上述技术方案可见,本发明这种DHCP服务器接收来自客户端设备 的DHCP发现报文后,先判断DHCP发现报文中包含的MAC地址的合法性, 并只有在所述MAC地址合法时,为所述客户端设备分配IP地址的技术方案, 由于对MAC地址的合法性进行认证,因此可以防雄卩地址耗尽攻击。


图1是现有的DHCP工作原理示意图2是本发明实施例中的一种防攻击方法的流程图3是本发明实施例中的DHCP工作流程示意图4是本发明实施例中的另一种DHCP工作流程示意图5是本发明实施例中的又一种DHCP工作流程示意图6是本发明实施例一种DHCP服务器的组成结构框图。
具体实施例方式
图2是本发明实施例中的一种防攻击方法的流程图。如图2所示,该方法 包括
步骤201,动态主机配置协议DHCP服务器接收来自客户端设备的 DHCP发现报文。
步骤202, DHCP服务器判断DHCP发现报文中包含的媒质访问控制 MAC地址的合法性;
8步骤203, DHCP服务器只有在所述MAC地址合法时,为所述客户端 设备分配IP地址。
图2所示的方法,由于对MAC地址的合法性进行认证,因此可以防雄卩 地址耗尽攻击。
为使本发明的技术方案更加清除明白,以下进一步进行说明。 图3是本发明实施例中的DHCP工作流程示意图。如图3所示,包括以 下步骤
步骤301, DHCP服务器接收客户端设备以广播方式发送的DHCP发现 (DHCP-Discover )报文。该DHCP发现报文中携带客户端设备的MAC地 址。
步骤302, DHCP服务器向认证服务器发送携带所述MAC地址的认证 请求报文。
本步骤中,认证服务器按照现有方式对所接收的认证请求报文中MAC 地址进行认证。具体为认证服务器根据预先保存的合法MAC地址列表对 MAC地址进行认证,如果所述请求4艮文中的MAC地址存在于合法地址表 中,则该MAC地址合法,否则不合法。
这里认证服务器可以是现有技术中的AAA服务器(如RADIUS服务器 等),只要能够支持MAC地址认证即可。至于认证服务器采用何种方式对 于MAC地址进行认证与现有技术相同,这里不再复迷。
步骤303, DHCP服务器接收认证服务器返回的认证应答报文。如果认 证应答报文中的信息表示认证成功,则DHCP服务器确定所述MAC地址合 法,并执行后续的步骤;如果认证应答报文中的信息表示认证失败,则DHCP 服务器确定所述MAC地址非法,不对客户端设备做出任何应答。
本步骤中,如杲DHCP服务器确定所述MAC地址非法,则不对客户端 设备做出任何应答,这样就不会给客户端设备分配IP地址,防止了客户端 设备进行地址耗尽攻击。
步骤304, DHCP服务器从地址池中选出一个IP地址,与其他参数一起通过HDCP提供(DHCP - Offer )报文发送给客户端设备。
步骤305, DHCP服务器接收客户端设备发送的DHCP请求 (DHCP-R叫uest)报文,该DHCP请求报文中包含本DHCP服务器所选择 的IP ;也址。
步骤306, DHCP服务器向客户端设备发送DHCP确认(DHCP-ACK ) 报文,确认将所选择的IP地址分配给客户端设备。
图3所示的流程与图1所示的流程相比,多了 DHCP服务器与认证服务 器交互的步骤302和步骤303。即在本实施例中,DHCP服务器通过与认证 服务器交互,确定客户端设备的MAC地址的合法性。
图4是本发明实施例中的另一种DHCP工作流程示意图。如图4所示, 包括以下步骤
步骤401, DHCP服务器接收客户端设备以广播方式发送的DHCP发现 (DHCP-Discover )报文。该DHCP发现报文中携带客户端设备的MAC地 址。
步骤402, DHCP服务器向认证服务器发送携带所述MAC地址的认证 请求纟艮文。
步骤403, DHCP服务器从地址池中选出一个IP地址,与其他参数一起 通过HDCP提供(DHCP-Offer)报文发送给客户端设备。
本发明实中,对上述步骤402和步骤403中所执行的动作不做时间顺序 上的限制。即在本发明的其他实施例中,DHCP服务器可以从地址池中选出 一个IP地址,与其他参数一起通过HDCP提供报文发送给客户端设备,然 后再向认证服务器发送携带所述MAC地址的认证请求报文。或者DHCP月l 务器也可以同时执行步骤402和步骤403中所述的动作。
在向认证服务器发送认证请求报文以及向客户端设备发送DHCP提供 报文之后,DHCP服务器等待认证服务器和客户端设备的应答。
步骤404, DHCP服务器接收认证服务器返回的认证应答报文,以及接 收客户端设备发送的DHCP请求(DHCP-R叫uest)报文,该DHCP请求报文中包含本DHCP服务器所选择的IP地址。
本步骤中,DHCP服务器可能会先收到认证服务器返回的认证应答报 文,后收到客户端设备发送的DHCP请求报文,也可能先收到客户端设备发 送的DHCP请求报文,后收到认证服务器返回的认证应答才艮文,或者也有可 能同时收到认证应答报文和DHCP请求才艮文。
步骤405,如果所述认证应答报文中的信息表示认证成功,则DHCP月良 务器确定所述MAC地址合法,向客户端设备返回DHCP确认(DHCP-ACK) 报文;如果认证应答报文中的信息表示认证失败,则DHCP服务器确定所述 MAC地址非法,向客户端设备返回DHCP拒绝(DHCP-NAK)报文。
本步骤中,如果MAC地址非法,则DHCP服务器向客户端设备返回 DHCP-NAK报文,并不真正给客户端设备分配所选择的地址。
图4所示的流程与图3所示的流程相比,区别在于DHCP服务器发送 认证请求报文后并不等待认证应答报文,而是直接执行步骤403向客户端设 备发送DHCP-Offer报文,然后再等待认证应答报文;并且,在步骤404中, 只有在接收DHCP-R叫uest报文后以及认证应答报文后,再执行步骤405回 应DHCP-ACK或DHCP-NAK报文。
图4的这样方法与图3所示的方法相比,可以提升动态主机配置过程的 速度,尤其在访问认证服务器的延时较大时,效果显著。
在图3和图4所示的实施例中,DHCP服务器接收到DHCP发现
(DHCP-Discover )报文后就会向认证服务器发送认证请求报文。由于客户
端设备的DHCP发现报文是以广播方式发送的,因此可能会有多个DCHP
服务器收到同一客户端设备的DHCP发现报文。则在图3和图4所示的方案
下,会有多个DHCP服务器向认证服务器发送认证请求报文。如果认证服务
器允许对同一 M A C地址的重复认证,或者客户端设备的广播范围内只有一
个DHCP服务器,则图3和图4所示的方案执行起来完全没有问题。但是,
如果认证服务器不允许对同一 MAC地址进行重复认证,且广播域内有多个
DHCP服务器则会出现问题。针对这种情况本发明中给出了如图5所示的解决方案。
图5是本发明实施例中的又一种DHCP工作流程示意图。如图5所示,包括以下步骤
步骤501,客户端设备以广播方式发送DHCP发现(DHCP-Discover )报文。该DHCP发现报文中携带客户端设备的MAC地址。
步骤502,接收到DHCP发现报文的DHCP服务器根据IP地址分配的优先次序选出 一个IP地址,与其他参数一起通过HDCP提供(DHCP - Offer )报文发送给客户端设备。
步骤503,客户端设备从所接收的各DHCP Offer报文中的IP地址中选择一个IP地址,然后以广播方式发送DHCP请求(DHCP-R叫uest)报文,该才艮文中包含所选4奪的IP地址。
步骤504,接收到DHCP请求报文的DHCP服务器判断其中包含的IP地址是否是自己分配的IP地址;如果不是,则不做处理;如果是,则向认证服务器发送携带客户端设备MAC地址的认证请求报文。
步骤505, DHCP服务器接收认证服务器返回的认证应答报文。
步骤506,如果所述认证应答报文中的信息表示认证成功,则DHCP月良务器确定所述MAC地址合法,向客户端设备返回DHCP确认(DHCP-ACK)报文;如果认证应答报文中的信息表示认证失败,则DHCP服务器确定所述MAC地址非法,向客户端设备返回DHCP拒绝(DHCP-NAK )报文。
在图5所示的方案中,即使有多个DHCP服务器收到DHCP发现报文,最终也只有客户端设备所选择的一个DHCP服务器向认证服务器进行MAC地址认证,从而避免了多个DHCP服务器的对客户端设备的MAC地址进行重复认证。
在本发明的另一个实施例中,还可以在DHCP服务器上直接配置受信的MAC地址列表,即合法MAC地址列表,则DHCP服务器根据本地的合法MAC地址列表判断MAC地址的合法性,如果MAC地址存在于所述合法MAC地址列表中,则该MAC地址合法,否则不合法。这种方式下不需
12要增加认证服务器,DHCP服务器可以直接做MAC地址过滤。
图6是本发明实施例一种DHCP服务器的组成结构框图。如图6所示,
该DHCP服务器包括DHCP服务模块601和认证模块602,其中,
DHCP服务模块601,用于接收来自客户端设备的DHCP发现报文,将
该DHCP发现报文中包含的MAC地址发送给认证模块602,接收认证才莫块
602返回的认证结果,只有在所述MAC地址合法时,为所述客户端设备分
配IP地址;
认证模块602,用于对来自DHCP服务模块601的MAC地址进行认证,并将认证结果返回给DHCP服务模块。
在图6中,认证模块602,用于根据DHCP服务器中的合法MAC地址列表判断所述MAC地址的合法性,如果所述MAC地址存在于所述合法MAC地址列表中,则所述MAC地址合法,否则不合法。
或者,在图6中,认证模块602,向认证服务器发送携带所述MAC地址的认证请求报文,接收认证服务器返回的认证应答报文,如果认证应答报文中的信息表示认证成功,则确定所述MAC地址合法,如果认证应答报文中的信息表示认证失败,则确定所述MAC地址非法。
在图6中,DHCP服务模块601,用于在接收到来自客户端设备的DHCP发现报文后,将该DHCP报文中包含的MAC地址发送给认证模块,然后接收认证模块返回的认证结果;如果认证结果表示认证失败,则不做应答,如果认证结果表示认证成功,则选择一个IP地址通过DHCP提供报文发送给客户端设备;在发送DHCP提供报文后,接收客户端设备发送的携带所选择的IP地址的DHCP请求报文,然后向客户端设备发送DHCP确认报文;
或者,在图6中,DHCP服务模块601,用于在接收到来自客户端设备的DHCP发现报文后,将该DHCP报文中包含的MAC地址发送给认证模块,并选择一个IP地址通过DHCP提供报文发送给客户端设备;接收客户端设备发送的携带所选择的IP地址的DHCP请求报文和认证模块返回的认证结果;如果认证结果表示认证成功,则向客户端设备发送DHCP确认报文,如果认证结果表示认证失败,则向客户端设备发送DHCP拒绝报文。
再或者,在图6中,所述DHCP服务模块601,用于在接收到来自客户端设备的DHCP发现报文后,选择一个IP地址通过DHCP提供报文发送给客户端设备;用于接收客户端设备发送的携带客户端设备所选择的IP地址的DHCP请求报文;如果DHCP请求才艮文中携带的IP地址正是DHCP服务模块自身通过DHCP提供报文发送给客户端的IP地址,则将DHCP发现报文中包含的MAC地址发送给认证模块602,接收认证模块602返回的认证结果;如果认证结果表示认证成功,则向客户端设备发送DHCP确认报文,如果认证结果表示认证失败,则向客户端设备发送DHCP拒绝报文。
综上所述,本发明这种DHCP服务器接收来自客户端设备的DHCP发现报文后,先判断DHCP发现报文中包含的MAC地址的合法性,并只有在所述MAC地址合法时,为所述客户端设备分配IP地址的技术方案,由于对MAC地址的合法性进行认证,因此可以防御地址耗尽攻击。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种防攻击方法,其特征在于,该方法包括动态主机配置协议DHCP服务器接收来自客户端设备的DHCP发现报文;DHCP服务器判断DHCP发现报文中包含的媒质访问控制MAC地址的合法性;DHCP服务器只有在所述MAC地址合法时,为所述客户端设备分配IP地址。
2、 如权利要求1所述的方法,其特征在于,所述DHCP服务器判断 DHCP发现报文中包含的MAC地址的合法性包括DHCP服务器根据本地的合法MAC地址列表判断所述MAC地址的合 法性,如果所述MAC地址存在于所述合法MAC地址列表中,则所述MAC 地址合法,否则不合法。
3、 如权利要求1所述的方法,其特征在于,所述DHCP服务器判断 DHCP发现报文中包含的MAC地址的合法性包括DHCP服务器向认证服务器发送携带所述MAC地址的认证请求报文; DHCP服务器接收认证服务器返回的认证应答报文,如果认证应答报文中的信息表示认证成功,则确定所述MAC地址合法,如果认证应答报文中的信息表示认证失败,则确定所述MAC地址非法。
4、 如权利要求3所述的方法,其特征在于,所述DHCP服务器判断 DHCP发现报文中包含的MAC地址的合法性,只有在所述MAC地址合法 时,为所述客户端设备分配IP地址包括然后接收认证服务器返回的认证应答报文;如果认证应答报文中的信息表示 认证失败,则不做应答,如果认i正应答才艮文中的信息表示认证成功,则DHCP 服务器选择一个IP地址通过DHCP提供报文发送给客户端设备;当发送DHCP提供报文后,DHCP服务器接收客户端设备发送的携带所选择的IP 地址的DHCP请求报文,然后DHCP服务器向客户端设备发送DHCP确认 报文。
5、 如权利要求3所述的方法,其特征在于,所述DHCP服务器判断 DHCP发现报文中包含的MAC地址的合法性,只有在所迷MAC地址合法 时,为所述客户端设备分配IP地址包括DHCP服务器向认证服务器发送携带所述MAC地址的认证请求报文, 并选择一个IP地址通过DHCP提供报文发送给客户端设备;DHCP服务器接收客户端设备发送的携带所选择的IP地址的DHCP请 求报文和认证服务器返回的认证应答报文;如果认证应答报文中的信息表示认证成功,则DHCP服务器向客户端 设备发送DHCP确认报文,如果认证应答报文中的信息表示认证失败,则 DHCP服务器向客户端设备发送DHCP拒绝报文。
6、 如权利要求3所述的方法,其特征在于,所述DHCP服务器判断 DHCP发现才艮文中包含的MAC地址的合法性,只有在所述MAC地址合法 时,为所述客户端i殳备分配IP地址包括DHCP服务器选择一个IP地址通过DHCP提供报文发送给客户端设备; DHCP服务器接收客户端设备发送的携带客户端设备所选择的IP地址的DHCP请求报文;如果DHCP请求报文中携带的IP地址正是本DHCP服务器通过DHCP提供报文发送给客户端的IP地址,则DHCP服务器向认证服务器发送携带所述MAC地址的认证请求报文;DHCP服务器接收认证服务器返回的认证应答报文;如果认证应答报文中的信息表示认证成功,则DHCP服务器向客户端 设备发送DHCP确认报文,如果认证应答报文中的信息表示认证失败,则 DHCP服务器向客户端设备发送DHCP拒绝报文。
7、 一种DHCP服务器,其特征在于,该DHCP服务器包括DHCP月良务模块和认证模块,其中,DHCP服务模块,用于接收来自客户端设备的DHCP发现报文,将该 DHCP发现报文中包含的MAC地址发送给认证模块,接收认证模块返回的 认证结果,只有在所述MAC地址合法时,为所述客户端设备分配IP地址;认证模块,用于对来自DHCP服务模块的MAC地址进行认证,并将认 证结果返回给DHCP服务模块。
8、 如权利要求7所述的DHCP服务器,其特征在于, 所述认证模块,用于根据DHCP服务器中的合法MAC地址列表判断所述MAC地址的合法性,如果所述MAC地址存在于所述合法MAC地址列 表中,则所述MAC地址合法,否则不合法。
9、 如权利要求7所述的DHCP服务器,其特征在于, 所述认证模块,向认证服务器发送携带所述MAC地址的认证请求报文,接收认证服务器返回的认证应答报文,如果认证应答报文中的信息表示认证 成功,则确定所述MAC地址合法,如果认证应答报文中的信息表示认证失 败,则确定所述MAC地址非法。
10、 如权利要求9所述的DHCP服务器,其特征在于, DHCP服务模块,用于在接收到来自客户端设备的DHCP发现报文后,将该DHCP报文中包含的MAC地址发送给认证模块,然后接收认证模块返 回的认证结果;如果认证结果表示认证失败,则不做应答,如果认证结果表 示认证成功,则选择一个IP地址通过DHCP提供报文发送给客户端设备; 在发送DHCP提供报文后,接收客户端设备发送的携带所选择的IP地址的 DHCP请求报文,然后向客户端设备发送DHCP确认报文。
11、 如;f又利要求9所述的方法,其特征在于,所述DHCP服务模块,用于在接收到来自客户端设备的DHCP发现报 文后,将该DHCP报文中包含的MAC地址发送给认证模块,并选择一个IP 地址通过DHCP提供报文发送给客户端设备;接收客户端设备发送的携带所 选择的IP地址的DHCP请求报文和认证模块返回的认证结果;如果认证结果表示认证成功,则向客户端设备发送DHCP确认报文,如果认证结果表示认证失败,则向客户端设备发送DHCP拒绝报文。
12、如权利要求9所述的DHCP服务器,其特征在于,所述DHCP服务模块,用于在接收到来自客户端设备的DHCP发现报文后,选择一个IP地址通过DHCP提供报文发送给客户端设备;用于接收客户端设备发送的携带客户端设备所选择的IP地址的DHCP请求报文;如果DHCP请求报文中携带的IP地址正是DHCP服务模块自身通过DHCP提供报文发送给客户端的IP地址,则将DHCP发现报文中包含的MAC地址发送给认证模块,接收认证模块返回的认证结果;如果认证结果表示认证成功,则向客户端设备发送DHCP确认报文,如果认证结果表示认证失败,则向客户端设备发送DHCP拒绝报文。
全文摘要
本发明公开了一种防攻击方法,包括动态主机配置协议DHCP服务器接收来自客户端设备的DHCP发现报文;DHCP服务器判断DHCP发现报文中包含的媒质访问控制MAC地址的合法性;DHCP服务器只有在所述MAC地址合法时,为所述客户端设备分配IP地址。本发明还公开了一种DHCP服务器。本发明的技术方案能够防御地址耗尽攻击。
文档编号H04L29/06GK101656724SQ20091009350
公开日2010年2月24日 申请日期2009年9月24日 优先权日2009年9月24日
发明者飓 王 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1