CN113259386A - 恶意请求拦截方法、装置及计算机设备 - Google Patents

恶意请求拦截方法、装置及计算机设备 Download PDF

Info

Publication number
CN113259386A
CN113259386A CN202110682539.XA CN202110682539A CN113259386A CN 113259386 A CN113259386 A CN 113259386A CN 202110682539 A CN202110682539 A CN 202110682539A CN 113259386 A CN113259386 A CN 113259386A
Authority
CN
China
Prior art keywords
service request
request
address
malicious
identification information
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.)
Pending
Application number
CN202110682539.XA
Other languages
English (en)
Inventor
田坡敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inaco Technology Beijing Co ltd
Original Assignee
Inaco Technology Beijing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inaco Technology Beijing Co ltd filed Critical Inaco Technology Beijing Co ltd
Priority to CN202110682539.XA priority Critical patent/CN113259386A/zh
Publication of CN113259386A publication Critical patent/CN113259386A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种恶意请求拦截方法、装置及计算机设备,涉及信息技术领域,主要在于能够直接在kong网关层对恶意请求进行拦截,从而减少了后端php层的性能消耗,避免污染业务日志。其中方法包括:接收用户触发的服务请求;对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;若所述服务请求为恶意请求,则对所述服务请求进行拦截。本发明适用于恶意请求的拦截。

Description

恶意请求拦截方法、装置及计算机设备
技术领域
本发明涉及信息技术领域,尤其是涉及一种恶意请求拦截方法、装置及计算机设备。
背景技术
随着互联网的高速发展,网络恶意行为已经成为业界不可忽视的问题,网络恶意行为可以是为达到一定目的而采取的非正常手段,如网络攻击、恶意请求等,恶意请求可以是通过应用程序,在一段时间内,不断地向服务器发送的、并影响服务器正常运作的超文本传输协议网络请求,例如,通过这种方式干扰正常用户的网络行为或者以此攻击一个web网站,由于这些请求非常密集,给服务器造成了巨大的压力,因此需要对其进行拦截。
目前,在接收到服务请求之后,如果该服务请求为恶意请求,通常在php层对该服务请求进行拦截。然而,由于这种方式把恶意请求放到php层去拦截,因此增加了php层的性能消耗,此外,由于针对每个请求php层都会记录相应的日志,用于后续的日活统计和用户行为分析,因此这种大量的恶意请求会导致php层增加了很多无效日志,从而污染正常的业务日志,不利于对用户行为进行分析,且还会浪费存储空间。
发明内容
本发明提供了一种恶意请求拦截方法、装置及计算机设备,主要在于能够直接在kong网关层对恶意请求进行拦截,从而减少了后端php层的性能消耗,避免污染业务日志。
根据本发明的第一个方面,提供一种恶意请求拦截方法,包括:
接收用户触发的服务请求;
对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;
根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;
若所述服务请求为恶意请求,则对所述服务请求进行拦截。
根据本发明的第二个方面,提供一种恶意请求拦截装置,包括:
接收单元,用于接收用户触发的服务请求;
解析单元,用于对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;
判定单元,用于根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;
拦截单元,用于若所述服务请求为恶意请求,则对所述服务请求进行拦截。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
接收用户触发的服务请求;
对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;
根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;
若所述服务请求为恶意请求,则对所述服务请求进行拦截。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
接收用户触发的服务请求;
对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;
根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;
若所述服务请求为恶意请求,则对所述服务请求进行拦截。
本发明提供的一种恶意请求拦截方法、装置及计算机设备,与目前在php层对恶意请求进行拦截的方式相比,本发明能够接收用户触发的服务请求;并对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;与此同时,根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;若所述服务请求为恶意请求,则对所述服务请求进行拦截,由此能够直接在kong网关层对恶意请求进行拦截,不再将其转发到php层进行恶意请求拦截,从而能够减少后端php层的性能损耗,同时能够避免污染正常的业务日志和造成存储空间的浪费。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种恶意请求拦截方法流程图;
图2示出了本发明实施例提供的另一种恶意请求拦截方法流程图;
图3示出了本发明实施例提供的一种恶意请求拦截装置的结构示意图;
图4示出了本发明实施例提供的另一种恶意请求拦截装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
目前,在接收到服务请求之后,如果该服务请求为恶意请求,通常在php层对该服务请求进行拦截。然而,由于这种方式把恶意请求放到php层去拦截,因此增加了php层的性能消耗,此外,由于针对每个请求php层都会记录相应的日志,用于后续的日活统计和用户行为分析,因此这种大量的恶意请求会导致php层增加了很多无效日志,从而污染正常的业务日志,不利于对用户行为进行分析,且还会浪费存储空间。
为了解决上述问题,本发明实施例提供了一种恶意请求拦截方法,如图1所示,所述方法包括:
101、接收用户触发的服务请求。
其中,服务请求为用户在客户端操作所触发的服务请求,用户触发的服务请求会被发送到kong网关层,再由kong网关将该服务请求转发给后端的php层,由php层对该服务请求进行处理。为了克服现有技术中在php层对恶意服务请求进行拦截所导致的php层性能损耗过大,且容易污染业务日志的缺陷,本发明实施例直接在kong网关层对恶意服务请求进行拦截,从而能够减少php层性能的损耗,同时能够避免污染正常的业务日志和造成存储空间的浪费。本发明实施例主要适用于在kong网关层对恶意服务请求进行拦截的场景,本发明实施例的执行主体为能够利用kong网关对恶意服务请求进行拦截的装置或者设备。
102、对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址。
对于本发明实例,为了判定该服务请求是否为恶意服务请求,需要对获取该服务请求的设备标识信息和/或IP地址,其中,设备标识信息具体可以为设备编码或者设备编号。具体地,可以对该服务请求对应的链接和/或头部中的特定字段进行解析,从而获取触发该服务请求的设备的标识信息和/或IP地址,例如,该服务请求对应的链接为:http://mapi.wandouzongzhu.cn/index.php/method=XX.xx&devid=3213dcdsafdsf&v=1.1,通过对该链接中的特定字段“devid=3213”进行解析,能够确定触发该服务请求的设备的标识信息为3213,再比如,通过对与客户端预先约定好的头部特定字段“x-forwarded-for”进行解析,能够确定该特定字段“x-forwarded-for”中记录的IP地址,由此按照上述方式能够获取触发该服务请求的设备的标识信息和/或IP地址,以便根据该设备标识信息和/或IP地址,判定该服务请求是否为恶意服务请求,如果为恶意服务请求则直接在kong网关层对其进行拦截,避免再将其转发至php层进行判断和拦截,从而造成php层性能的过度消耗。
103、根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求。
其中,预设黑名单中记录有触发过异常请求的设备对应的设备标识信息和IP地址。对于本发明实施例,根据从服务请求中解析出的设备标识信息和/或IP地址,查询预设黑名单,如果服务请求对应的设备标识信息和/或IP地址在预设黑名单中,则确定该服务请求为恶意服务请求;如果服务请求对应的设备标识信息和IP地址均不在预设黑名单中,则确定该服务请求不是恶意服务请求。具体地,可以将服务请求对应的设备标识信息与预设黑名单中的各个设备标识信息进行匹配,如果预设黑名单中的各个设备标识信息中存在与该设备标识信息相匹配的目标设备标识信息,则确定该服务请求为恶意服务请求,或者还可以将服务请求对应的IP地址与预设名单中的各个IP地址进行匹配,如果预设黑名单中的各个IP地址中存在与该IP地址相匹配的目标IP地址,则确定该服务请求为恶意服务请求。
需要说明的是,为了进一步提高恶意服务请求判定的准确度,可以同时解析服务请求对应的设备标识信息和IP地址,之后首先根据服务请求对应的设备标识信息查询预设黑名单,如果预设黑名单的各个设备标识信息中存在该服务请求对应的设备标识信息,则确定该服务请求为恶意服务请求;如果预设黑名单的各个设备标识信息中不存在该服务请求对应的设备标识信息,则再根据服务请求对应的IP地址查询预设黑名单,如果预设黑名单的各个IP地址中不存在该服务请求对应的IP地址,则最终确定该服务请求不是恶意服务请求;如果预设黑名单的各个IP中存在该服务请求对应的IP地址,则最终确定该服务请求是恶意服务请求,对其进行拦截。
104、若所述服务请求为恶意请求,则对所述服务请求进行拦截。
对于本发明实施例,如果预设黑名单中存在该服务请求对应的设备标识信息和/或IP地址,则确定该服务请求为恶意服务请求,对其进行拦截,不再将其转发至后端php层进行服务响应;如果预设黑名单中不存在该服务请求对应的设备标识信息和IP地址,则确定该服务请求不是恶意服务请求,kong网关会将该服务请求转发至后端php层,由后端php层对该服务请求进行响应,从而能够直接在kong网关层对恶意服务请求进行拦截,使后端php层专注于服务处理。
本发明实施例提供的一种恶意请求拦截方法,与目前在php层对恶意请求进行拦截的方式相比,本发明能够接收用户触发的服务请求;并对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;与此同时,根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;若所述服务请求为恶意请求,则对所述服务请求进行拦截,由此能够直接在kong网关层对恶意请求进行拦截,不再将其转发到php层进行恶意请求拦截,从而能够减少后端php层的性能损耗,同时能够避免污染正常的业务日志和造成存储空间的浪费。
进一步的,为了更好的说明上述对恶意请求的拦截过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种恶意请求拦截方法,如图2所示,所述方法包括:
201、接收用户触发的服务请求。
对于本发明实施例,为了判定用户触发的服务请求是否为恶意请求,需要预先构建预设黑名单,以便根据该服务请求对应的设备标识信息和/或IP地址查询预设黑名单,根据查询结果判定该服务请求是否为恶意请求,针对该预设黑名单的具体构建方式,所述方法包括:分析历史请求数据,确定服务请求次数超过第一预设次数的设备及其对应的代理IP地址;将所述服务请求次数超过第一预设次数的设备及其对应的代理IP地址加入至所述预设黑名单中。进一步地,所述分析历史请求数据,确定服务请求次数超过第一预设次数的设备及其对应的代理IP地址,包括:统计服务请求接口在预设时间段内的总请求次数;若所述总请求次数超过第二预设请求次数,则确定在所述预设时间段内发送服务请求的各个设备;分别统计所述各个设备在所述预设时间段内的服务请求次数,并从所述各个设备中确定所述服务请求次数超过第一预设请求次数的设备;确定所述服务请求次数超过第一预设请求次数的设备对应的代理IP地址。其中,历史请求数据中记录有各个时间节点发送服务请求的设备的标识信息,以及该设备所使用的代理IP地址,预设时间段具体可以根据业务需求进行设定,例如,收集某一天的历史请求数据,通过分析当前的历史请求数据,确定请求次数超过第一预设次数的设备及其对应的代理IP地址,此外,第一预设次数和第二预设次数具体可以根据业务需求进行设定,如设定第二预设请求次数为1000次,第一预设请求次数为200次。
例如,收集某一天的历史请求数据,通过分析当天的历史请求数据,确定在这一天中服务请求接口被调用了1200次,即总请求次数达到1200次,由于该总请求次数超过第二预设请求次数1000次,因此需要进一步确定在这一天中发送服务请求的各个设备,如确定在这一天中分别有设备A、设备B、设备C和设备D调用过服务请求接口,之后分别确定设备A、设备B、设备C和设备D在这一天中所发送的服务请求次数,如设备A、设备B、设备C和设备D所发送的服务请求次数分别为50次、150次、400次和600次,由于设备C和设备D发送的服务请求次数均超过第一预设请求次数200次,因此可以确定设备C和设备D可能存在问题,对服务端进行异常请求,进一步地,根据历史请求数据确定设备C和设备D对应的代理IP地址,并将设备C及其对应的代理IP地址,设备D及其对应的代理IP地址,共同加入至预设黑名单中,以便当服务请求接口被调用时,可以根据发送的服务请求对应的设备标识信息和/或IP地址查询预设黑名单,判定该服务请求对应的设备标识信息和/或IP地址是否在预设黑名单中,如果在预设黑名单中,则说明该服务请求可能存在异常,即该服务请求可能是恶意请求,需要在kong网关层对其进行拦截;如果在预设黑名单中不存在服务请求对应的设备标识信息和IP地址,则说明该服务请求不存在异常,即该服务请求不是恶意请求,不需要在kong网关层对其进行拦截,由kong网关层将其转发至后端php层进行处理。
需要说明的是,构建的预设黑名单具体可以存储在缓存模块redis中,由于redis支持hash表等多种结构,因此可以构造一个hash表,利用缓存模块的redis扩展功能,通过redis的hset命令,将存在异常的设备标识信息和IP地址写入缓存模块redis的hash表中。
202、确定所述服务请求对应的链接和/或头部中的特定字段。
其中,特定字段为前端与后端服务器约定的特定字段,例如,约定在服务请求对应的链接中字段devid记录设备的标识信息,通过对该链接中的特定字段进行解析,能够确定字段devid中记录的设备标识信息;再比如,约定在服务请求对应的头部中字段x-forwarded-for记录IP地址,通过对该头部中的特定字段进行解析,能够确定字段x-forwarded-for中记录的IP地址。
203、利用所述Kong网关的预设插件对所述特定字段进行解析,得到所述服务请求对应的设备标识信息和/或IP地址。
其中,所述链接和/或所述头部中的特定字段为设备特定字段和/或IP地址特定字段,kong作为高性能网关,除了能够快速转发请求,还能够支持各种插件,以方便网关管理,Prefunction作为网关kong的一个插件,其在kong网关接收到服务请求后,转发服务请求前,通过嵌入lua代码,可以执行相应的逻辑,具体可以对服务请求对应的链接和/或头部中的设备特定字段和/或IP地址特定字段进行解析,确定服务请求对应的设备标识信息和/或IP地址,基于此,步骤203具体包括:利用所述预设插件对应的第一预设函数对所述设备特定字段进行解析,得到所述服务请求对应的设备标识信息;和/或利用所述预设插件对应的第二预设函数对所述IP地址特定字段进行解析,得到所述服务请求对应的IP地址。其中,该预设插件具体可以为Prefunction插件,也可以为其他插件,本发明实施例不做具体限定。
具体地,可以利用lua提供的函数对特定字段进行解析,获取服务请求对应的设备标识信息和/或IP地址,例如,X-forwarded-for为前端与后端服务器约定的用于记录客户端IP地址的头部字段,利用第二预设函数kong request.get_header(‘X-forwarded-for’)对该IP地址特定字段进行解析,便能够获取客户端的IP地址,再比如,服务请求对应的链接为:http://mapi.wandouzongzhu.cn/index.php/method=XX.xx&debvid=3213dcdsafdsf&v=1.1,利用第一预设函数kong request.get_query_arg(‘devid’)对该链接中的设备特定字段devid进行解析,能够获取服务请求对应的设备标识信息,由此利用kong网关的预设插件Prefunction和lua代码便能够解析该服务请求对应的设备标识信息和/或IP地址,以便根据该设备标识信息和/或IP地址,判断该服务请求是否为恶意服务请求。
204、根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求。
对于本发明实施例,为了利用预设黑名单判定该服务请求是否为恶意服务请求,步骤204具体包括:将所述设备标识信息和/或所述IP地址与所述预设黑名单中的各个设备标识信息和/或各个IP地址进行匹配;若所述预设黑名单中存在与所述设备标识信息和/或所述IP地址相匹配的目标设备标识信息和/或目标IP地址,则确定所述服务请求为恶意服务请求。
具体地,由于lua本身有redis扩展功能,可以访问缓存模块redis资源,因此可以根据上一步得到的服务请求对应的设备标识信息和/或IP地址,lua连接缓存模块redis中的预设黑名单,将服务请求对应的设备标识信息与预设黑名单中的各个设备标识信息进行匹配,如果预设黑名单中存在与该服务请求对应的设备标识信息相同的目标设备标识信息,则确定该服务请求为恶意服务请求,或者将服务请求对应的IP地址与预设黑名单中的各个IP地址进行匹配,如果预设黑名单中存在与该服务请求对应的IP地址相同的目标IP地址,则确定该服务请求为恶意服务请求。
在具体应用场景中,为了确保恶意服务请求识别的准确度,可以先将服务请求对应的设备标识信息与预设黑名单中的各个设备标识信息进行匹配,如果预设黑名单中不存在与该服务请求对应的设备标识信息相同的目标设备标识信息,则再将服务请求对应的IP地址与预设黑名单中的各个IP地址进行匹配,如果预设黑名单中也不存在与该服务请求对应的IP地址相同的目标IP地址,则确定该服务请求不是恶意服务请求;否则,确定该服务请求为恶意服务请求。
205、若所述服务请求为恶意请求,则对所述服务请求进行拦截。
对于本发明实施例,如果确定该服务请求为恶意请求,则对该服务请求进行拦截,在拦截的同时会向客户端返回一个请求,以迷惑攻击者,具体地,kong网关可以根据正常业务请求对应的返回格式,拼接一个请求进行返回,基于此,所述对所述服务请求进行拦截,包括:根据所述服务请求对应的返回格式,确定所述服务请求对应的返回字段;将所述返回字段进行拼接,得到拼接后的返回字段,并将所述拼接后的返回字段发送给用户端。
例如,正常业务请求对应的返回格式如下:
{
Errno:0
Errmsg:’’
Data:’’
}
根据该正常业务请求对应的返回格式,kong网关能够确定相应的返回字段包括number、message和Data,具体可以将这三个返回字段对应的值设置为空,之后将三个返回字段进行拼接,将拼接后的返回字段发送给客户端,以便对攻击者进行迷惑。
本发明实施例提供的另一种恶意请求拦截方法,与目前在php层对恶意请求进行拦截的方式相比,本发明能够接收用户触发的服务请求;并对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;与此同时,根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;若所述服务请求为恶意请求,则对所述服务请求进行拦截,由此能够直接在kong网关层对恶意请求进行拦截,不再将其转发到php层进行恶意请求拦截,从而能够减少后端php层的性能损耗,同时能够避免污染正常的业务日志和造成存储空间的浪费。
进一步地,作为图1的具体实现,本发明实施例提供了一种恶意请求拦截装置,应用于Kong网关,如图3所示,所述装置包括:接收单元31、解析单元32、判定单元33和拦截单元34。
所述接收单元31,可以用于接收用户触发的服务请求。所述接收单元31是本装置中接收用户触发的服务请求的主要功能模块。
所述解析单元32,可以用于对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址。所述解析单元32是本装置中对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址的主要功能模块,也是核心模块。
所述判定单元33,可以用于根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求。所述判定单元33是本装置中根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求的主要功能模块,也是核心模块。
所述拦截单元34,可以用于若所述服务请求为恶意请求,则对所述服务请求进行拦截。所述拦截单元34是本装置中对所述服务请求进行拦截的主要功能模块。
在具体应用场景中,为了确定所述服务请求对应的设备标识信息和/或IP地址,如图4所示,所述解析单元32,包括:确定模块321和解析模块322。
所述确定模块321,可以用于确定所述服务请求对应的链接和/或头部中的特定字段。
所述解析模块322,可以用于利用所述Kong网关的预设插件对所述特定字段进行解析,得到所述服务请求对应的设备标识信息和/或IP地址。
进一步地,所述链接和/或所述头部中的特定字段为设备特定字段和/或IP地址特定字段,基于此,所述解析模块322,具体可以用于利用所述预设插件对应的第一预设函数对所述设备特定字段进行解析,得到所述服务请求对应的设备标识信息;和/或利用所述预设插件对应的第二预设函数对所述IP地址特定字段进行解析,得到所述服务请求对应的IP地址。
在具体应用场景中,为了判定所述服务请求是否为恶意请求,所述判定单元33,包括:匹配模块331和确定模块332。
所述匹配模块331,可以用于将所述设备标识信息和/或所述IP地址与所述预设黑名单中的各个设备标识信息和/或各个IP地址进行匹配。
所述确定模块332,可以用于若所述预设黑名单中存在与所述设备标识信息和/或所述IP地址相匹配的目标设备标识信息和/或目标IP地址,则确定所述服务请求为恶意服务请求。
在具体应用场景中,为了对服务请求进行拦截,所述拦截单元34,包括:确定模块341和拼接模块342。
所述确定模块341,可以用于根据所述服务请求对应的返回格式,确定所述服务请求对应的返回字段。
所述拼接模块342,可以用于将所述返回字段进行拼接,得到拼接后的返回字段,并将所述拼接后的返回字段发送给用户端。
在具体应用场景中,为了构建预设黑名单,所述装置还包括:分析单元35和构建单元36。
所述分析单元35,可以用于分析历史请求数据,确定服务请求次数超过第一预设次数的设备及其对应的代理IP地址。
所述构建单元36,可以用于将所述服务请求次数超过第一预设次数的设备及其对应的代理IP地址加入至所述预设黑名单中。
进一步地,为了确定服务请求次数超过第一预设次数的设备及其对应的代理IP地址,所述分析单元35,包括:统计模块351和确定模块352。
所述统计模块351,可以用于统计服务请求接口在预设时间段内的总请求次数。
所述确定模块352,可以用于若所述总请求次数超过第二预设请求次数,则确定在所述预设时间段内发送服务请求的各个设备。
所述统计模块351,还可以用于分别统计所述各个设备在所述预设时间段内的服务请求次数,并从所述各个设备中确定所述服务请求次数超过第一预设请求次数的设备。
所述确定模块352,还可以用于确定所述服务请求次数超过第一预设请求次数的设备对应的代理IP地址。
需要说明的是,本发明实施例提供的一种恶意请求拦截装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:接收用户触发的服务请求;对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;若所述服务请求为恶意请求,则对所述服务请求进行拦截。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:接收用户触发的服务请求;对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;若所述服务请求为恶意请求,则对所述服务请求进行拦截。
通过本发明的技术方案,本发明能够接收用户触发的服务请求;并对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;与此同时,根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;若所述服务请求为恶意请求,则对所述服务请求进行拦截,由此能够直接在kong网关层对恶意请求进行拦截,不再将其转发到php层进行恶意请求拦截,从而能够减少后端php层的性能损耗,同时能够避免污染正常的业务日志和造成存储空间的浪费。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种恶意请求拦截方法,其特征在于,应用于Kong网关,包括:
接收用户触发的服务请求;
对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;
根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;
若所述服务请求为恶意请求,则对所述服务请求进行拦截。
2.根据权利要求1所述的方法,其特征在于,所述对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址,包括:
确定所述服务请求对应的链接和/或头部中的特定字段;
利用所述Kong网关的预设插件对所述特定字段进行解析,得到所述服务请求对应的设备标识信息和/或IP地址。
3.根据权利要求2所述的方法,其特征在于,所述链接和/或所述头部中的特定字段为设备特定字段和/或IP地址特定字段,所述利用所述Kong网关的预设插件对所述特定字段进行解析,得到所述服务请求对应的设备标识信息和/或IP地址,包括:
利用所述预设插件对应的第一预设函数对所述设备特定字段进行解析,得到所述服务请求对应的设备标识信息;和/或
利用所述预设插件对应的第二预设函数对所述IP地址特定字段进行解析,得到所述服务请求对应的IP地址。
4.根据权利要求1所述的方法,其特征在于,所述根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求,包括:
将所述设备标识信息和/或所述IP地址与所述预设黑名单中的各个设备标识信息和/或各个IP地址进行匹配;
若所述预设黑名单中存在与所述设备标识信息和/或所述IP地址相匹配的目标设备标识信息和/或目标IP地址,则确定所述服务请求为恶意服务请求。
5.根据权利要求1所述的方法,其特征在于,所述对所述服务请求进行拦截,包括:
根据所述服务请求对应的返回格式,确定所述服务请求对应的返回字段;
将所述返回字段进行拼接,得到拼接后的返回字段,并将所述拼接后的返回字段发送给用户端。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述接收用户触发的服务请求之前,所述方法还包括:
分析历史请求数据,确定服务请求次数超过第一预设次数的设备及其对应的代理IP地址;
将所述服务请求次数超过第一预设次数的设备及其对应的代理IP地址加入至所述预设黑名单中。
7.根据权利要求6所述的方法,其特征在于,所述分析历史请求数据,确定服务请求次数超过第一预设次数的设备及其对应的代理IP地址,包括:
统计服务请求接口在预设时间段内的总请求次数;
若所述总请求次数超过第二预设请求次数,则确定在所述预设时间段内发送服务请求的各个设备;
分别统计所述各个设备在所述预设时间段内的服务请求次数,并从所述各个设备中确定所述服务请求次数超过第一预设请求次数的设备;
确定所述服务请求次数超过第一预设请求次数的设备对应的代理IP地址。
8.一种恶意请求拦截装置,其特征在于,应用于Kong网关,包括:
接收单元,用于接收用户触发的服务请求;
解析单元,用于对所述服务请求进行解析,得到所述服务请求对应的设备标识信息和/或IP地址;
判定单元,用于根据所述设备标识信息和/或所述IP地址查询预设黑名单,根据查询结果判定所述服务请求是否为恶意请求;
拦截单元,用于若所述服务请求为恶意请求,则对所述服务请求进行拦截。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110682539.XA 2021-06-21 2021-06-21 恶意请求拦截方法、装置及计算机设备 Pending CN113259386A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110682539.XA CN113259386A (zh) 2021-06-21 2021-06-21 恶意请求拦截方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110682539.XA CN113259386A (zh) 2021-06-21 2021-06-21 恶意请求拦截方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
CN113259386A true CN113259386A (zh) 2021-08-13

Family

ID=77188860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110682539.XA Pending CN113259386A (zh) 2021-06-21 2021-06-21 恶意请求拦截方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN113259386A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040777A (zh) * 2023-06-13 2023-11-10 五矿国际信托有限公司 一种针对数据接口恶意请求行为进行检测过滤的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302445A (zh) * 2016-08-15 2017-01-04 北京百度网讯科技有限公司 用于处理请求的方法和装置
CN107516044A (zh) * 2016-06-15 2017-12-26 阿里巴巴集团控股有限公司 一种识别方法、装置和***
CN111010396A (zh) * 2019-12-17 2020-04-14 紫光云(南京)数字技术有限公司 一种互联网身份认证管理方法
CN111343293A (zh) * 2020-02-10 2020-06-26 北京首汽智行科技有限公司 一种基于Kong网关获取客户端IP的方法
CN112019533A (zh) * 2020-08-20 2020-12-01 紫光云(南京)数字技术有限公司 一种缓解CDN***被DDoS攻击的方法及***
US20210044672A1 (en) * 2019-08-06 2021-02-11 Moesif, Inc. Managing application programming interface (api) path trends
CN112818325A (zh) * 2021-01-30 2021-05-18 浪潮云信息技术股份公司 一种基于应用实现api网关独立鉴权的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516044A (zh) * 2016-06-15 2017-12-26 阿里巴巴集团控股有限公司 一种识别方法、装置和***
CN106302445A (zh) * 2016-08-15 2017-01-04 北京百度网讯科技有限公司 用于处理请求的方法和装置
US20210044672A1 (en) * 2019-08-06 2021-02-11 Moesif, Inc. Managing application programming interface (api) path trends
CN111010396A (zh) * 2019-12-17 2020-04-14 紫光云(南京)数字技术有限公司 一种互联网身份认证管理方法
CN111343293A (zh) * 2020-02-10 2020-06-26 北京首汽智行科技有限公司 一种基于Kong网关获取客户端IP的方法
CN112019533A (zh) * 2020-08-20 2020-12-01 紫光云(南京)数字技术有限公司 一种缓解CDN***被DDoS攻击的方法及***
CN112818325A (zh) * 2021-01-30 2021-05-18 浪潮云信息技术股份公司 一种基于应用实现api网关独立鉴权的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李慧琴: "基于动态令牌的网关服务访问认证的研究与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040777A (zh) * 2023-06-13 2023-11-10 五矿国际信托有限公司 一种针对数据接口恶意请求行为进行检测过滤的方法

Similar Documents

Publication Publication Date Title
US10666672B2 (en) Collecting domain name system traffic
WO2018121331A1 (zh) 攻击请求的确定方法、装置及服务器
US11818151B2 (en) Identification of malicious domain campaigns using unsupervised clustering
CN112311788A (zh) 一种访问控制方法、装置、服务器及介质
CN108429739B (zh) 一种识别蜜罐的方法、***及终端设备
CN103685213A (zh) 一种减少针对dns的攻击的装置、***和方法
CN111740868A (zh) 告警数据的处理方法和装置及存储介质
CN111901317B (zh) 一种访问控制策略处理方法、***和设备
CN113923008B (zh) 一种恶意网站拦截方法、装置、设备及存储介质
CN113259386A (zh) 恶意请求拦截方法、装置及计算机设备
CN109413224B (zh) 报文转发方法和装置
CN107277062B (zh) 数据包的并行处理方法及装置
CN105893150B (zh) 接口调用频度控制、接口调用请求处理方法及装置
CN116723020A (zh) 网络服务模拟方法、装置、电子设备及存储介质
CN114338809B (zh) 访问控制方法、装置、电子设备和存储介质
CN112653609B (zh) 一种vpn识别应用方法、装置、终端及存储介质
CN113132273B (zh) 一种数据转发方法及装置
CN112615857B (zh) 网络数据处理方法、装置与***
CN109889619B (zh) 基于区块链的异常域名监测方法及装置
CN112148508A (zh) 一种信息处理的方法及相关装置
CN110213399A (zh) 基于netfilter机制的dhcp服务器探测方法、存储介质及终端
CN113992404B (zh) 一种攻击证据记录方法及装置
CN114844845B (zh) 虚实结合网络靶场无线实装设备接入装置、方法与***
CN117395082B (zh) 业务处理方法、电子设备及存储介质
WO2024124641A1 (zh) 一种集群负载均衡的方法和装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210813

RJ01 Rejection of invention patent application after publication