CN113810380B - 代理层次切换方法、系统、可读存储介质及计算机设备 - Google Patents
代理层次切换方法、系统、可读存储介质及计算机设备 Download PDFInfo
- Publication number
- CN113810380B CN113810380B CN202110968159.2A CN202110968159A CN113810380B CN 113810380 B CN113810380 B CN 113810380B CN 202110968159 A CN202110968159 A CN 202110968159A CN 113810380 B CN113810380 B CN 113810380B
- Authority
- CN
- China
- Prior art keywords
- proxy
- network card
- list
- service request
- layer
- 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.)
- Active
Links
Classifications
-
- 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/0281—Proxies
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种代理层次切换方法、系统、可读存储介质及计算机设备,该方法包括:获取客户端用户发送的业务请求的五元组列表,判断五元组列表是否命中网卡驱动中预设的网卡转发列表;当五元组列表命中网卡驱动中预设的网卡转发列表时,则对业务请求执行网卡代理;当五元组列表未命中网卡驱动中预设的网卡转发列表时,则判断五元组列表是否命中四层代理协议中预设的四层代理列表;当五元组列表命中四层代理协议中预设的四层代理列表时,则对业务请求执行四层代理;当五元组列表未命中四层代理协议中预设的四层代理列表时,则对业务请求执行七层代理。本发明根据业务请求的不同流量特性,进行不同层次的代理处理,提供不同层次的检测防护能力。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及代理层次切换方法、系统、可读存储介质及计算机设备。
背景技术
随着计算机技术和网络技术的发展,网络安全问题越来越多,危害也越来越大,危害也越来越受到重视。目前广泛应用于企业网络的WAF设备,需要对TCP流量进行深度的解析处理。安全设备通常是作为“中间人”的角色部署在用户网路中,如果不对HTTP协议进行代理,那么WAF设备逐包检测TCP报文,攻击特征可能跨多个TCP报文,该情况会造成绕过,此类型的WAF设备防护能力非常弱,不足以提供必要的安全防护功能。
WAF设备HTTP代理,要求流量经过协议栈后内核态拷贝到用户态,经过检测后再由用户态拷贝到内核态,然后经过协议栈由网卡发出。HTTP流量需要经过两次内核态协议栈、两次用户态与内核态之间内存拷贝,该流程消耗大量的CPU与内存资源。
经过WAF设备的网络流量,大部分都是普通用户的正常的交互行为,报文中并不包含攻击特征。黑客等攻击者,往往使用攻击扫描工具与常用攻击手段对网站进行测试,攻击特征在会话的前几个会话会出现。现有WAF设备对所有HTTP流量进行无差别代理,正常的报文也需要经过七层代理,造成WAF设备性能低下,延迟高。
发明内容
本申请实施例提供了一种代理层次切换方法、系统、可读存储介质及计算机设备,以至少解决上述相关技术中的不足。
第一方面,本申请实施例提供了一种代理层次切换方法,所述方法包括:
获取客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
当所述五元组列表命中网卡驱动中预设的网卡转发列表时,则对所述业务请求执行网卡代理;
当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,则判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行四层代理;
当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行七层代理。
在其中一些实施例中,所述对所述业务请求执行网卡代理的步骤包括:
通过所述网卡驱动直接修改所述业务请求的TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,并更新协议栈会话信息;
将修改后的所述TCP报文由所述网卡驱动发出。
在其中一些实施例中,所述对所述业务请求执行四层代理的步骤包括:
通过所述四层代理的内核协议栈对所述业务请求通过SSL技术进行解密,并对解密后的所述业务请求的TCP报文进行内核防护;
修改经内核防护后的所述TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,同时进行SSL技术进行加密;
将经所述SSL技术加密后的所述TCP报文由所述内核协议栈发出。
在其中一些实施例中,所述方法还包括:
对所述业务请求的TCP链接连续监测预设数量的HTTP会话,若监测的所有的所述HTTP会话未发现异常,则将所述TCP链接切换成四层代理。
在其中一些实施例中,所述方法还包括:
连续监测所述业务请求的多个TCP报文,判断多个所述TCP报文是否出现异常;
当所有的所述TCP报文均未出现异常,且所述TCP报文的会话均为HTTP会话时,将所述TCP报文对应的TCP链接切换成网卡代理;
当任一所述TCP报文中出现异常时,阻断异常的所述TCP报文的会话,且针对该异常的所述TCP报文对应的源IP只进行七层代理。
第二方面,本申请实施例提供了一种代理层次切换系统,所述系统包括:
第一判断模块,用于获取到客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
网卡代理模块,用于当所述五元组列表命中网卡驱动中预设的网卡转发列表时,则对所述业务请求执行网卡代理;
第二判断模块,用于当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,则判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
四层代理模块,用于当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行四层代理;
七层代理模块,用于当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行七层代理。
在其中一些实施例中,所述网卡代理模块具体用于:
通过所述网卡驱动直接修改所述业务请求的TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,并更新协议栈会话信息;
将修改后的所述TCP报文由所述网卡驱动发出。
所述四层代理模块具体用于:
通过所述四层代理的内核协议栈对所述业务请求通过SSL技术进行解密,并对解密后的所述业务请求的TCP报文进行内核防护;
修改经内核防护后的所述TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,同时进行SSL技术进行加密;
将经所述SSL技术加密后的所述TCP报文由所述内核协议栈发出。
第三方面,本申请实施例提供了一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的代理层次切换方法。
第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的代理层次切换方法。
相比于相关技术,本申请实施例提供的代理层次切换方法、系统、可读存储介质及计算机设备,根据业务请求的不同流量特性,对不同的业务请求进行不同层次的代理处理,提供不同层次的检测防护能力,另一方面,在能够不降低安全防护检测能力的前提下,大幅度提升WAF设备的吞吐、并发性能,降低延迟;解决现有技术中的WAF设备对所有业务请求进行无差别代理,正常的报文也需要经过七层代理,造成WAF设备性能低下、延迟高的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明第一实施例中的代理层次切换方法的流程图;
图2为本发明第二实施例中的代理层次切换方法的流程图;
图3为本发明第三实施例中的代理层次切换系统的结构框图;
图4为本发明第四实施例中的计算机设备的结构框图。
主要元件符号说明:
存储器 | 10 | 第二判断模块 | 13 |
处理器 | 20 | 四层代理模块 | 14 |
计算机程序 | 30 | 七层代理模块 | 15 |
第一判断模块 | 11 | 第一监测模块 | 16 |
网卡代理模块 | 12 | 第二监测模块 | 17 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
首先,需要说明的是,HTTP、HTTPs流量基于TCP协议逐包发送。WAF设备对从用户网络中的HTTP、HTTPs流量进行防护。WAF设备有两种架构:逐包检测架构、代理检测架构。
逐包检测架构无法对HTTP协议进行全面解析,防护检测能力弱,但吞吐性能强。黑客攻击特征可能跨多个TCP报文,逐包检测架构该情况会造成绕过。
代理检测架构,能获取完整的HTTP协议内容,可提供全面的安全检测能力,但是吞吐性能弱、延迟高。代理架构WAF设备无差别的代理所有的流量,即所有的HTTP报文都需要从经过协议栈后内核态拷贝到用户态,经过检测后再由用户态拷贝到内核态,经过协议栈由网卡发出。HTTP流量需要经过两次内核态协议栈、两次用户态与内核态之间内存拷贝,该流程消耗大量的CPU与内存资源。现有WAF设备对所有HTTP流量进行无差别代理,正常的报文也需要经过两次内核态协议栈、两次内存拷贝,造成WAF设备性能低下,延迟高
正常的用户流量:HTTP、HTTPs中不包含攻击特征;
黑客攻击流量:HTTP、HTTPs中包含攻击特征,且攻击特征往往在前5个HTTP会话中出现。
SSL加密技术是为保护敏感数据在传送过程中的安全,而设置的加密技术。在浏览器和Web服务器之间构造安全通道来进行数据传输,SSL运行在TCP/IP层之上、应用层之下,为应用程序提供加密数据通道,它采用了RC4、MD5以及RSA等加密算法,使用40位的密钥,适用于商业信息的加密。
协议栈,又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。协议套件中的一个协议通常是只为一个目的而设计的,这样可以使得设计更容易。因为每个协议模块通常都要和上下两个其他协议模块通信,它们通常可以想象成是协议栈中的层。最低级的协议总是描述与硬件的物理交互,每个高级的层次增加更多的特性。用户应用程序只是处理最上层的协议。
四层代理:主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。当代理收到来自客户端的SYN请求时,对报文中目标IP地址进行修改,直接转发给后端服务器,TCP的连接是客户端和后端服务器直接建立,代理只起到了一个类似路由器的转发动作。为了保证后端服务的响应能正确返回,在转发时还需要修改报文的源地址。
七层代理:主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。客户端需要和代理进行真正的连接及3次握手,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
实施例一
请参阅图1,所示为本发明第一实施例中的代理层次切换方法,所述方法具体包括步骤S101至S105:
S101,获取客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
在具体实施时,当获取到客户端用户发送的业务请求时,获取该业务请求的五元组列表,该五元组列表包括源IP地址,源端口,目的IP地址,目的端口和传输层协议,通过该五元组列表与网卡驱动中的网卡转发列表进行比对。
可以理解的,该网卡转发列表为网卡驱动中预设的,用户也可通过相应的设备查看及设置该网卡转发列表。
S102,当所述五元组列表命中网卡驱动中预设的网卡转发列表时,则对所述业务请求执行网卡代理;
在具体实施时,在网卡收包后,当五元组列表命中网卡驱动中的网卡转发列表时,网卡驱动直接修改所述业务请求的TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,并更新协议栈会话信息;将修改后的所述TCP报文由所述网卡驱动发出。
可以理解的,此种场景的网络只采用了网卡驱动进行代理,网络性能最高,而HTTPs流量不支持此种类代理;而网卡转发修改报文的源IP、目的IP、源端口、目的端口、序列号后直接发出,(由于此TCP链接WAF进行过代理,故需要按照代理场景对报文进行修改;才能保证网络的畅通)。
S103,当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,则判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
在具体实施时,当五元组列表未命中网卡驱动中的网卡转发列表时,则会再次比对该五元组列表与四层代理协议中的四层代理列表。
可以理解的,四层代理列表为四层代理协议中预设的,用户也可通过相应的设备查看及设置该四层代理列表。
S104,当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行四层代理;
在具体实施时,在四层代理的内核协议栈收包后,当五元组列表命中四层代理协议中的四层代理列表时,通过所述四层代理的内核协议栈对所述业务请求通过SSL技术进行解密,并对解密后的所述业务请求的TCP报文进行内核防护;修改经内核防护后的所述TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,同时进行SSL技术进行加密;将经所述SSL技术加密后的所述TCP报文由所述内核协议栈发出。
应当理解的,SSL加解密在内核态协议栈完成,此类型代理支持HTTPs流量。
S105,当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行七层代理。
在具体实施时,当五元组列表未命中四层代理协议中预设的四层代理列表时,对该业务请求执行七层代理。
可以理解的,七层代理需要消耗CPU、内存资源,所具备的安全防护能力也最全面,而代理层次越底,WAF设备处理步骤越少,性能越高;代理层次越高,处理步骤越多,检测能力越全面。
综上,本发明上述实施例当中的代理层次切换方法,根据业务请求的不同流量特性,对不同的业务请求进行不同层次的代理处理,提供不同层次的检测防护能力,另一方面,在能够不降低安全防护检测能力的前提下,大幅度提升WAF设备的吞吐、并发性能,降低延迟;解决现有技术中的WAF设备对所有业务请求进行无差别代理,正常的报文也需要经过七层代理,造成WAF设备性能低下、延迟高的问题。
实施例二
请参阅图2,所示为本发明第二实施例中的代理层次切换方法,所述方法具体包括步骤S201至S209:
S201,获取客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
在具体实施时,当获取到客户端用户发送的业务请求时,获取该业务请求的五元组列表,该五元组列表包括源IP地址,源端口,目的IP地址,目的端口和传输层协议,通过该五元组列表与网卡驱动中的网卡转发列表进行比对。
可以理解的,该网卡转发列表为网卡驱动中预设的,用户也可通过相应的设备查看及设置该网卡转发列表。
S202,当所述五元组列表命中网卡驱动中预设的网卡转发列表时,则对所述业务请求执行网卡代理;
在具体实施时,在网卡收包后,当五元组列表命中网卡驱动中的网卡转发列表时,网卡驱动直接修改所述业务请求的TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,并更新协议栈会话信息;将修改后的所述TCP报文由所述网卡驱动发出。
可以理解的,此种场景的网络只采用了网卡驱动进行代理,网络性能最高,而HTTPs流量不支持此种类代理;而网卡转发修改报文的源IP、目的IP、源端口、目的端口、序列号后直接发出,(由于此TCP链接WAF进行过代理,故需要按照代理场景对报文进行修改;才能保证网络的畅通)。
S203,当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,则判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
在具体实施时,当五元组列表未命中网卡驱动中的网卡转发列表时,则会再次比对该五元组列表与四层代理协议中的四层代理列表。
可以理解的,四层代理列表为四层代理协议中预设的,用户也可通过相应的设备查看及设置该四层代理列表。
S204,当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行四层代理;
在具体实施时,在四层代理的内核协议栈收包后,当五元组列表命中四层代理协议中的四层代理列表时,通过所述四层代理的内核协议栈对所述业务请求通过SSL技术进行解密,并对解密后的所述业务请求的TCP报文进行内核防护;修改经内核防护后的所述TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,同时进行SSL技术进行加密;将经所述SSL技术加密后的所述TCP报文由所述内核协议栈发出。
应当理解的,SSL加解密在内核态协议栈完成,此类型代理支持HTTPs流量。
S205,当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行七层代理。
在具体实施时,当五元组列表未命中四层代理协议中预设的四层代理列表时,对该业务请求执行七层代理。
可以理解的,七层代理需要消耗CPU、内存资源,所具备的安全防护能力也最全面,而代理层次越底,WAF设备处理步骤越少,性能越高;代理层次越高,处理步骤越多,检测能力越全面。
S206,对所述业务请求的TCP链接连续监测预设数量的HTTP会话,若监测的所有的所述HTTP会话未发现异常,则将所述TCP链接切换成四层代理;
在具体实施时,在初始、所有用户端都被认定是潜在风险客户端;而潜在风险客户端的流量需要进行七层代理;
会对每个业务请求连续监测5个HTTP会话,若未发现任何异常,则将该TCP链接切换成四层代理。
S207,连续监测所述业务请求的多个TCP报文,判断多个所述TCP报文是否出现异常;
在具体实施时,连续监测业务请求的多个TCP报文,判断该TCP报文是否有异常情况,是否出现风险。
S208,当所有的所述TCP报文均未出现异常,且所述TCP报文的会话均为HTTP会话时,将所述TCP报文对应的TCP链接切换成网卡代理;
在具体实施时,当所有的所述TCP报文均未出现异常,且该TCP报文的会话为HTTP会话时,则该TCP报文对应的TCP链接切换成网卡代理,直接采取网卡代理的方式进行代理。
S209,当任一所述TCP报文中出现异常时,阻断异常的所述TCP报文的会话,且针对该异常的所述TCP报文对应的源IP只进行七层代理。
在具体实施时,当任一所述TCP报文出现异常时,该TCP会话会被阻断,且后续该TCP会话对应的源IP直接通过七层代理处理,避免通过其他的代理层代理出现风险。
综上,本发明上述实施例当中的代理层次切换方法,根据业务请求的不同流量特性,对不同的业务请求进行不同层次的代理处理,提供不同层次的检测防护能力,并且在能够不降低安全防护检测能力的前提下,大幅度提升WAF设备的吞吐、并发性能,降低延迟;另一方面,通过检测TCP连接及报文切换不同的代理层次,进而实现对不同威胁等级的流量进行不同层次的代理,解决现有技术中的WAF设备对所有业务请求进行无差别代理,正常的报文也需要经过七层代理,造成WAF设备性能低下、延迟高的问题。
实施例三
本发明另一方面还提出一种代理层次切换系统,请参阅图3,所示为本发明第五实施例中的代理层次切换系统,所述系统包括:
第一判断模块11,用于获取到客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
网卡代理模块12,用于当所述五元组列表命中网卡驱动中预设的网卡转发列表时,则对所述业务请求执行网卡代理;
进一步的,所述网卡代理模块12具体用于:
通过所述网卡驱动直接修改所述业务请求的TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,并更新协议栈会话信息;
将修改后的所述TCP报文由所述网卡驱动发出。
第二判断模块13,用于当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,则判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
四层代理模块14,用于当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行四层代理;
进一步的,所述四层代理模块14具体用于:
通过所述四层代理的内核协议栈对所述业务请求通过SSL技术进行解密,并对解密后的所述业务请求的TCP报文进行内核防护;
修改经内核防护后的所述TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,同时进行SSL技术进行加密;
将经所述SSL技术加密后的所述TCP报文由所述内核协议栈发出。
七层代理模块15,用于当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行七层代理;
第一监测模块16,用于对所述业务请求的TCP链接连续监测预设数量的HTTP会话,若监测的所有的所述HTTP会话未发现异常,则将所述TCP链接切换成四层代理。
第二监测模块17,用于连续监测所述业务请求的多个TCP报文,判断多个所述TCP报文是否出现异常;
当所有的所述TCP报文均未出现异常,且所述TCP报文的会话均为HTTP会话时,将所述TCP报文对应的TCP链接切换成网卡代理;
当任一所述TCP报文中出现异常时,阻断异常的所述TCP报文的会话,且针对该异常的所述TCP报文对应的源IP只进行七层代理。
综上,本发明上述实施例当中的代理层次切换系统,通过第一判断模块11及第二判断模块13判断业务请求的不同流量特性,通过网卡代理模块12、四层代理模块14及七层代理模块15对不同的业务请求进行不同层次的代理处理,提供不同层次的检测防护能力,并且在能够不降低安全防护检测能力的前提下,大幅度提升WAF设备的吞吐、并发性能,降低延迟;另一方面,通过第一监测模块16及第二监测模块17检测TCP连接及报文切换不同的代理层次,进而实现对不同威胁等级的流量进行不同层次的代理,解决现有技术中的WAF设备对所有业务请求进行无差别代理,正常的报文也需要经过七层代理,造成WAF设备性能低下、延迟高的问题。
实施例四
本发明还提出一种计算机设备,请参阅图4,所示为本发明第四实施例中的计算机设备,包括服务器,所述服务器包括存储器10、处理器20以及存储在所述存储器10上并可在所述处理器20上运行的计算机程序30,所述处理器20执行所述计算机程序30时实现上述的代理层次切换方法。
在具体实施时,处理器20获取客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
当所述五元组列表命中网卡驱动中预设的网卡转发列表时,处理器20对所述业务请求执行网卡代理;
当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,处理器20判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,处理器20对所述业务请求执行四层代理;
当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,处理器20对所述业务请求执行七层代理。
处理器20对所述业务请求的TCP链接连续监测预设数量的HTTP会话,若监测的所有的所述HTTP会话未发现异常,则将所述TCP链接切换成四层代理
处理器20连续监测所述业务请求的多个TCP报文,判断多个所述TCP报文是否出现异常;
当所有的所述TCP报文均未出现异常,且所述TCP报文的会话均为HTTP会话时,处理器20将所述TCP报文对应的TCP链接切换成网卡代理;
当任一所述TCP报文中出现异常时,处理器20阻断异常的所述TCP报文的会话,且针对该异常的所述TCP报文对应的源IP只进行七层代理。
其中,存储器10至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器10在一些实施例中可以是车辆的内部存储单元,例如该车辆的硬盘。存储器10在另一些实施例中也可以是外部存储装置,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器10还可以既包括车辆的内部存储单元也包括外部存储装置。存储器10不仅可以用于存储安装于车辆的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
其中,处理器20在一些实施例中可以是电子控制单元(Electronic ControlUnit,简称ECU,又称行车电脑)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器10中存储的程序代码或处理数据,例如执行访问限制程序等。
需要指出的是,图4示出的结构并不构成对计算机设备的限定,在其它实施例当中,该计算机设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明当中的计算机设备,处理器20根据业务请求的不同流量特性,对不同的业务请求进行不同层次的代理处理,提供不同层次的检测防护能力,并且在能够不降低安全防护检测能力的前提下,大幅度提升WAF设备的吞吐、并发性能,降低延迟;另一方面,通过检测TCP连接及报文切换不同的代理层次,进而实现对不同威胁等级的流量进行不同层次的代理,解决现有技术中的WAF设备对所有业务请求进行无差别代理,正常的报文也需要经过七层代理,造成WAF设备性能低下、延迟高的问题。
本发明实施例还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的代理层次切换方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种代理层次切换方法,其特征在于,所述方法包括:
获取客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
当所述五元组列表命中网卡驱动中预设的网卡转发列表时,则对所述业务请求执行网卡代理;
当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,则判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行四层代理;
当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行七层代理;
所述对所述业务请求执行网卡代理的步骤包括:
通过所述网卡驱动直接修改所述业务请求的TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,并更新协议栈会话信息;
将修改后的所述TCP报文由所述网卡驱动发出。
2.根据权利要求1所述的代理层次切换方法,其特征在于,所述对所述业务请求执行四层代理的步骤包括:
通过所述四层代理的内核协议栈对所述业务请求通过SSL技术进行解密,并对解密后的所述业务请求的TCP报文进行内核防护;
修改经内核防护后的所述TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,同时进行SSL技术进行加密;
将经所述SSL技术加密后的所述TCP报文由所述内核协议栈发出。
3.根据权利要求1所述的代理层次切换方法,其特征在于,所述方法还包括:
对所述业务请求的TCP链接连续监测预设数量的HTTP会话,若监测的所有的所述HTTP会话未发现异常,则将所述TCP链接切换成四层代理。
4.根据权利要求1所述的代理层次切换方法,其特征在于,所述方法还包括:
连续监测所述业务请求的多个TCP报文,判断多个所述TCP报文是否出现异常;
当所有的所述TCP报文均未出现异常,且所述TCP报文的会话均为HTTP会话时,将所述TCP报文对应的TCP链接切换成网卡代理;
当任一所述TCP报文中出现异常时,阻断异常的所述TCP报文的会话,且针对该异常的所述TCP报文对应的源IP只进行七层代理。
5.一种代理层次切换系统,其特征在于,所述系统包括:
第一判断模块,用于获取到客户端用户发送的业务请求的五元组列表,判断所述五元组列表是否命中网卡驱动中预设的网卡转发列表;
网卡代理模块,用于当所述五元组列表命中网卡驱动中预设的网卡转发列表时,则对所述业务请求执行网卡代理;
第二判断模块,用于当所述五元组列表未命中所述网卡驱动中预设的网卡转发列表时,则判断所述五元组列表是否命中四层代理协议中预设的四层代理列表;
四层代理模块,用于当所述五元组列表命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行四层代理;
七层代理模块,用于当所述五元组列表未命中所述四层代理协议中预设的四层代理列表时,则对所述业务请求执行七层代理;
所述网卡代理模块具体用于:
通过所述网卡驱动直接修改所述业务请求的TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,并更新协议栈会话信息;
将修改后的所述TCP报文由所述网卡驱动发出。
6.根据权利要求5所述的代理层次切换系统,其特征在于,所述四层代理模块具体用于:
通过所述四层代理的内核协议栈对所述业务请求通过SSL技术进行解密,并对解密后的所述业务请求的TCP报文进行内核防护;
修改经内核防护后的所述TCP报文的源IP地址、源端口、目的IP地址、目的端口以及序列号,同时进行SSL技术进行加密;
将经所述SSL技术加密后的所述TCP报文由所述内核协议栈发出。
7.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述的代理层次切换方法。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的代理层次切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968159.2A CN113810380B (zh) | 2021-08-23 | 2021-08-23 | 代理层次切换方法、系统、可读存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968159.2A CN113810380B (zh) | 2021-08-23 | 2021-08-23 | 代理层次切换方法、系统、可读存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113810380A CN113810380A (zh) | 2021-12-17 |
CN113810380B true CN113810380B (zh) | 2023-08-01 |
Family
ID=78893878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110968159.2A Active CN113810380B (zh) | 2021-08-23 | 2021-08-23 | 代理层次切换方法、系统、可读存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810380B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361443B (zh) * | 2022-08-16 | 2023-06-20 | 武汉思普崚技术有限公司 | 一种报文处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491065A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种透明代理及其实现方法 |
CN108111619A (zh) * | 2017-12-28 | 2018-06-01 | 西安抱朴通信科技有限公司 | 一种数据分流方法及装置、计算机设备、存储介质 |
CN110602155A (zh) * | 2018-06-13 | 2019-12-20 | 网宿科技股份有限公司 | 代理服务器及其处理数据报文的方法 |
CN112822308A (zh) * | 2021-04-19 | 2021-05-18 | 德思信息科技(南京)有限公司 | 一种高速安全虚拟网络代理的方法及其系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694684B2 (en) * | 2006-08-21 | 2014-04-08 | Citrix Systems, Inc. | Systems and methods of symmetric transport control protocol compression |
US10230770B2 (en) * | 2013-12-02 | 2019-03-12 | A10 Networks, Inc. | Network proxy layer for policy-based application proxies |
WO2020125945A1 (en) * | 2018-12-18 | 2020-06-25 | Huawei Technologies Co., Ltd. | System and method for transparent session handoff |
CN112615867B (zh) * | 2020-12-22 | 2022-07-12 | 北京天融信网络安全技术有限公司 | 数据包检测方法和装置 |
CN112954001B (zh) * | 2021-01-18 | 2022-02-15 | 武汉绿色网络信息服务有限责任公司 | 一种http转https双向透明代理的方法和装置 |
-
2021
- 2021-08-23 CN CN202110968159.2A patent/CN113810380B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491065A (zh) * | 2012-06-14 | 2014-01-01 | 中兴通讯股份有限公司 | 一种透明代理及其实现方法 |
CN108111619A (zh) * | 2017-12-28 | 2018-06-01 | 西安抱朴通信科技有限公司 | 一种数据分流方法及装置、计算机设备、存储介质 |
CN110602155A (zh) * | 2018-06-13 | 2019-12-20 | 网宿科技股份有限公司 | 代理服务器及其处理数据报文的方法 |
CN112822308A (zh) * | 2021-04-19 | 2021-05-18 | 德思信息科技(南京)有限公司 | 一种高速安全虚拟网络代理的方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113810380A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Eliyan et al. | DoS and DDoS attacks in Software Defined Networks: A survey of existing solutions and research challenges | |
US7540028B2 (en) | Dynamic network security apparatus and methods or network processors | |
Yoon et al. | Enabling security functions with SDN: A feasibility study | |
EP1817685B1 (en) | Intrusion detection in a data center environment | |
US9781157B1 (en) | Mitigating denial of service attacks | |
US9325725B2 (en) | Automated deployment of protection agents to devices connected to a distributed computer network | |
US7765591B2 (en) | Method and system for prioritizing security operations in a communication network | |
CN112333143B (zh) | 经代理安全会话的粒度卸载 | |
US20160021137A1 (en) | Proactive network attack demand management | |
US10785248B2 (en) | Routing based on a vulnerability in a processing node | |
US20170070531A1 (en) | SCALABLE DDoS PROTECTION OF SSL-ENCRYPTED SERVICES | |
JP2010268483A (ja) | 能動的ネットワーク防衛システム及び方法 | |
US9661006B2 (en) | Method for protection of automotive components in intravehicle communication system | |
US9633199B2 (en) | Using a declaration of security requirements to determine whether to permit application operations | |
US11483339B1 (en) | Detecting attacks and quarantining malware infected devices | |
CN113810380B (zh) | 代理层次切换方法、系统、可读存储介质及计算机设备 | |
US8763121B2 (en) | Mitigating multiple advanced evasion technique attacks | |
CN109802928B (zh) | 一种ssl/tls代理方法、装置、设备及存储介质 | |
CN113612800A (zh) | 网络攻击处理方法、装置、系统、设备、介质和程序产品 | |
US20170346844A1 (en) | Mitigating Multiple Advanced Evasion Technique Attacks | |
Schmitt et al. | Vulnerability assessment of InfiniBand networking | |
Choi et al. | Slowloris dos countermeasure over websocket | |
CN117938728B (zh) | 服务器集群中边缘节点的路由方法、装置、设备及介质 | |
KR20190119785A (ko) | 서버와 서버간에 서비스 제공을 위한 망내 운영방법 및 시스템 | |
US11652842B2 (en) | Edge device assisted mitigation of publish-subscribe denial of service (DoS) attacks |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |