CN104580216A - 一种对访问请求进行限制的系统和方法 - Google Patents
一种对访问请求进行限制的系统和方法 Download PDFInfo
- Publication number
- CN104580216A CN104580216A CN201510011598.9A CN201510011598A CN104580216A CN 104580216 A CN104580216 A CN 104580216A CN 201510011598 A CN201510011598 A CN 201510011598A CN 104580216 A CN104580216 A CN 104580216A
- Authority
- CN
- China
- Prior art keywords
- statistics
- access request
- blacklist
- request
- load equalizer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000009471 action Effects 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 2
- 239000000203 mixture Substances 0.000 abstract 1
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 238000011269 treatment regimen Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种对访问请求进行限制的系统和方法,在该系统中,负载均衡器接收访问请求,把所接收的访问请求解析成UDP报文,并且把UDP报文传送给聚集器;聚集器根据预定义统计数据项组合和预定义统计时长对接收到的UDP报文进行统计,并且根据汇总器的请求向其发送统计结果;汇总器按照预定的请求时间间隔向聚集器请求统计结果,接收来自所述聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根据所述负载均衡器的请求把黑名单发送给所述负载均衡器。所述负载均衡器根据当前黑名单确定对所接收的每个访问请求的处理动作。
Description
技术领域
本发明涉及一种对来自网络的访问请求进行限制的系统及其相应的方法。
背景技术
传统的负载平衡器(Load Balancer),如采用linux下HaProxy的配置,用于读取来自网络的每一个HTTP请求中所包含的cookies或URL解释,并且基于这些信息重写报头并将HTTP请求发往后端服务器群,使得后端服务器群中各服务器达到流量、资源占用的平衡状态。但是,传统的负载平衡器不会自动对网络的流量进行滤过检查,不能对攻击流量进行限流或丢弃。
在现有技术中,已知有基于流量清洗技术通过侦测TCP分组来实现针对ICMP/TCP/UDP流攻击进行防护的,通过重发TCP/UDP分组来实现。这种已知方案仅对TCP/UDP层的分组有效,它对于预防需解密的开放式系统互联参考模型(OSI)第7层应用层的HTTP流攻击无能为力。
一种想法是根据对访问URL做统计,根据单位时间访问量如QPS来限制访问请求。针对一个大型网站访问URL的统计通常消耗很多内存。一般来说,对于数据项IP地址、用户标识(USERID)、统一资源定位符(URL)等的任何一个组合,需要记录与该组合相关联的每一个访问的时间戳(timestamp)。当需要计算QPS时,将各个时间点过滤或排序,既费时又耗内存。
在现有技术中,当需要计算QPS时,将各个时间点过滤或排序,既费时又耗内存。
发明内容
本发明的目的是提供至少部分解决上述问题的系统和方法。本发明特别适合于解决网络的DOS攻击(拒绝服务攻击)和DDOS攻击(分布式的拒绝服务攻击)领域。该技术尤其适合于针对HTTP流攻击(httpflooding)的防范。本发明通过对用户流量的统计和分析,找到符合模式匹配的攻击流量并加以限流或丢弃,从而保护其后端服务器。
根据本发明的一个方面,提供一种对来自网络的访问请求进行限制的系统,该系统包括负载均衡器、聚集器和汇总器。所述负载均衡器接收来自所述网络的访问请求,把所接收的每个访问请求解析成一个UDP报文,并且把UDP报文传送给聚集器;所述聚集器根据预定义统计数据项组合和预定义统计时长对接收到的UDP报文进行统计,并且根据汇总器的请求向其发送统计结果;所述汇总器按照预定的请求时间间隔向所述聚集器请求统计结果,接收来自所述聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根据所述负载均衡器的请求把黑名单发送给所述负载均衡器,其中所述黑名单定义了对相应访问请求的处理动作。其中,所述负载均衡器根据当前黑名单确定对所接收的每个访问请求的处理动作。
根据本发明的另一方面,提供一种对来自网络的访问请求进行限制的系统中执行的方法,该系统包括负载均衡器、聚集器和汇总器,所述方法包括:所述负载均衡器接收来自所述网络的访问请求,把所接收的该访问请求解析成一个UDP报文,并且把该UDP报文传送给聚集器;所述负载均衡器根据当前黑名单确定对所接收的该访问请求的处理动作,其中所述黑名单定义了对访问请求的处理动作。其中,所述聚集器接收所述负载均衡器发送的UDP报文,根据预定义统计数据项组合和预定义统计时长对接收到的UDP报文进行统计以产生统计结果,并且根据汇总器的请求向其发送统计结果;所述汇总器按照预定的请求时间间隔向所述聚集器请求统计结果,接收来自所述聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根据所述负载均衡器的请求把黑名单发送给所述负载均衡器。
根据本发明,所述统计结果给出了在所述预定义统计时长内累计的包含有所述预定义统计数据项组合的UDP报文数量
根据本发明,所述网络是因特网,所述访问请求是来自因特网的HTTP请求。
根据本发明,其中所述聚集器包括多台彼此独立运行的聚集机,所述负载均衡器把每个UDP报文传输至一台聚集机,各台聚集机分别进行所述统计。所述汇总器从所述多台聚集机接收统计结果,产生汇总的统计结果。并且所述黑名单根据所述汇总的统计结果和所述预定义规则生成。
根据本发明的系统还包括预定义的白名单,所述白名单定义了规定被放行的访问请求。并且所述负载均衡器对接收的访问请求按如下确定对该访问请求的处理动作:当该访问请求匹配所述白名单或者不匹配当前黑名单时,则对该访问请求放行;当该访问请求不匹配所述白名单且匹配当前黑名单时,对该访问请求按照黑名单中相应记录规定的处理动作来进行操作。
根据本发明的系统,其中所述黑名单中规定的所述处理动作包括下述之一:拦截、重定向和延时。
附图说明
下面将参考附图详细地描述本发明的实施例,其中:
图1是根据本发明的用于对访问请求进行限制的系统的结构图;
图2是根据本发明的负载均衡器处理接收的访问请求的时序图;
图3是根据本发明的汇总器的实例性组成的框图。
具体实施方式
本发明提供利用统计信息对来自网络的访问请求进行限制的系统和方法。
一个访问请求,例如HTTP请求,包括如下数据项:该查询用户要访问的目的域名(host);用户请求的通用资源标示符(uri);用户名(uid);客户端IP地址(cip)等。
根据本发明,本发明提供一种对来自网络的访问请求进行限制的系统,该系统包括负载均衡器、聚集器和汇总器。
所述负载均衡器接收来自所述网络的访问请求,把所接收的每个访问请求解析成一个UDP报文,并且把UDP报文传送给聚集器。
所述聚集器根据预定义统计数据项组合和预定义统计时长对接收到的UDP报文进行统计,并且根据汇总器的请求向其发送统计结果。所述统计结果给出了在当前的预定义统计时长内累计的包含有所述预定义统计数据项组合的UDP报文数量。
所述汇总器按照预定的请求时间间隔向所述聚集器请求统计结果,接收来自所述聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根据所述负载均衡器的请求把黑名单发送给所述负载均衡器,其中所述黑名单定义了对相应访问请求的处理动作。
所述负载均衡器根据当前黑名单确定对所接收的每个访问请求的处理动作。
下面结合具体实施例详细描述根据本发明实施例的系统。但应该理解,具体实施例仅用于理解本发明的精神和具体实现,但本发明并不受限于特定的实施例。
图1示出根据本发明实施例的系统100,该系统100包括3个模块:
负载均衡器101,
聚集器102,和
汇总器103。
负载均衡器101接收来自网络的访问请求,如来自因特网的HTTP请求,并将接收的访问请求解析成UDP报文,再将UDP报文传输给聚集器102。
UDP报文因其资源消耗小、处理速度快等优势可以大大减小负载均衡器的额外开销。UDP协议不属于连接型协议,所以会存在一定的报文丢失现象。但这种丢失在可控误差范围之内,对系统的健硕性影响可忽略。
聚集器102可包括多台聚集机。多台聚集机水平独立扩展,即每台聚集机是独立部署和运行的,它们相互之间没有影响和依赖。如果聚集器处理能力不能满足需要,可以增加机器,再部署新的聚集机。这样可以较好地满足大交通流量的需要。
负载均衡器101把每个UDP报文传输至一台选定的聚集机。各台聚集机分别进行所述统计。
根据本发明的一个实施例,负载均衡器101用逐个轮询的方式向多台聚集机发UDP报文。例如,第一个UDP包发给第一台聚集机,第二个UDP包发给第二台聚集机,依次把生成的UDP包按顺序发给各聚集机。当给最后一台聚集机发送过过UDP包之后,再重新向第一台聚集机发送。
每台聚集机按照预定义统计规则或条件,如预定义的统计数据项组合、预定义的统计时间间隔等,对接收到的UDP报文进行统计分析。
聚集机接收UDP报文并且解析UDP报文。UDP报文中包含了用户的HTTP访问请求的信息:用户访问的目的域名(host)、用户请求的通用资源标示符(uri)、用户名(uid)、客户端IP地址(cip)等。
然后,聚集机针对同一个目的域名(相同的host)、同一来源(相同的uid,相同的cip)的访问请求数量作统计,进而可计算出此来源的访问请求量。
如果在限定的时间段,如最近60秒或最近5分钟,考察上述统计访问请求量,那么可得出此来源的单位时间请求量,如通过访问请求量除以该时间段的时长来获得QPS值。QPS是指每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。
然后,聚集机根据汇总器103的请求向其发送统计结果。
汇总器103每隔一定时间,例如每隔10秒,向聚集器请求一次“统计结果”,这种请求例如以HTTP形式发出请求。
当聚集器的各聚集机收到来自汇总器103的请求后,则把当前的统计结果构造成响应报文,例如HTTP形式的响应报文,并且把包含当前统计结果的响应报文发给汇总器103。
汇总器103接收来自各聚集机的响应报文,根据特定分类处理从所有聚集机接收的报文中包含的统计结果,产生汇总的统计分析结果,并根据预定义规则生成黑名单。
根据本发明的一个实施例,黑名单中的一条黑名单记录包含4个参数:
目的域名(host),
源用户名(uid),
源客户端IP(cip),和
处理动作(action)。
该记录的含义可理解为,对于发送给该目的域名(host)的一请求,如果用户名和客户端IP等同于该记录中对应的值(源用户名、源客户端IP),则采取对应的处理动作。处理动作例如是对该请求进行拦截或重定向或延时。
当一访问请求的目的域名、用户名、客户端IP地址与一黑名单记录的目的域名、用户名、客户端IP地址,则称该访问请求匹配黑名单。
在汇总器103的配置文件1036中设置针对具体目的域名的单位时间请求量阀值和处理动作。
汇总器103根据具有某种统计数据项组合该访问请求的汇总统计结果进行判断,当这种访问请求的单位时间访问量(QPS)值超过了其目的域名对应的单位时间访问量阀值时,则产生相应的黑名单记录,该记录包括该请求的目的域名、用户名和客户端IP以及相应的处理动作。所产生的黑名单记录被加入黑名单,从而产生当前黑名单。
另外,在汇总器103中还维护一个白名单。白名单可以具有黑名单同样的结构,但白名单实现一种优先处理策略,对匹配白名单的访问请求,处理动作一律是放行,即把该访问请求发往其目的后端服务器(host),并由后端服务器来对请求作出响应。
汇总器103将黑名单和预定义的白名单异步加载至负载均衡器101。根据本发明的一个实施例,汇总器103的监听线程用于给负载均衡器101提供黑名单列表。当负载均衡器101发起请求时,监听线程获取黑名单,并把黑名单连同白名单发送给负载均衡器101。
负载均衡器101是黑名单中“处理动作”的实际执行者。
当然白名单不必一定在汇总器103中维护,例如可在负载均衡器101中维持。
如果一访问请求匹配白名单,由于负载均衡器101的处理原则是白名单优先,因此不论该访问请求是否匹配黑名单,负载均衡器101的对该查询执行的处理动作是放行。如果访问请求不匹配白名单而匹配黑名单,则负载均衡器101根据黑名单的规定采取相应处理动作。如果访问请求即不匹配白名单也不匹配黑名单,则可以对该访问请求放行。
根据本发明,负载均衡器101根据黑名单和白名单,对来自网络的访问请求做如下处理:
当该访问请求匹配白名单或者不匹配黑名单时,则对该访问请求放行,并且构造相应的UDP报文并发给聚集器(因只有这种放行流量才是真正发到相应后端服务器的流量,聚集器要继续计算这种访问请求的“统计结果”);
当该访问请求不匹配白名单且匹配黑名单时,对该访问请求按照黑名单中相应记录规定的处理动作来进行操作。
图2示出了根据本发明的负载均衡器对来自网络的访问请求进行限制的方法。
在步骤S11,所述负载均衡器接收来自所述网络的访问请求,并把所接收的该访问请求解析成一个UDP报文。
在步骤S12,把该UDP报文传送给聚集器。
然后,所述负载均衡器根据当前的白名单和黑名单确定对所接收的该访问请求的处理动作,其中所述黑名单定义了对访问请求的处理动作,具体如下。
在步骤S13,负载均衡器判断该访问请求是否与白名单匹配。如果匹配,则转S14,即放行该访问请求,将其发往相应的后台服务器。否则,进至步骤S15。
在步骤S15,负载均衡器判断该访问请求是否与黑名单匹配。如果不匹配,则则转S14,即放行该访问请求,将其发往相应的后台服务器。否则,进至步骤S16。
在步骤S16,负载均衡器按照黑名单中相应规定的处理动作来处理该访问请求。
根据本发明,所述聚集器接收所述负载均衡器发送的UDP报文,根据预定义统计数据项组合和预定义统计时长对接收到的UDP报文进行统计以产生统计结果,并且根据汇总器的请求向其发送统计结果。所述统计结果给出了在当前统计时长内累计的包含有所述预定义统计数据项组合的UDP报文数量。
所述汇总器按照预定的请求时间间隔向所述聚集器请求统计结果,接收来自所述聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根据所述负载均衡器的请求把黑名单发送给所述负载均衡器。
下面详细描述聚集机及其执行统计的过程。
聚集机根据接收的UDP报文产生针对特定统计数据项的统计结果。根据本发明的一个实施例,聚集机包括:
接收部分,用于接收所述负载均衡器发送的UDP报文,所述UDP报文是通过负载均衡器解析来自网络的查询请求而产生的;
计算部分,根据预定义统计数据项组合和预定义统计时长对接收的UDP报文进行统计以产生统计结果;
发送部分,根据汇总器的请求向其发送所述统计结果。
对于来自网络的每个HTTP请求,它只能被负载均衡器101解析成一个UDP报文并传输至聚集器102的聚集机集群上的某一台机器上。各聚集机根据预定义的统计条件,如根据UDP报文中的数据项比如用户名userid、IP地址ip和通用资源标示符uri的特定组合以及指定的统计时段,进行访问请求次数的统计。
对接收的UDP报文,聚集机从该UDP报文中抽取信息项如userid、ip、uri等,以这些信息项的指定组合(可以存在多种组合)作为统计数据项,按照设定的统计时间段时长(如分为短时间段和长时间段)进行请求次数的统计。
常用统计数据项包括如下三种:
userid+ip+uri;
userid+uri;
ip+uri。
统计完成后,聚集机生成统计结果,例如以JSONS数据格式的web页形式。在接收到汇总器103的请求时,把统计结果传送给汇总器103。
一台聚集机计算流量统计的详细过程如下:
在启动统计过程之后,当接收到给定统计数据项的第一个upd报文时,对相应变量进行初始化,将接收到该“第一个upd报文”的当前时刻作为有效开始计算时刻,访问次数设为1,开始时间设为该当前时间,持续时间设为0:
total_count=1;
start_time=time(NULL);
last_length=0;
在后续的统计计算中,last_length是从开始计算时刻start_time到当前时刻current_time的持续时间的时长。
对于后续接收的该统计数据项的报文,根据该报文的接收时间与设定的统计时间段的关系,访问次数的计算分为三种情况:
(1)当接收时间落在第一个统计时间段内时,访问次数在原基础上增1,持续时间为当前时间与有效开始计算时间之差(假设设定的统计时间段时长设置为60秒,那么一小时中就有60个统计时间段,该“第一个统计时间段”可被认为是某一个60秒的时间)。
(2)当接收时间落在所述第一个统计时间段之后等长的第二个统计时间段之间时,有效开始计算时间将被重新记录。将接受时间作为新的统计时间段的末点,将相应的起点时刻记为有效开始计算时间。此时的访问次数为新的统计时间段内的访问次数,计算方法为先计算原统计时间段内的QPS,将QPS乘以新的统计时间段中原统计时间段部分的时间,再增1,持续时间即为统计时间段时长。
(3)当接收时间落在第二个统计时间段之后时,当前的接收时间将被定为有效开始计算时间,访问次数重新设置为1,持续时间为0,等同于初始化,重新计算流量。
以设定统计时间段为60秒为例,相应算法伪代码如下:
diff=current_time-start_time;
if(diff<60*X){#当接收时间落在第一个统计时间段内时
total_count++;last_length=diff;
}else if(diff>2*60*X){#当接收时间落在第二个统计时间段之后
total_count=1;
start_time=current_time;
last_length=0;
}else{#当接收时间落在第二个统计时间段之内
start_time=current_time-60*x;
total_count=total_count–total_count/60/X*(diff-60*X)+1;
last_length=60*X;
}
关于统计时间的设定,可设置为短时间段统计和长时间段两种。短时间段统计是为防范dos快攻击,即短时间内大量的连接请求冲击服务器,使得所有可用的资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。而长时间段统计是为防范dos慢攻击。
下面详细描述汇总器103的汇总统计处理和黑名单的生成。
汇总器103根据特定分类读取所有聚集机的请求次数统计结果,汇总统计结果,根据预定义策略生成黑名单列表,并把黑名单异步加载至负载均衡器101。
汇总器103的构成和具体工作原理如图3所示。
汇总器103包括接收部分1031、生成部分1032、监听部分1033、配置文件1036和数据库1037。
根据本发明的实施例,接收部分1031可为每台聚集机器创建一个接收线程,接收线程每隔一定时间(如一分钟)从每台聚集机器Web页输出上读取针对不同数据项组合的请求数的统计数据。统计数据例如是JSONSG格式的数据。
汇总器103的生成部分1032把从多台聚集机器接收的数据针对预定的数据统计项进行汇总。
不同的统计数据项组合包括userid+ip+uri、ip+uri、userid+uri。
这对这些不同数据项组合的请求数会分别被存储到对应的hashmap中。Hashmap是基于哈希表的Map接口的实现,在计算机编程中用于存储、查找等功能。
当针对某个统计数据项组合的请求数超过配置文件中预定义的黑名单阀值时,如0.5QPS(每秒查询率),userid或ip便被添加到黑名单列表中,从而产生当前的黑名单。
根据一个实施例,生成部分1032中的入库线程将hashmap里的汇总数据存入数据库1037。根据本发明的实施例,为了在入库线程和接收线程之间不对共享的hashmap加锁,使用双hashmap。
另外,系统的监控终端200可通过HTTP协议直接获取数据库1037的数据,数据以JSONS格式导出,不通过汇总器103。
汇总器103的监听部分1033用于给负载均衡器101提供黑名单列表。当负载均衡器101发起请求时,监听部分1033获取黑名单,并把黑名单连同白名单发送给负载均衡器101。
根据本发明的一个实施例,汇总器103可采用主从两台服务器一起工作的模式,一台为主服务器作为正常工作机器,一台为从服务器作为数据备份机器,当主服务器出现故障以后,从服务器会自动接管主服务器的所有工作,从而保证系统的高可靠性。
尽管结合附图和特定实施例描述了本发明。但附图和说明书中的实施例仅仅是本发明的实例,而不是用于限制本发明。本发明的范围由权利要求书来限定。
Claims (10)
1.一种对访问请求进行限制的系统,该系统包括负载均衡器、聚集器和汇总器,
所述负载均衡器接收来自所述网络的访问请求,把所接收的每个访问请求解析成一个UDP报文,并且把UDP报文传送给聚集器;
所述聚集器根据预定义统计数据项组合和预定义统计时长对所接收的UDP报文进行统计,并且根据汇总器的请求向其发送统计结果;
所述汇总器按照预定的请求时间间隔向所述聚集器请求统计结果,接收来自所述聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根据所述负载均衡器的请求把黑名单发送给所述负载均衡器,其中所述黑名单定义了对相应访问请求的处理动作,
其中,所述负载均衡器根据当前黑名单确定对所接收的每个访问请求的处理动作。
2.根据权利要求1所述的系统,所述统计结果给出了在所述预定义统计时长内累计的包含有所述预定义统计数据项组合的UDP报文数量。
3.根据权利要求1所述的系统,其中
所述聚集器包括多台彼此独立运行的聚集机,所述负载均衡器把每个UDP报文传输至一台聚集机,各台聚集机分别进行所述统计,
所述汇总器从所述多台聚集机接收统计结果,产生汇总的统计结果,并且
所述黑名单根据所述汇总的统计结果和所述预定义规则生成。
4.根据权利要求1所述的系统,其中
所述系统还包括预定义的白名单,所述白名单定义了规定被放行的访问请求,并且
所述负载均衡器对接收的访问请求按如下确定对该访问请求的处理动作:
当该访问请求匹配所述白名单或者不匹配当前黑名单时,则对该访问请求放行,
当该访问请求不匹配所述白名单且匹配当前黑名单时,对该访问请求按照黑名单中相应记录规定的处理动作来进行操作。
5.根据权利要求1所述的系统,其中所述黑名单中规定的所述处理动作包括下述之一:拦截、重定向和延时。
6.一种对访问请求进行限制的系统中执行的方法,该系统包括负载均衡器、聚集器和汇总器,所述方法包括:
所述负载均衡器接收来自所述网络的访问请求,把所接收的该访问请求解析成一个UDP报文,并且把该UDP报文传送给聚集器;
所述负载均衡器根据当前黑名单确定对所接收的该访问请求的处理动作,其中所述黑名单定义了对访问请求的处理动作,
其中,
所述聚集器接收所述负载均衡器发送的UDP报文,根据预定义统计数据项组合和预定义统计时长对所接收的UDP报文进行统计以产生统计结果,并且根据汇总器的请求向其发送统计结果;
所述汇总器按照预定的请求时间间隔向所述聚集器请求统计结果,接收来自所述聚集器的统计结果,根据所接收的统计结果和预定义规则生成访问请求的黑名单,并且根据所述负载均衡器的请求把黑名单发送给所述负载均衡器。
7.根据权利要求6所述的方法,所述统计结果给出了在所述预定义统计时长内累计的包含有所述预定义统计数据项组合的UDP报文数量。
8.根据权利要求6所述的系统,其中
所述聚集器包括多台彼此独立运行的聚集机,所述负载均衡器把每个UDP报文传输至一台聚集机,各台聚集机分别进行所述统计,
所述汇总器从所述多台聚集机接收统计结果,产生汇总的统计结果,并且
所述黑名单根据所述汇总的统计结果和所述预定义规则生成。
9.根据权利要求6所述的方法,其中
所述系统还包括预定义的白名单,所述白名单定义了规定被放行的访问请求,并且
所述负载均衡器对接收的访问请求按如下确定对该访问请求的处理动作:
当该访问请求匹配所述白名单或者不匹配当前黑名单时,则对该访问请求放行,
当该访问请求不匹配所述白名单且匹配当前黑名单时,对该访问请求按照黑名单中相应记录规定的处理动作来进行操作。
10.根据权利要求6所述的方法,其中所述黑名单中规定的所述处理动作包括下述之一:拦截、重定向和延时。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510011598.9A CN104580216B (zh) | 2015-01-09 | 2015-01-09 | 一种对访问请求进行限制的系统和方法 |
HK15105139.4A HK1204726A1 (zh) | 2015-01-09 | 2015-05-29 | 種對訪問請求進行限制的系統和方法 |
PCT/CN2016/070522 WO2016110273A1 (zh) | 2015-01-09 | 2016-01-08 | 一种对访问请求进行限制的系统和方法 |
JP2017554634A JP2018508166A (ja) | 2015-01-09 | 2016-01-08 | アクセス要求を規制するシステムおよび方法 |
RU2017128207A RU2666289C1 (ru) | 2015-01-09 | 2016-01-08 | Система и способ для ограничения запросов доступа |
US15/542,086 US10735501B2 (en) | 2015-01-09 | 2016-01-08 | System and method for limiting access request |
JP2019075800A JP6726331B2 (ja) | 2015-01-09 | 2019-04-11 | アクセス要求を規制するシステムおよび方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510011598.9A CN104580216B (zh) | 2015-01-09 | 2015-01-09 | 一种对访问请求进行限制的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580216A true CN104580216A (zh) | 2015-04-29 |
CN104580216B CN104580216B (zh) | 2017-10-03 |
Family
ID=53095397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510011598.9A Active CN104580216B (zh) | 2015-01-09 | 2015-01-09 | 一种对访问请求进行限制的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10735501B2 (zh) |
JP (2) | JP2018508166A (zh) |
CN (1) | CN104580216B (zh) |
HK (1) | HK1204726A1 (zh) |
RU (1) | RU2666289C1 (zh) |
WO (1) | WO2016110273A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580228A (zh) * | 2015-01-16 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 对来自网络的访问请求产生黑名单的系统和方法 |
WO2016110273A1 (zh) * | 2015-01-09 | 2016-07-14 | 北京京东尚科信息技术有限公司 | 一种对访问请求进行限制的系统和方法 |
CN105939320A (zh) * | 2015-12-02 | 2016-09-14 | 杭州迪普科技有限公司 | 处理报文的方法及装置 |
CN107454120A (zh) * | 2016-05-30 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 网络攻击防御系统和防御网络攻击的方法 |
CN110830496A (zh) * | 2018-03-30 | 2020-02-21 | 厦门白山耘科技有限公司 | 一种防止扫描权限文件的系统的使用方法及作业方法 |
CN113179317A (zh) * | 2021-04-27 | 2021-07-27 | 杭州迪普科技股份有限公司 | 内容重写设备的测试系统及方法 |
CN113904839A (zh) * | 2021-09-30 | 2022-01-07 | 杭州数梦工场科技有限公司 | 访问请求管理方法及装置 |
CN115174249A (zh) * | 2022-07-18 | 2022-10-11 | 湖北天融信网络安全技术有限公司 | 安全日志的处理方法及电子设备、存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109617932B (zh) * | 2019-02-21 | 2021-07-06 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN112953985B (zh) * | 2019-12-10 | 2023-04-07 | 贵州白山云科技股份有限公司 | 请求数据处理方法、装置、介质及系统 |
CN115396376A (zh) * | 2022-08-22 | 2022-11-25 | 平安科技(深圳)有限公司 | 负载均衡方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1705863A1 (en) * | 2005-03-25 | 2006-09-27 | AT&T Corp. | Method and apparatus for traffic control of dynamic denial of service attacks within a communications network |
CN101437030A (zh) * | 2008-11-29 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种防止服务器被攻击的方法、检测装置及监控设备 |
CN103491053A (zh) * | 2012-06-08 | 2014-01-01 | 北京百度网讯科技有限公司 | Udp负载均衡方法、系统及装置 |
CN104104669A (zh) * | 2014-06-17 | 2014-10-15 | 上海地面通信息网络有限公司 | 适用于因特网数据中心领域的抗DDoS攻击防护系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133603A1 (en) * | 2001-03-13 | 2002-09-19 | Fujitsu Limited | Method of and apparatus for filtering access, and computer product |
US7463590B2 (en) * | 2003-07-25 | 2008-12-09 | Reflex Security, Inc. | System and method for threat detection and response |
FR2872983A1 (fr) * | 2004-07-09 | 2006-01-13 | Thomson Licensing Sa | Systeme de pare-feu protegeant une communaute d'appareils, appareil participant au systeme et methode de mise a jour des regles de pare-feu au sein du systeme |
US7478429B2 (en) * | 2004-10-01 | 2009-01-13 | Prolexic Technologies, Inc. | Network overload detection and mitigation system and method |
JP4602158B2 (ja) * | 2005-05-25 | 2010-12-22 | 三菱電機株式会社 | サーバ装置保護システム |
US9794272B2 (en) * | 2006-01-03 | 2017-10-17 | Alcatel Lucent | Method and apparatus for monitoring malicious traffic in communication networks |
JP2008135871A (ja) * | 2006-11-27 | 2008-06-12 | Oki Electric Ind Co Ltd | ネットワーク監視システム、ネットワーク監視方法及びネットワーク監視プログラム |
JP4900119B2 (ja) * | 2007-08-01 | 2012-03-21 | ヤマハ株式会社 | ネットワーク機器 |
WO2009075007A1 (ja) * | 2007-12-12 | 2009-06-18 | Duaxes Corporation | 通信制御装置及び通信制御方法 |
JP5142956B2 (ja) * | 2008-11-20 | 2013-02-13 | 日本電信電話株式会社 | トラフィック情報管理サーバ及びトラフィック情報管理方法 |
JP2011049794A (ja) * | 2009-08-27 | 2011-03-10 | Alaxala Networks Corp | パケットフロー統計値取得システム及びパケットフロー統計値取得方法 |
US20110083179A1 (en) * | 2009-10-07 | 2011-04-07 | Jeffrey Lawson | System and method for mitigating a denial of service attack using cloud computing |
US9197600B2 (en) * | 2011-09-29 | 2015-11-24 | Israel L'Heureux | Smart router |
US9553809B2 (en) * | 2013-04-16 | 2017-01-24 | Amazon Technologies, Inc. | Asymmetric packet flow in a distributed load balancer |
RU133954U1 (ru) * | 2013-04-29 | 2013-10-27 | Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича" (СПбГУТ) | Устройство защиты сети |
US9055095B2 (en) * | 2013-06-14 | 2015-06-09 | Microsoft Technology Licensing, Llc | DOS detection and mitigation in a load balancer |
CN103746982B (zh) | 2013-12-30 | 2017-05-31 | 中国科学院计算技术研究所 | 一种http网络特征码自动生成方法及其系统 |
CN104579841B (zh) | 2015-01-09 | 2018-09-14 | 北京京东尚科信息技术有限公司 | 根据接收的udp报文产生对特定统计数据项的统计结果的系统 |
CN104580216B (zh) | 2015-01-09 | 2017-10-03 | 北京京东尚科信息技术有限公司 | 一种对访问请求进行限制的系统和方法 |
CN104580228A (zh) | 2015-01-16 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 对来自网络的访问请求产生黑名单的系统和方法 |
-
2015
- 2015-01-09 CN CN201510011598.9A patent/CN104580216B/zh active Active
- 2015-05-29 HK HK15105139.4A patent/HK1204726A1/zh unknown
-
2016
- 2016-01-08 US US15/542,086 patent/US10735501B2/en active Active
- 2016-01-08 RU RU2017128207A patent/RU2666289C1/ru active
- 2016-01-08 JP JP2017554634A patent/JP2018508166A/ja active Pending
- 2016-01-08 WO PCT/CN2016/070522 patent/WO2016110273A1/zh active Application Filing
-
2019
- 2019-04-11 JP JP2019075800A patent/JP6726331B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1705863A1 (en) * | 2005-03-25 | 2006-09-27 | AT&T Corp. | Method and apparatus for traffic control of dynamic denial of service attacks within a communications network |
CN101437030A (zh) * | 2008-11-29 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种防止服务器被攻击的方法、检测装置及监控设备 |
CN103491053A (zh) * | 2012-06-08 | 2014-01-01 | 北京百度网讯科技有限公司 | Udp负载均衡方法、系统及装置 |
CN104104669A (zh) * | 2014-06-17 | 2014-10-15 | 上海地面通信息网络有限公司 | 适用于因特网数据中心领域的抗DDoS攻击防护系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016110273A1 (zh) * | 2015-01-09 | 2016-07-14 | 北京京东尚科信息技术有限公司 | 一种对访问请求进行限制的系统和方法 |
US10735501B2 (en) | 2015-01-09 | 2020-08-04 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for limiting access request |
CN104580228A (zh) * | 2015-01-16 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 对来自网络的访问请求产生黑名单的系统和方法 |
CN105939320A (zh) * | 2015-12-02 | 2016-09-14 | 杭州迪普科技有限公司 | 处理报文的方法及装置 |
CN107454120A (zh) * | 2016-05-30 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 网络攻击防御系统和防御网络攻击的方法 |
CN110830496A (zh) * | 2018-03-30 | 2020-02-21 | 厦门白山耘科技有限公司 | 一种防止扫描权限文件的系统的使用方法及作业方法 |
CN113179317A (zh) * | 2021-04-27 | 2021-07-27 | 杭州迪普科技股份有限公司 | 内容重写设备的测试系统及方法 |
CN113904839A (zh) * | 2021-09-30 | 2022-01-07 | 杭州数梦工场科技有限公司 | 访问请求管理方法及装置 |
CN115174249A (zh) * | 2022-07-18 | 2022-10-11 | 湖北天融信网络安全技术有限公司 | 安全日志的处理方法及电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
HK1204726A1 (zh) | 2015-11-27 |
WO2016110273A1 (zh) | 2016-07-14 |
CN104580216B (zh) | 2017-10-03 |
JP6726331B2 (ja) | 2020-07-22 |
US20180278678A1 (en) | 2018-09-27 |
JP2018508166A (ja) | 2018-03-22 |
US10735501B2 (en) | 2020-08-04 |
RU2666289C1 (ru) | 2018-09-06 |
JP2019134484A (ja) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580216A (zh) | 一种对访问请求进行限制的系统和方法 | |
US10257224B2 (en) | Method and apparatus for providing forensic visibility into systems and networks | |
CN104580228A (zh) | 对来自网络的访问请求产生黑名单的系统和方法 | |
CN105791213B (zh) | 一种策略优化装置及方法 | |
US20050278779A1 (en) | System and method for identifying the source of a denial-of-service attack | |
US8387144B2 (en) | Network amplification attack mitigation | |
EP3633948B1 (en) | Anti-attack method and device for server | |
CN103297433A (zh) | 基于网络数据流的http僵尸网络检测方法及系统 | |
CN112632129B (zh) | 一种码流数据管理方法、装置及存储介质 | |
CN103916379A (zh) | 一种基于高频统计的cc攻击识别方法及系统 | |
CN102624750A (zh) | 抵御dns递归攻击的方法和系统 | |
KR101188305B1 (ko) | 이상 도메인 네임 시스템 트래픽 분석을 통한 봇넷 탐지 시스템 및 그 방법 | |
CN114640504B (zh) | Cc攻击防护方法、装置、设备和存储介质 | |
CN112929376A (zh) | 一种流量数据的处理方法、装置、计算机设备和存储介质 | |
CN102510386B (zh) | 分布式攻击阻止方法及装置 | |
CN104579841A (zh) | 根据接收的udp报文产生对特定统计数据项的统计结果的系统 | |
RU2647616C1 (ru) | Способ обнаружения атак перебора на веб-сервис | |
Shomura et al. | Analyzing the number of varieties in frequently found flows | |
CN112287252B (zh) | 网站域名劫持检测方法、装置、设备及存储介质 | |
CN113987478A (zh) | 基于nginx服务器检测和防护CC攻击的方法及系统 | |
CN108347447B (zh) | 基于周期性通讯行为分析的p2p僵尸网络检测方法、系统 | |
Bellaïche et al. | SYN flooding attack detection by TCP handshake anomalies | |
Al-Kahtani | Security and privacy in big data | |
KR102672651B1 (ko) | IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치 | |
Ibraheem | Green Computing and Security Practices for Optimizing Crawler Efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1204726 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1204726 Country of ref document: HK |