掌桥专利:专业的专利平台
掌桥专利
首页

预防原始地址欺骗攻击的方法,装置、服务器和存储介质

文献发布时间:2023-06-19 10:00:31


预防原始地址欺骗攻击的方法,装置、服务器和存储介质

技术领域

本发明涉及互联网,特别是涉及一种预防原始地址欺骗攻击的方法,装置、服务器和存储介质。

背景技术

在互联网领域,当用户通过浏览器访问WEB服务器时,在通过HTTP(Hyper TextTransfer Protocol)代理或者负载均衡服务器访问WEB服务器时,就会在HTTP请求头中添加XFF字段(也即通常所说的XFF头),其中XFF是X-Forwarded-For的缩写,是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP(Internet Protocol)地址。通俗来说,就是浏览器访问网站的IP地址。

如果没有XFF或者另外一种相似的技术,所有通过代理服务器的连接只会显示代理服务器的IP地址,而非连接发起的原始IP地址,这样的代理服务器实际上充当了匿名服务提供者的角色,如果连接的原始IP地址不可得,恶意访问的检测与预防的难度将大大增加。如XFF字段欺骗攻击,其通过专门的抓包改包工具或者浏览器插件等途径更改HTTP头的X-Forwarded-For字段,用以在应用层伪装访问网站的IP地址。

XFF字段的有效性依赖于代理服务器提供的连接原始IP地址的真实性,因此,XFF字段的有效使用应该保证代理服务器是可信的,比如现有的预防XFF字段欺骗的方法通常为设置一个可信设备列表,只有该列表的访问IP地址才会视相应的XFF字段为真实的访问者。如果IP层源IP地址不在可信列表中,则忽略该XFF字段。由于需要提前配置好可信IP地址列表,所以该方法的适用性很差。但是当企业使用了CDN加速,由于可信IP地址列表变动太频繁以至于该方法完全无法使用。

因此,亟待一种方案来自动识别创建可信IP地址列表,进而预防原始地址欺骗攻击。

发明内容

针对现有技术中存在的上述技术问题,本发明需要实时创建可信IP地址列表,以预防原始地址欺骗攻击。

第一个方面,本发明公开了一种预防原始地址欺骗攻击的方法,其特征在于:当用户终端通过浏览器发起访问时,根据所述访问自动提取发起所述访问的IP地址列表;判断IP地址列表中的IP地址是否为可信IP地址,其中将所述IP地址列表中判断为局域网IP地址和用户自有IP地址的IP地址都确定为可信IP地址,对所述IP地址列表中的其余IP地址进行IP地址信誉和IP地址地理位置判断以确定是否为可信IP地址,将确定的可信IP地址形成可信IP地址列表;当http请求的源IP地址为所述可信IP地址列表中的IP地址时,进行XFF字段提取,并检测所述XFF字段是否合法。

在一种可选的实施方式中,其进一步包括:在进行所述IP地址信誉判断时,使用微步在线的离线IP地址信誉库判断IP地址是否为内容分发网络IP地址,在进行所述IP地址地理位置判断时,查询是否处于中国国内,当所述IP地址列表中的其他IP地址被判断为中国国内的内容分发网络IP地址时,将其视为可信IP地址,否则视为不可信IP地址。

在一种可选的实施方式中,其进一步包括:在检测所述XFF字段是否合法时,将IP地址为8.8.8.8、4.4.4.4、8.8.4.4的XFF字段视为不合法。

第二个方面,本发明公开了一种预防原始地址欺骗攻击的装置,其特征在于:

第一提取模块,其用于当用户终端通过浏览器发起访问时,根据所述访问自动提取发起所述访问的IP地址列表;判断模块,其用于判断IP地址列表中的IP地址是否为可信IP地址,其中将所述IP地址列表中判断为局域网IP地址和用户自有IP地址的IP地址都确定为可信IP地址,对所述IP地址列表中的其余IP地址进行IP地址信誉和IP地址地理位置判断以确定是否为可信IP地址,将确定的可信IP地址形成可信IP地址列表;第二提取模块,当http请求的源IP地址为所述可信IP地址列表中的IP地址时,进行XFF字段提取,并检测所述XFF字段是否合法。

在一种可选的实施方式中,其进一步包括:所述判断模块还用于在进行所述IP地址信誉判断时,使用微步在线的离线IP地址信誉库判断IP地址是否为内容分发网络IP地址,在进行所述IP地址地理位置判断时,查询是否处于中国国内,当所述IP地址列表中的其他IP地址被判断为中国国内的内容分发网络IP地址时,将其视为可信IP地址,否则视为不可信IP地址。

在一种可选的实施方式中,其进一步包括:所述第二提取模块还用于在检测所述XFF字段是否合法时,将IP地址为8.8.8.8、4.4.4.4、8.8.4.4的XFF字段视为不合法。

第三个方面,本发明公开了一种服务器,其包括处理器和存储器,所述存储器存储计算机程序,所述处理器执行所述计算机程序以实现上述第一方面所述的方法。

第四个方面,本发明公开了一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面所述的方法。

与现有技术相比,本发明实施例的有益效果在于:本发明通过实时构建可信IP列表,进而有效预防原始字段欺骗攻击。

附图说明

在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。

图1示出了根据本发明的预防原始地址欺骗攻击的方法的流程示意图;

图2示出了根据本发明的预防原始地址欺骗攻击的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。

请参考图1,其示出了根据本发明的预防原始地址欺骗攻击的方法的流程示意图。

步骤101:当用户终端通过浏览器发起访问时,根据所述访问自动提取发起所述访问的IP地址列表。

在实际的网络访问中,有两种方式可以从HTTP请求中获得请求者的IP地址。一个是从Remote Address中获得,另一个是从X-Forward-For中获得。Remote Address代表的是当前HTTP请求的远程地址,即HTTP请求的源地址,也是HTTP请求的用户IP地址。如果请求者伪造Remote Address地址,他将无法收到HTTP的响应报文,此时伪造没有任何意义。这也就使得Remote Address默认具有防篡改的功能,在没有通过代理服务器进行HTTP请求转发时,Remote Address地址给出的就是用户的真实IP地址。

而在很多大型网站中,来自用户的HTTP请求会经过反向代理服务器或是负载均衡服务器等各种代理服务器进行转发,此时,服务器收到的Remote Address地址就是反向代理服务器或是负载均衡服务器的地址。在这样的情况下,用户的真实IP地址将被丢失,因此有了HTTP扩展头部X-Forward-For。当反向代理服务器或是负载均衡服务器转发用户的HTTP请求时,需要将用户的真实IP地址写入到X-Forward-For中,以便后端服务能够使用。

常见的负载均衡技术有以下几种:1、基于DNS的负载均衡,2、反向代理负载均衡(如Apache+JK2+Tomcat这种组合),3、基于NAT(Network Address Translation)的负载均衡技术(如Linux Virtual Server,简称LVS)。上述负载均衡技术通过一个地址转换网关将每个外部连接均匀转换为不同的内部服务器地址,因此外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载均衡的目的。

当采用反向代理服务器或是负载均衡服务器进行访问转发时,就需要有效识别其HTTP扩展头部XFF中的IP地址是否是真实或可信IP地址,以确定是否允许相应IP地址访问Web服务器。由此当用户终端通过浏览器发起访问时,根据所述访问自动提取IP地址列表,以在后续操作中进行相应IP地址是否可信的判断。

步骤102:判断IP地址列表中的IP地址是否为可信IP地址,其中将所述IP地址列表中判断为局域网IP地址和用户自有IP地址的IP地址都确定为可信IP地址,对所述IP地址列表中的其余IP地址进行IP地址信誉和IP地址地理位置判断以确定是否为可信IP地址,将确定的可信IP地址形成可信IP地址列表。

具体而言,在根据接收到的流量自动提取IP地址列表后,对IP地址列表中各个IP地址进行判断,通常IP地址包括用户自身的IP地址,局域网IP地址、内容分发网络(CDN)的IP地址等,判断步骤如下:

对于用户自身的IP地址都视为可信IP地址。

对于所有的局域网都视为可信IP地址。具体的网段如下:

"0.0.0.0/8",

"10.0.0.0/8",

"100.64.0.0/10",

"172.16.0.0/12",

"192.0.0.0/24",

"192.0.2.0/24",

"192.31.196.0/24",

"192.52.193.0/24",

"192.88.99.0/24",

"192.168.0.0/16"

对IP地址的IP地址信誉和地理位置做判断,IP地址信誉这里使用了微步在线的离线IP地址信誉库,通过微步在线的离线IP地址信誉库判断IP地址是否是CDN的IP地址,并通过地理位置判断其是否属于中国,如果查询的IP地址为国内的CDN,则视为可信IP地址:

If GeoData.IsAtCountry(IP,“china”)&&WeiBuOfflineIPReputation.Check(IP,“CDN”)

AddTrustIPList(IP)

end

由于CDN服务器是由各个公司开发并提供服务的,目前国内市场上使用的有国内CDN和国外CDN,而在国内,所有国内CDN都需要备案,而国外CDN并不需要备案,因此,将来自国外CDN的IP地址都视为不可信IP地址。

步骤103:当http请求的源IP地址为所述可信IP地址列表中的IP地址时,进行XFF字段提取,并检测所述XFF字段是否合法。

具体而言,当客户端进行http请求的源IP地址属于可信IP地址列表中的可信IP地址时,进行相应XFF字段提取,并检测所述XFF字段是否合法,其中将IP地址为8.8.8.8、4.4.4.4、8.8.4.4的XFF字段视为不合法。

请参考图2,其示出了根据本发明的预防原始地址欺骗攻击的装置的结构示意图。

本发明的预防XFF字段欺骗攻击的装置200位于服务器中,如WEB服务器。所述预防XFF字段欺骗攻击的装置200包括第一提取模块201、判断模块202和第二提取模块203。

第一提取模块201,其用于当用户终端通过浏览器发起访问时,根据所述访问自动提取发起所述访问的IP地址列表。

判断模块202,判断IP地址列表中的IP地址是否为可信IP地址,其中将所述IP地址列表中判断为局域网IP地址和用户自有IP地址的IP地址都确定为可信IP地址,对所述IP地址列表中的其余IP地址进行IP地址信誉和IP地址地理位置判断以确定是否为可信IP地址,将确定的可信IP地址形成可信IP地址列表。

在进一步的实施方式中,所述判断模块202还用于在进行所述IP地址信誉判断时,使用微步在线的离线IP地址信誉库判断IP地址是否为内容分发网络IP地址,在进行所述IP地址地理位置判断时,查询是否处于中国国内,当所述IP地址列表中的其他IP地址被判断为中国国内的内容分发网络IP地址时,将其视为可信IP地址,否则视为不可信IP地址。

第二提取模块203,其用于当http请求的源IP地址为所述可信IP地址列表中的IP地址时,进行XFF字段提取,并检测所述XFF字段是否合法。

在进一步的实施方式中,所述第二提取模块203还用于在检测所述XFF字段是否合法时,将IP地址为8.8.8.8、4.4.4.4、8.8.4.4的XFF字段视为不合法。

应当理解,上述示例的预防XFF字段欺骗攻击的装置200的结构仅为本发明实施例提供的一个例子,其可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。如在WEB服务器中,包括处理器和存储器,所述存储器存储计算机程序,所述处理器执行所述计算机程序以实现本发明所述的预防XFF字段欺骗攻击的方法。

结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:Random Access Memory,RAM)、闪存、只读存储器(英文:Read Only Memory,ROM)、可擦除可编程只读存储器(英文:ErasableProgrammable ROM,EPROM)、电可擦可编程只读存储器(英文:Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。

以上对本发明的实施例进行了描述。但是这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本发明公开的范围之内。

相关技术
  • 预防原始地址欺骗攻击的方法,装置、服务器和存储介质
  • 预防原始地址欺骗攻击的方法,装置、服务器和存储介质
技术分类

06120112383869