一种服务器IP保护方法和系统
技术领域
本发明属于计算机互联网领域,涉及一种服务器IP保护方法和系统。
背景技术
局域网内服务器作为资源的主要提供者,担任着重要角色,对于网内其它终端的正常以及高效运行起着致关重要的作用。向服务器提交的数据很多都是敏感资源,而众多客户端连接服务器一般都是以IP为基准,那么如果服务器IP被人冒用,则意味着众多客户端可能会尝试连接虚假的服务器并提交敏感数据,这是非常危险的行为。如果服务器一直在运行着,则IP一直处于占用状态,一般来说自然不会被冒用,但如果有人恶意制造服务器掉线或宕机,并趁机抢占原本属于服务器的IP地址,则服务器重新接入网络后也无法再次抢回IP。综上所述,内网环境中产生了服务器IP地址保护的需求。
一般用来防止IP欺骗的办法是需要连接服务器的终端将服务器IP/MAC映射绑定进静态ARP表,这样在一定程度上能避免假的主机冒用服务器IP。
在现有的解决方案下,对假主机冒用IP有一定防范作用,但问题有两个,第一在于操作繁琐,每台与服务器直连的主机必须设置静态ARP表,第二在于如果服务器IP真的被冒用,虽然信息不会泄露,但服务器再也无法抢回自己的IP。
发明内容
本发明所要解决的技术问题是即使服务器宕掉(即暂时释放了IP),也让非法主机无法占用服务器的IP,并且一切动作仅在少量(一般情况下一台即可)主机上进行,不需要全网机器都进行ARP绑定这样的繁琐操作。
本发明解决上述技术问题所采取的技术方案如下:
一种服务器IP保护方法,包括:
步骤1)在网段内选取一台机器作为工作机,其维护一保护列表;
步骤2)工作机获取相同网段下的主机所发送的ARP询问包,所述ARP询问包为一包含该主机要获取的IP地址和访问方的MAC地址;
步骤3)从所述APR询问包中提取IP地址和MAC地址,并查询该IP地址是否在保护列表中,其中,如果IP地址在IP在保护列表中而MAC未对应,则认为它是非法的主机,并向该主机回复IP被占用的ARP包。
进一步地,优选的是,步骤1)前,预先将受保护的IP保护列表及它们的合法MAC映射记录进内存备用。
进一步地,优选的是,步骤2)中,具体包括:工作机在所有网卡上进行混杂模式抓包,以抓到ARP询问包,并对每个抓到的ARP询问包进行判断。
进一步地,优选的是,对每个抓到的ARP询问包进行判断,具体包括:
41)如果是本机发起的,则不处理;
42)如果ARP结构中sender_ip和target_ip相同,或者sender_ip为0,则在保护列表中查找target_ip,如果找到,说明这是一个受保护的IP;
43)从保护列表中找到此IP映射的MAC,如果和ARP包中sender_mac不一致,则说明是非法的主机要获取IP。
优选的是,进一步地具体包括:
51)工作机构造ARP攻击包,攻击包中target_mac为ARP询问包中的sender_mac,攻击包中sender_mac为一个伪造的假MAC,攻击包中sender_ip为要保护的IP;52)将攻击包发送出去,询问方收到攻击包后认为此IP已被人占用,无法使用。
一种服务器IP保护系统,包括:
工作机,其为一在网段内选取的机器,其包括:保护列表维护模块,用于维护一保护列表;
抓包模块,用于获取相同网段下的主机所发送的ARP询问包,所述ARP询问包为一包含该主机要获取的IP地址和访问方的MAC地址;
地址保护模块,用于从所述APR询问包中提取IP地址和MAC地址,并查询该IP地址是否在保护列表中,其中,如果IP地址在IP在保护列表中而MAC未对应,则认为它是非法的主机,并向该主机回复IP被占用的ARP包。
进一步地,优选的是,所述保护列表维护模块,进一步用于预先将受保护的IP保护列表及它们的合法MAC映射记录进内存备用。
进一步地,优选的是,所述抓包模块,用于在所有网卡上进行混杂模式抓包,以抓到ARP询问包,并对每个抓到的ARP询问包进行判断。
进一步地,优选的是,所述地址保护模块,对每个抓到的ARP询问包进行判断,具体包括:
41)如果是本机发起的,则不处理;
42)如果ARP结构中sender_ip和target_ip相同,或者sender_ip为0,则在保护列表中查找target_ip,如果找到,说明这是一个受保护的IP;
43)从保护列表中找到此IP映射的MAC,如果和ARP包中sender_mac不一致,则说明是非法的主机要获取IP。
进一步地,优选的是,所述地址保护模块,进一步执行以下操作:
51)构造ARP攻击包,攻击包中target_mac为ARP询问包中的sender_mac,攻击包中sender_mac为一个伪造的假MAC,攻击包中sender_ip为要保护的IP;52)将攻击包发送出去,询问方收到攻击包后认为此IP已被人占用,无法使用。
本方案的关键点在于实现一种“旁路”的保护,即不需要被保护的服务器参与,也不需要连接服务器的客户端参与,即能完成服务器IP的保护。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。其中,
图1是本发明服务器IP保护方法的系统拓扑示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
MAC地址:意译为媒体访问控制地址,或称为物理地址、硬件地址,用来定义网络设备的位置。MAC地址是网卡决定的,是固定的。
ARP协议:地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址(MAC地址)的一个TCP/IP协议。
实施例一:
如图1所示,是本发明服务器IP保护方法的系统拓扑示意图,其中,根据以上拓扑图,一种服务器IP保护方法,包括:
步骤1)在网段内选取一台机器作为工作机,其维护一保护列表;
步骤2)工作机获取相同网段下的主机所发送的ARP询问包,所述ARP询问包为一包含该主机要获取的IP地址和访问方的MAC地址;
步骤3)从所述APR询问包中提取IP地址和MAC地址,并查询该IP地址是否在保护列表中,其中,如果IP地址在IP在保护列表中而MAC未对应,则认为它是非法的主机,并向该主机回复IP被占用的ARP包。
其中,步骤1)前,预先将受保护的IP保护列表及它们的合法MAC映射记录进内存备用。
本实施例采取了上述方案以后,不需要被保护的服务器参与,也不需要连接服务器的客户端参与,即能完成服务器IP的保护。
实施例二:
结合实施例二进行详细说明。
具体来说,本方案的实现方法为在网段内选取一台机器用来做保护动作,称之工作机,此台机器通过ARP攻击保护指定的IP不被非法的MAC所使用。原理在于IP的获取过程,当一台主机想要使用某个IP时,需要经过内网的同意,这就是ARP协商的过程,正常流程是主机会先发一个ARP广播,询问内网中是否有使用此IP的,如果有,告诉我(的MAC),如果此IP确实被占用,ARP协议定义了此IP占用者的行为:向询问者回复ARP包,表示IP在我(的MAC)用着,则ARP询问发起方知道IP被占用,IP获取失败。反之如果在一段时间内没任何主机回复包,则询问方获取IP成功。
本方案攻击点在于截获到ARP询问包后,从包中提取要获取的IP和访问方的MAC,如果IP在保护列表中而MAC未对应,则认为它是非法的主机,会为它回复此IP被占用的ARP包,使得询问方无法正常获取想用的IP。
实施例三:
结合具体的程序设计进行说明,具体来说,该方法详细包括以下的步骤:
1.将策略(受保护的IP列表及它们的合法MAC映射)记录进内存备用。
2.使用winpcap库在所有网卡上进行混杂模式抓包,以期抓到ARP询问包。
3.对每个抓到的ARP询问包进行判断,判断逻辑如下:
1)如果是本机发起的,则不处理;
2)如果ARP结构中sender_ip和target_ip一致,或者sender_ip为0,则认为这是一个想要获取IP地址的询问包,只处理这种想要获取IP地址的询问包。
3)在保护列表中查找target_ip,如果找到,说明这是一个受保护的IP
4)从保护列表中找到此IP映射的MAC,如果和ARP包中sender_mac不一致,则说明是非法的主机要获取IP,则进行攻击。
5)构造ARP攻击包,攻击包中target_mac为ARP询问包中的sender_mac,攻击包中sender_mac为一个伪造的假MAC,攻击包中sender_ip为要保护的IP。
6)将攻击包发送出去,询问方收到攻击包后自然会认为此IP已被人占用,无法使用。
构造攻击包的方法用C语言表达如下:
与现有技术相比,本方案有三个主要优点:
1.实现完全的“旁路”,不需要受保护方和资源使用方参与,所以不需要在内网中有复杂的配置过程。
2.可以在服务器暂时失去对IP的占用(如重启或宕机)时,仍能保护对应的IP。
3.可以动态地增加工作机的数量来增加对非法主机的攻击强度,使攻击方难以破解。
实施例四:
与以上方法相对应,本发明还提供了一种种服务器IP保护系统,包括:
工作机,其为一在网段内选取的机器,其包括:保护列表维护模块,用于维护一保护列表;
抓包模块,用于获取相同网段下的主机所发送的ARP询问包,所述ARP询问包为一包含该主机要获取的IP地址和访问方的MAC地址;
地址保护模块,用于从所述APR询问包中提取IP地址和MAC地址,并查询该IP地址是否在保护列表中,其中,如果IP地址在IP在保护列表中而MAC未对应,则认为它是非法的主机,并向该主机回复IP被占用的ARP包。
其中,所述保护列表维护模块,进一步用于预先将受保护的IP保护列表及它们的合法MAC映射记录进内存备用。
所述抓包模块,用于在所有网卡上进行混杂模式抓包,以抓到ARP询问包,并对每个抓到的ARP询问包进行判断。
所述地址保护模块,对每个抓到的ARP询问包进行判断,具体包括:
41)如果是本机发起的,则不处理;
42)如果ARP结构中sender_ip和target_ip相同,或者sender_ip为0,则在保护列表中查找target_ip,如果找到,说明这是一个受保护的IP;
43)从保护列表中找到此IP映射的MAC,如果和ARP包中sender_mac不一致,则说明是非法的主机要获取IP。
10、根据权利要求9所述的服务器IP保护系统,其特征在于,所述地址保护模块,进一步执行以下操作:
51)构造ARP攻击包,攻击包中target_mac为ARP询问包中的sender_mac,攻击包中sender_mac为一个伪造的假MAC,攻击包中sender_ip为要保护的IP;52)将攻击包发送出去,询问方收到攻击包后认为此IP已被人占用,无法使用。
与现有技术相比,本方案有三个主要优点:
1.实现完全的“旁路”,不需要受保护方和资源使用方参与,所以不需要在内网中有复杂的配置过程。
2.可以在服务器暂时失去对IP的占用(如重启或宕机)时,仍能保护对应的IP。
3.可以动态地增加工作机的数量来增加对非法主机的攻击强度,使攻击方难以破解。
需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。