专利名称:一种基于dhcp旁路阻断方法
技术领域:
本发明涉及计算机网络安全领域,具体地说,是在特定场所,特别是公共场所的局域网内对特定的上网机实施有效的网络阻断,阻止其任何网络服务。
背景技术:
对于公共场所或非经营场所的局域网,一般采取一定的措施来阻断局域网内的上网机,就是设置防火墙,建立过滤表。这种措施采用的方法是在网络的边界安装防火墙等访问控制设备。防火墙的作用是设置一定的访问权限,只有访问权限之内的用户才能够通过防火墙进行访问,如果不在访问权限之内,就被防火墙档住。这种方法的缺点是只能实现预设的上网机的阻断,无法对上网机实现实时阻断;便携性差,无法满足客户需求。为了实现对特定场所的局域网内的上网机的阻断,采用的方式一般是旁路阻断, 并一般有两种方式一是通过TCP协议的特性,对TCP连接实施阻断。这种方法的缺点是只能对基于TCP协议的网络应用产生效果,而对基于UDP协议的网络应用无能为力。并且,随着科技的发展,各种网络应用层出不穷,很多网络应用能很好的解决TCP协议的某些特性,从而使得连接能够顺利执行。另一种方法是通过ICMP协议,向特定上网机发送阻断信息,从而实现阻断相应的网络连接。这种方法的缺点除了很多网络应用能够忽略ICMP信息,继续建立连接外,还较大程度的增加了网络负载,使得网络性能下降。动态主机设置协议(DynamicHost Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途给内部网络或网络服务供应商自动分配IP地址给用户给内部网络管理员作为对所有计算机作中央管理的手段。无论是动态分配的IP还是手动配置的IP均要通过DHCP服务器对IP进行认证。根据检索结果,在本领域中还未有使用DHCP网络协议来监控局域网上的计算机,并对其实施阻断的方法。
发明内容
本发明的目的是提供一种通过旁路实时阻断局域网内特定上网机的网络服务内容,并阻断其所有网络服务的方法。为实现上述目的,本发明的解决方案是一种基于DHCP旁路阻断方法,其步骤包括I)在需要监控的DHCP网段中设置具有镜像接口的交换机,得到该DHCP网段中所有上网机的数据包;2)对所述数据包进行处理得到上网机的MAC地址并与用户自定义的安全机上网名单进行对比,找出不安全上网机;3)当所述不安全上网机发包进行接入网络请求时,根据所述入网请求方式处理发包,伪造DHCPACK包或者DHCP0FFER包,对所述不安全上网机进行阻断。所述入网请求方式为采用动态获取网络配置信息时,阻断方法如下
2-1)不安全上网机发送DISCOVER数据包,查找网段中DHCP服务器;2-2)旁路服务器在所述DHCP服务器发送OFFER前,向该不安全上网机发送伪造DHCP0FFER 包;2-3)所述不安全上网机向旁路服务器发送request包请求网络配置,所述旁路服务器截获request包之后,根据截获的request包信息伪造DHCP ACK包,同时分配一个已经存在的IP地址给该不安全上网机;2-4)所述不安全上网机在接受到伪造DHCP ACK包后,验证分配IP地址是否存在;2-5)所述上网机无法获取到正确的IP地址,旁路实现阻断。所述入网请求方式为手动配置网络信息时,阻断方法如下
3-1)不安全上网机发送inform包,查找网段中DHCP服务器;3-2)旁路服务器在所述DHCP服务器发送inform前,向该不安全上网机发送伪造DHCPinform 包;3-3)所述不安全上网机接收到该伪造DHCP inform包向旁路服务器发送request包请求网络配置,所述旁路服务器截获request包之后,根据截获的request包信息伪造DHCP NACK 包,3-4)所述不安全上网机接受到伪造DHCP NACK包后,重新请求IP地址;3-5)所述上网机无法获取到正确的IP地址,旁路实现阻断。所述具有镜像接口的交换机中提取的交换机镜像包需满足包含物理层的数据包。对于所述上网机两种不同的处理过程可放在同一台旁路服务器单独处理,或分为两台旁路服务器分别处理。所述不安全上网机接收伪造DHCP inform包后,该不安全上网机接受第一个到达OFFER包和匹配XID值,丢弃其他发包,直到接受到伪造DHCP ACK包。所述步骤2-5)对于不同的上网机采用不同的处理方式无法上网,需要再次手动配置网络;或者重新开始DHCP请求过程请求正确的IP地址,所述旁路服务器可采取动态获取网络配置信息实现对不安全上网机阻断。所述不安全上网机采用UDP协议广播形式发包。所述旁路服务器伪造DHCP服务器两种类型的数据包ACK包和NACK包;所述ACK包的作用为告知所述不安全上网机设置的IP地址及网络配置可以使用,所述NACK包的作用为告知所述不安全上网机设置的IP地址及网络配置不可用,
需要重新申请。在所述需要监控的DHCP网段中设置一或多个具有镜像接口的交换机,至少包括一个以上旁路服务器。本发明的优点和积极效果由于本发明中,采取底层协议的特性实施阻断,所以可移植性好,并且相对于基于应用协议的阻断方式而言,维护成本低,不需要根据应用协议的更新而更新。实时性好,可在任何网络环境下使用,不需要改变原有的网络结构。保密性强,在上网机无法察觉的情况下,实施有效阻断。
图I是本发明一实施例中基于DHCP阻断方法流程示意图;图2a是本发明一实施例中DHCP协议头结构示意图;图2b本发明一实施例中OPTION格式示意图;图3为本发明基于DHPC旁路阻断方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本分买那个实施例中的技术方案进行清除、完整地描述,可以理解的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。··
如图3所示,一种基于DHCP实现旁路阻断的方法流程图,它包括a.在需要监控的网段中设置具有镜像口的交换机,将交换机的镜像口连接到旁路服务器的检测口,用于分析镜像数据包,将交换机的上联口,也就是上网口串联到网络拓扑中,要确保需要监控的上网机的数据包均要通过具有镜像口的交换机,用于获得被监控的所有上网机的数据包,将旁路服务器的发送口接到交换机的端口上,若条件许可,也可接到路由的端口上。(具有镜像口的交换机不需要任何配置)b.连接在具有镜像口的交换机的旁路服务器,用于对上网机的数据包进行处理。根据从交换机上获取的实时用户数据包,记录上网机的MAC地址,并与用户可自定义的安全上网机名单进行比对,若在名单中,则对数据包不做任何处理,若不在名单中,则根据截获的数据包类型进行有效阻断。上网机在一开始请求上网时有两种方式一种是自动获取IP地址,另一种是手动获取IP地址。对于自动获取IP地址的上网机,通过旁路服务器伪造DHCP OFFER包使上网机对真实的DHCP OFFER包忽略,然后上网机会向旁路服务器发送request数据包,旁路服务器可再向上网机发送NACK包使得上网机无法获得正确IP地址及上网配置,从而达到阻断的效果。对于手动获取IP地址的上网机,通过伪造DHCP NACK包使上网机无法获得正确的IP地址及上网配置,从而达到阻断的效果。对于DHCP阻断流程如图I所示,说明如下对于不属于安全上网机名单中的上网机请求,对于刚接入网络的上网机有两种上网方式一种是动态获取网络配置信息;另一种是手动配置网络信息。对于采取动态获取网络配置的上网机,上网机首先使用UDP协议,通过端口 68,以广播的形式发送DISCOVER数据包,其目的是在其所在的局域网中查找DHCP服务器。根据DHCP协议,在一个局域网中可以有多个DHCP服务器,当DHCP服务器接收到上网机发送的DISCOVER数据包后,这些DHCP服务器均会向上网机回复一个OFFER包。上网机根据接收的OFFER包的时间顺序及XID的值,只接受第一个到达的及XID的值与之相匹配的OFFER包,其它的后到达的由其它DHCP服务器发出的OFEER包将被丢弃,并且在随后的交互过程中,只识别这一台DHCP服务器,直到这台DHCP服务器发送NACK包为止。当上网机接受到NACK包之后,将会重新广播DISCOVER数据包。由于存在于网络中的真实DHCP服务器在应答之前以ARP的方式广播确定网络内IP的使用情况,所以对于旁路服务器来说,有充足的时间在真实的DHCP服务器之前向上网机发送offer包。只要上网机确认接受了阻断服务器的OFFER包,对于后续的其他的DHCP服务器发送的offer包,上网机会将其忽略,这样,上网机会认为旁路服务器为当前网络的DHCP服务器。之后,上网机将发送request包,向旁路服务器请求网络配置,阻断服务器截获request包之后,根据截获的request包信息,构造ACK包,分配一个已经存在的IP地址给上网机,上网机在接受到ACK包之后,会通过ARP的方式验证分配的IP地址是否存在,这时,由于IP地址已经存在,上网机会不断的重新发送request包。最终,上网机会因为无法获取到正确的IP地址,从而达到阻断的目的。对于手动配置网络设置的上网机,上网机会在设置完之后以广播的形式发送inform包,其目的在于请求DHCP服务器验证其IP地址的正确性。根据DHCP协议,当DHCP服务器接收到inform包之后,DHCP服务器可回复两种类型的数据包,分别为ACK包和NACK包。ACK包的作用是告诉上网机,其设置的IP地址及网络配置可以使用,而NACK包的作用是告诉上网机,其设置的IP地址及网络配置不可用,需要重新申请。旁路服务器通过截获的inform包,向上网机发送NACK包,上网机在接收到NACK包之后,会认为IP地址已经被 使用,对于不同的上网机可有不同的处理方式,一种是直接造成无法上网的效果,需要再次手动配置网络,另一种则是重新开始DHCP请求过程请求正确的IP地址,这时,旁路服务器可采取与动态获取IP同样的操作实现对上网机的阻断。DHCP的协议格式如图2a所示Op是信息操作码,用来表示是请求还是应答,htype是硬件地址类型,hlen是硬件地址长度,hops在有中转的情况下使用,本发明中设置为0,xid为随机数,用来标识不同的会话期,sec为IP使用期限,当超过此期限,上网机会重新向DHCP服务器发送请求,flags为标志位,在用中转的情况下使用,本发明中设置为0,ciaddr为上网机IP地址,在上网机特殊状态下使用,可选项,本发明中设置为0.0. 0.0。yiaddr为用户的IP地址,用于DHCP服务器回复,为上网机提供IP地址。Siaddr,giaddr在有中转的情况下使用,本发明中设置为0.0. 0.0。chaddr为上网机MAC地址,sname为DHCP服务器名称,可选。File为可选域,在本发明中设置为NULL。如图2b所示OPTION为配置选项,上网机通过读取配置选项信息设置网络,其格式如图2下方所示。配置选项必须以4字节的magic number开始,其十进制值为
99.130. 83. 99,以end option结束,其十进制值为255。不同选项用不同的code标识,其大小为I个字节,其后紧跟着的I个字节表示该选项配置信息的大小,用I个字节表示。Info表示配置信息,长度为len。对于DHCP OFFER包的构造,根据截获的数据包,将op类型设置为应答,并将xid设置为与截获的数据包相同。对于选项域,其中code 53message type必须包含,用于表示信息类型,数值2表示DHCP OFFER包,除此之外还必须包含code 54DHCP serverIdentifier,用于表示该DHCP服务器,构造的DHCP OFFER包,可将此值修改为需要的值。当上网机接收到构造的DHCP OFFER包,会以此作为局域网内的DHCP服务器的IP地址,对其他的DHCP服务器的DHCP OFFER包将忽略,从而达到阻断的目的。对于DHCP NACK包的构造,除了上述的设置之外,须把code 53message type的数值设置为6,表示DHCP NACK包。当上网机接收到构造的DHCP NACK包,上网机会重新请求获取IP地址,继而可用上述方式实现阻断。
本发明对交换机镜像包的要求是必须为包含物理层的数据包。只有这样的数据 包,才能够获取MAC地址,并伪造DHCP包。对于上网机两种不同的处理过程可放在同一台旁路服务器上,也可以分成两台分别处理相应请求。
权利要求
1.一种基于DHCP旁路阻断方法,其步骤包括 1)在需要监控的DHCP网段中设置具有镜像接口的交换机,得到该DHCP网段中所有上网机的数据包; 2)对所述数据包进行处理得到上网机的MAC地址并与用户自定义的安全机上网名单进行对比,找出不安全上网机; 3)当所述不安全上网机发包进行接入网络请求时,根据所述入网请求方式处理发包,伪造DHCPACK包或者DHCPOFFER包,对所述不安全上网机进行阻断。
2.权利要求I所述的基于DHCP旁路阻断方法,其特征在于,所述入网请求方式为采用动态获取网络配置信息时,阻断方法如下 2-1)不安全上网机发送DISCOVER数据包,查找网段中DHCP服务器; 2-2)旁路服务器在所述DHCP服务器发送OFFER前,向该不安全上网机发送伪造DHCPOFFER 包; 2-3)所述不安全上网机向旁路服务器发送request包请求网络配置,所述旁路服务器截获request包之后,根据截获的request包信息伪造DHCP ACK包,同时分配一个已经存在的IP地址给该不安全上网机; 2-4)所述不安全上网机在接受到伪造DHCP ACK包后,验证分配IP地址是否存在; 2-5)所述上网机无法获取到正确的IP地址,旁路实现阻断。
3.如权利要求I所述的基于DHCP旁路阻断方法,其特征在于,所述入网请求方式为手动配置网络信息时,阻断方法如下 3-1)不安全上网机发送inform包,查找网段中DHCP服务器; 3-2)旁路服务器在所述DHCP服务器发送inform前,向该不安全上网机发送伪造DHCPinform 包; 3-3)所述不安全上网机接收到该伪造DHCP inform包向旁路服务器发送request包请求网络配置,所述旁路服务器截获request包之后,根据截获的request包信息伪造DHCPNACK 包, 3-4)所述不安全上网机接受到伪造DHCP NACK包后,重新请求IP地址; 3-5)所述上网机无法获取到正确的IP地址,旁路实现阻断。
4.如权利要求I所述的基于DHCP旁路阻断方法,其特征在于,所述具有镜像接口的交换机中提取的交换机镜像包需满足包含物理层的数据包。
5.如权利要求2或3所述的基于DHCP旁路阻断方法,其特征在于,对于所述上网机两种不同的处理过程可放在同一台旁路服务器单独处理,或分为两台旁路服务器分别处理。
6.如权利要求2所述的基于DHCP旁路阻断方法,其特征在于,所述不安全上网机接收伪造DHCP inform包后,该不安全上网机接受第一个到达OFFER包和匹配XID值,丢弃其他发包,直到接受到伪造DHCP ACK包。
7.如权利要求3所述的基于DHCP旁路阻断方法,其特征在于,所述步骤2-5)对于不同的上网机采用不同的处理方式无法上网,需要再次手动配置网络;或者重新开始DHCP请求过程请求正确的IP地址,所述旁路服务器可采取动态获取网络配置信息实现对不安全上网机阻断。
8.如权利要求2或3所述的基于DHCP旁路阻断方法,其特征在于,所述不安全上网机采用UDP协议广播形式发包。
9.如权利要求2所述的基于DHCP旁路阻断方法,其特征在于,旁路服务器伪造DHCP服务器两种类型的数据包=ACK包和NACK包;所述ACK包的作用为告知所述不安全上网机设置的IP地址及网络配置可以使用,所述NACK包的作用为告知所述不安全上网机设置的IP地址及网络配置不可用,需要重新申请。
10.如权利要求I所述的基于DHCP旁路阻断方法,其特征在于,在需要监控的DHCP网段中设置一或多个具有镜像接口的交换机,至少包括一个以上旁路服务器。
全文摘要
本发明涉及一种DHCP旁路阻断方法,其步骤包括1)在需要监控的DHCP网段中设置具有镜像接口的交换机,得到该DHCP网段中所有上网机的数据包;2)对数据包进行处理得到上网机的MAC地址并与用户自定义的安全机上网名单进行对比,找出不安全上网机;3)当不安全上网机发包进行接入网络请求时,根据所述入网请求方式处理发包,伪造DHCPACK包或者DHCPOFFER包,对不安全上网机进行阻断;4)循环进行步骤2)-3),对DHCP网段中的上网机进行连续阻断。在本发明中,采取底层协议的特性实施阻断,可移植性好,并且相对于基于应用协议的阻断方式而言,维护成本低、实时性好,可在任何网络环境下使用,不需改变原有的网络结构。保密性强,在上网机无法察觉的情况下,实施有效阻断。
文档编号H04L29/06GK102904902SQ20121042737
公开日2013年1月30日 申请日期2012年10月31日 优先权日2012年10月31日
发明者曹爽 申请人:北京锐安科技有限公司