CN113992642B - 网关代理服务器的流量审计方法、装置及相关设备 - Google Patents
网关代理服务器的流量审计方法、装置及相关设备 Download PDFInfo
- Publication number
- CN113992642B CN113992642B CN202111240178.XA CN202111240178A CN113992642B CN 113992642 B CN113992642 B CN 113992642B CN 202111240178 A CN202111240178 A CN 202111240178A CN 113992642 B CN113992642 B CN 113992642B
- Authority
- CN
- China
- Prior art keywords
- proxy service
- request
- https
- transport layer
- terminal equipment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000004044 response Effects 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 28
- 238000012550 audit Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- 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
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了网关代理服务器的流量审计方法,应用于网关代理技术领域,用于解决网关代理服务器流量审计难度大的技术问题。本发明提供的方法应用于该网关代理服务器,该方法包括:传输层代理服务接收终端设备发送的TCP连接请求,与该终端设备建立TCP连接;该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求时,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务,以使得该终端设备与该反向代理服务协商HTTPS连接密钥;该反向代理服务器与WEB业务系统建立通信连接;该反向代理服务通过该传输层代理服务接收该终端设备的HTTPS请求,以及通过该传输层代理服务将该WEB业务系统的响应返回给该终端设备,以实现审计功能。
Description
技术领域
本发明涉及网关代理技术领域,尤其涉及网关代理服务器的流量审计方法、装置、计算机设备及存储介质。
背景技术
在传统的外网浏览器请求访问内网中某一资源的实现方式中,目前有两种实现方案,一种是运用基于web的内网应用访问控制WebVPN(web Virtual Private Network,浏览器内网访问控制系统)技术,通过在浏览器和内网服务器之间部署WebVPN,在外网浏览器和内网数据资源之间实现代理;另一种方式是在浏览器和内网服务器之间部署socks5代理服务,在外网浏览器和内网数据资源之间实现代理。但是两种代理方式均存在弊端:
通过WebVPN代理时的HTTP(S)(Hyper Text Transfer Protocol,超文本传输协议)请求经过了还原处理(此处所述HTTP(S)指的是HTTP或HTTPS),HTTP(S)响应经过了改写处理,这是因为免插件的WebVPN需要通过DNS(Domain Name System,域名解析服务器)将访问流量导向到WebVPN设备,内网服务器中的web业务系统的地址不能作为用户在外网时的访问地址,需要购买额外的域名和证书来部署WebVPN,于是,在用户访问请求经过WebVPN时就需要将请求中的地址还原为实际的web业务系统地址,而在WebVPN收到上游web业务系统的响应后又需要检查响应中是否含有web业务系统的原始地址,如果有就需要改写成该原始地址,为此web业务系统需要额外申请的外网地址。地址的不同和代理流量的不透明给WebVPN代理带来的缺陷是需要额外申请域名和域名证书,导致部署成本较高;另一方面,经过WebVPN后的HTTP(S)应用层数据流量被改写,这种不透明的代理模式导致WEB业务系统在被代理之后变得异常,需要人工排查和有针对性的进行修复,使得维护成本高昂;
通过socks5代理服务在外网浏览器和内网数据资源之间实现代理的缺陷在于:通过socks5代理服务进行HTTP数据流量审计时需要引入复杂的HTTP解析模块,流量审计工作量大,而对于HTTPS数据(即加密的HTTP数据)则无法进行流量审计。
发明内容
本发明实施例提供一种网关代理服务器的流量审计方法、装置、计算机设备及存储介质,以解决网关代理服务器流量审计难度大且对于HTTPS数据无法进行流量审计的技术问题。
本发明的第一方面提供了网关代理服务器的流量审计方法,该网关代理服务器预先部署有传输层代理服务和反向代理服务,该方法应用于该网关代理服务器,该方法包括:
传输层代理服务接收终端设备发送的TCP连接请求,与该终端设备建立TCP连接;
该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求时,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务,以使得该终端设备与该反向代理服务协商HTTPS连接密钥;
该反向代理服务器与WEB业务系统建立通信连接;
该反向代理服务通过该传输层代理服务接收该终端设备的HTTPS请求,以及通过该传输层代理服务将该WEB业务系统的响应返回给该终端设备,以实现审计功能。
本发明的第二方面提供了网关代理服务器的流量审计装置,所述装置包括:
第一连接模块,用于传输层代理服务接收终端设备发送的TCP连接请求,与该终端设备建立TCP连接;
转发模块,用于该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求时,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务,以使得该终端设备与该反向代理服务协商HTTPS连接密钥;
第二连接模块,用于该反向代理服务器与WEB业务系统建立通信连接;
审计模块,用于该反向代理服务通过该传输层代理服务接收该终端设备的HTTPS请求,以及通过该传输层代理服务将该WEB业务系统的响应返回给该终端设备,以实现审计功能。
本发明还提供了网关代理服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述网关代理服务器的流量审计方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述网关代理服务器的流量审计方法的步骤。
本发明提出的网关代理服务器的流量审计方法、装置、计算机设备及存储介质,通过在部署有传输层代理服务的基础上部署反向代理服务,利用该反向代理服务接收终端设备发送并由传输层代理服务转发的SSL握手请求,以使得该终端设备与该反向代理服务协商HTTPS连接密钥,通过反向代理服务及传输层代理服务使得网关代理服务器与终端设备以及WEB业务系统建立通信连接,最后通过该反向代理服务接收终端设备发送的HTTPS请求,以及通过所述传输层代理服务将所述WEB业务系统的响应返回给所述终端设备,以实现审计功能,相比于传统的WebVPN代理,本发明对于数据流量的代理是透明的,无需修改应用层数据,从而使得进行流量审计时后期维护成本低,并且本申请无需额外对外网的新域名,进而也无需申请新域名对应的证书,因此相比WebVPN,前期部署难度也不大;相比于传统的socks5代理服务,本发明能够对加密的HTTP超文本传输协议类型的数据请求进行流量审计。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中网关代理服务器的流量审计方法的一应用环境示意图;
图2是本发明一实施例中网关代理服务器的流量审计方法的一流程图;
图3是本发明一实施例中网关代理服务器的流量审计方法的一时序图;
图4是本发明另一实施例中网关代理服务器的流量审计方法的一时序图;
图5是本发明一实施例中网关代理服务器的流量审计装置的结构示意图;
图6是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的网关代理服务器的流量审计方法,可应用在如图1的应用环境的网关代理服务器中(本申请的网关代理服务器可以为1个;也可以为多个,比如应用层代理服务和反向代理服务分别部署在两个网关代理服务器中),其中,该网关代理服务器分别与该终端设备和该WEB业务系统通过网络进行通信。其中,该终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。该网关代理服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,该WEB业务系统也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,图2是本发明一实施例中网关代理服务器的流量审计方法的一流程图,如图2所示,提供一种网关代理服务器的流量审计方法,以该方法应用在图1中的网关代理服务器为例进行说明,该网关代理服务器预先部署有传输层代理服务和反向代理服务,该网关代理服务器的流量审计方法包括如下步骤S101至S104:
S101、传输层代理服务接收终端设备发送的TCP连接请求,与该终端设备建立TCP连接。
其中,该传输层代理服务可以选用socks5代理服务,该终端设备可以安装有socks客户端和浏览器。socks5是一个代理协议,它在使用TCP/IP协议通讯的前端机器和目标服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。该网关代理服务器通过socks5代理服务将前端发来的请求进行转发,最终转发给真正的目标服务器,模拟了一个前端的行为。在这里,前端终端设备和socks5代理服务之间也是通过TCP/IP协议进行通讯,前端终端设备将原本要发送给真正服务器的请求发送给部署有socks5代理服务的网关代理服务器,然后利用网关代理服务器将该数据请求转发给真正的WEB业务系统,该WEB业务系统部署在内网业务系统服务器上。
在其中一个实施例中,该传输层代理服务接收终端设备发送的TCP连接请求,与该终端设备建立TCP连接的步骤包括:
该socks5代理服务接收该socks客户端发送的建立TCP连接请求,该TCP连接请求由该浏览器触发产生(即:浏览器首先发起TCP连接,进而触发socks客户端发送TCP连接请求至socks5代理服务);
该socks5代理服务根据该请求消息与该socks客户端进行SDP协议协商;
当协商结果为正常连接时,该socks5代理服务与该终端设备成功建立TCP连接。
其中,在网关代理服务器与终端设备建立TCP连接的过程中加入SDP协议协商的过程,使得后续进行数据访问的过程中,终端设备通过该socks5代理服务和反向代理服务访问内网中的某个应用时,日志中能够记录访问某一应用程序的终端设备及对应的用户身份信息,便于对访问内网中的某一应用程序的访问者的身份进行记录,以及便于后续进行权限管控。
S102、识别该数据请求的请求类型,该请求类型包括加密的HTTP超文本传输协议的请求类型。
可以理解的是,该终端设备的连接请求类别包括加密的HTTP超文本传输协议的请求类型,即HTTPS的数据,还可以包括不加密的HTTP超文本传输协议的请求类型,即该数据请求包括HTTPS的数据请求和HTTP的数据请求。
本申请可以只判断是否为HTTPS请求,在是HTTPS请求时,使用反向代理服务的反向代理功能,在不是HTTPS请求时,直接将请求转发至后端的Web业务系统。
但是如果只对HTTPS进行反向代理,则只能采用本申请的方案实现HTTPS的审计功能,如果需要对HTTP进行审计,还需部署其他相关的设备,因此为了减轻客户成本,本申请可限定为反向代理服务能够同时实现HTTPS反向代理功能和HTTP反向代理功能,即反向代理服务包括2个监听端口,分别用来实现HTTPS监听和HTTP监听。
在其中一个实施例中,该反向代理服务有HTTPS监听端口以及HTTP监听端口。
其中,当该请求类型为不加密的HTTP超文本传输协议的请求类型时,该HTTP监听端口的地址可以选用127.0.0.0.1(80),当该请求类型为加密的HTTP超文本传输协议的请求类型时,该HTTPS监听端口的地址可以选用127.0.0.0.1(443)SSL。
相应地,该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求时,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务,以使得该终端设备与该反向代理服务协商HTTPS连接密钥,包括:
该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求时,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务的HTTPS监听端口,以使得该终端设备与该反向代理服务协商HTTPS连接密钥;
该方法还包括:
该传输层代理服务确定请求类别为HTTP请求时,与该反向代理服务的HTTP监听端口建立TCP连接;
该反向代理服务通过该传输层代理接收该终端设备的HTTP请求以及通过该传输层代理返回该WEB业务系统的响应,以实现审计功能。
本实施例通过选用不同的监听端口对终端设备发送的请求进行监听,使得该网关代理服务器既可以对HTTP请求数据进行流量审计,也可以对HTTPS请求数据进行流量审计。
在本申请实施例中,流量审计的全部功能可以嵌入至反向代理服务中;当然也可以仅仅嵌入部分功能至反向代理服务中,比如,对于HTTPS流量审计来说,该反向代理服务可以将流量以及HTTPS的密钥传输至流量审计服务端,由该服务端进行流量解密以及审计,具体流量审计如何实现,本申请不限定。
在该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求的步骤之前,还包括:
接收与终端设备建立TCP连接之后的第一个数据包;
根据该第一个数据包的载荷部分的特征,确定该终端设备请求建立连接的类型是否为HTTPS。
在其中一个实施例中,根据该第一个数据包的载荷部分的特征,确定该终端设备请求建立连接的类型是否为HTTPS的方式例如:通过预读该数据请求的第一个数据包可以识别该数据请求是HTTPS类型的请求数据还是HTTP类型的请求数据,如果第一个数据包中载荷部分第一个字节为0x16,则判断该数据请求是HTTPS类型的请求数据,否则,判断该数据请求是HTTP类型的请求数据。
此外,传输层代理服务也可以在和终端设备进行TCP连接的过程,确定是HTTP还是HTTPS,比如80端口是HTTP,443端口为HTTPS。但是通过TCP连接过程的端口来确定是HTTPS还是HTTP会存在某些流量无法准确识别的问题,比如还有一些除80和443端口之外的其他端口,比如8080,此时则无法准确识别8080流量所对应的流量类型,因此,通过对TCP连接建立之后的第一个数据包的载荷特征来准确识别是否为HTTPS。这种识别方法能够更加准确识别请求类型,对于HTTPS连接来说,TCP连接之后第一个数据包为SSL握手的CLIENT HELLO数据包,该数据包的载荷部分相比HTTP来说具备一些特有的特征,因此,可以基于TCP连接建立之后第一包的载荷特征确定是否为HTTPS。本申请对请求类型的识别方法进行了提供,但并不对请求类型的识别方法进行限定。
在其中一个实施例中,图4是本发明另一实施例中网关代理服务器的流量审计方法的一时序图,如图3和图4所示,在该反向代理服务通过该传输层代理服务接收该终端设备的HTTPS请求的步骤之前,该方法还包括:
接收该终端设备发送的建立TCP协议连接的请求消息;
根据该请求信息,建立该socks5代理服务与安装于该终端设备中的socks客户端之间的网络连接;
当该网络连接建立成功时,向该socks客户端发送响应消息,供该socks客户端与安装于该终端设备中的浏览器建立连接。
可以理解的是,当该socks客户端与安装于该终端设备中的浏览器建立连接、该socks客户端与该socks5代理服务建立网络连接,且该socks5代理服务通过反向代理服务与WEB业务系统建立连接时,用户在浏览器端并不会感知这一连接关系,用户在浏览器端感知到的是该浏览器与WEB业务系统建立了连接。
其中,当该数据请求为HTTPS的数据请求时,该浏览器与该socks客户端之间需要进行SSL(Secure Sockets Layer,安全套接字协议)握手请求,该SSL握手请求最终会发给反向代理服务器,从而使得反向代理服务器能够进行解密。
为便于简化附图3及4的复杂度,图3中第一步的“发送HTTP协议的数据请求”,不仅适用真正HTTP连接的情况,还使用HTTPS连接的情况,在HTTPS连接的情况下,“发送HTTP协议的数据请求”本质是发送“SSL握手连接请求”。同理,对于图4中的第四步,也是同样的含义。
作为可选地,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务,以使得该终端设备与该反向代理服务协商HTTPS连接密钥,包括:
将接收的该终端设备发送的SSL握手请求转发至该反向代理服务;
该反向代理服务解析该SSL握手请求中携带的URL网络资源地址;
该反向代理服务获取该传输层代理服务发送的用户身份信息,其中,该用户身份信息被嵌入至代理协议proxy protocol中由传输层代理服务发送至该反向代理服务;
该反向代理服务判断该用户身份信息是否具备访问该URL网络资源地址的权限,若是,则继续SSL握手过程,以使得该终端设备与该反向代理服务协商HTTPS连接密钥,否则,终止该反向代理服务。
本实施例通过在将该数据请求转发至该目标地址对应的WEB业务系统之前,对发送该请求消息中的用户身份信息进行解析和匹配,可以预设用户信息集,用于保存合法用户,仅当该用户信息集中包含有该用户身份信息时,说明该用户身份信息对应的用户具有访问权限,将该数据请求转发至该目标地址对应的WEB业务系统,使得该网关代理服务器能够对用户进行访问控制,提高该WEB业务系统中数据的安全性。另外,该用户身份信息被嵌入至已有的代理协议proxy protocol中由传输层代理服务发送至该反向代理服务,可以便于程序开发。
在其中一个实施例中,该通过该socks5代理服务接收终端设备发送的HTTP超文本传输协议的数据请求的步骤进一步包括:
通过该socks5代理服务接收安装于该终端设备中的socks客户端发送的该数据请求,并将所述HTTPS请求转发至所述反向代理服务,该数据请求由安装于该终端设备中的浏览器产生并发送至该socks客户端。
S103、该反向代理服务器与WEB业务系统建立通信连接。
在其中一个实施例中,该反向代理服务可以选用Nginx服务。
在本申请实施例中,反向代理服务与WEB业务系统之间可以采用HTTPS建立通信连接,也可以采用HTTP建立通信连接。在某种程度上,具体如何与WEB业务系统建立连接,取决于WEB业务系统所支持的协议。
S104、该反向代理服务通过该传输层代理服务接收该终端设备的HTTPS请求,以及通过该传输层代理服务将该WEB业务系统的响应返回给该终端设备,以实现审计功能。
这里的审计功能实现可以是:网关代理服务器将HTTPS数据报文进行解密,将解密的明文发给除了网关代理服务器的其他设备,由其他设备进行审计,或者是将HTTPS密钥发给其他设备,同时将密文发给其他设备,由所述其他设备进行解密并审计,具体审计的实现方式不做限定。
可以理解的是,该响应数据也是该WEB业务系统根据该数据请求反馈的HTTP或HTTPS超文本传输协议的应答数据。
在其中一个实施例中,所述通过该传输层代理服务将该WEB业务系统的响应返回给该终端设备的步骤进一步包括:
通过该反向代理服务将该响应数据转发至该socks5代理服务;
通过该socks5代理服务将该响应数据转发至该socks客户端,供该socks客户端将该响应数据转发至该浏览器。
本实施例提出的网关代理服务器的流量审计方法通过在部署有传输层代理服务的基础上部署反向代理服务,利用该反向代理服务接收终端设备发送并由传输层代理服务转发的SSL握手请求,以使得该终端设备与该反向代理服务协商HTTPS连接密钥,通过反向代理服务及传输层代理服务使得网关代理服务器与终端设备以及WEB业务系统建立通信连接,最后通过该反向代理服务接收终端设备发送的HTTPS请求,以及通过所述传输层代理服务将所述WEB业务系统的响应返回给所述终端设备,以实现审计功能,相比于传统的WebVPN代理,本实施例对于数据流量的代理是透明的,无需修改应用层数据,从而使得进行流量审计时后期维护成本低,并且本申请无需额外对外网的新域名,进而也无需申请新域名对应的证书,因此相比WebVPN,前期部署难度也不大;相比于传统的socks5代理服务,本实施例能够对加密的HTTP超文本传输协议类型的数据请求进行流量审计。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种网关代理服务器的流量审计装置,该网关代理服务器的流量审计装置与上述实施例中网关代理服务器的流量审计方法一一对应。如图5所示,该网关代理服务器的流量审计装置100包括第一连接模块11、转发模块12、第二连接模块13和审计模块14。各功能模块详细说明如下:
第一连接模块11,用于传输层代理服务接收终端设备发送的TCP连接请求,与该终端设备建立TCP连接;
转发模块12,用于该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求时,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务,以使得该终端设备与该反向代理服务协商HTTPS连接密钥;
第二连接模块13,用于该反向代理服务器与WEB业务系统建立通信连接;
审计模块14,用于该反向代理服务通过该传输层代理服务接收该终端设备的HTTPS请求,以及通过该传输层代理服务将该WEB业务系统的响应返回给该终端设备,以实现审计功能。在其中一个实施例中,反向代理服务有HTTPS监听端口以及HTTP监听端口,该转发模块12具体用于通过该传输层代理服务确定该终端设备的连接请求类别为HTTPS请求时,将接收的该终端设备发送的SSL握手请求转发至该反向代理服务的HTTPS监听端口,以使得该终端设备与该反向代理服务协商HTTPS连接密钥;
该网关代理服务器的流量审计装置100还包括:
连接建立模块,用于通过该传输层代理服务确定请求类别为HTTP请求时,与该反向代理服务的HTTP监听端口建立TCP连接;
反向代理接收模块,用于该反向代理服务通过该传输层代理接收该终端设备的HTTP请求以及通过该传输层代理返回该WEB业务系统的响应,以实现审计功能。
在其中一个实施例中,该网关代理服务器的流量审计装置100还包括:
数据包接收模块,用于所述传输层代理服务接收与终端设备建立TCP连接之后的第一个数据包;
类型确定模块,用于所述传输层代理服务根据该第一个数据包的载荷部分的特征,确定该终端设备请求建立连接的类型是否为HTTPS。
所述类型确定模块,具体用于所述传输层代理服务根据所述第一个数据包的载荷部分的第一字节是否为特定数值,确定所述终端设备请求建立连接的类型是否为HTTPS。
在其中一个实施例中,该转发模块12具体包括:
第一转发单元,用于将接收的该终端设备发送的SSL握手请求转发至该反向代理服务;
解析单元,用于通过该反向代理服务解析该SSL握手请求中携带的URL网络资源地址;
身份信息获取单元,用于该反向代理服务获取该传输层代理服务发送的用户身份信息,其中,该用户身份信息被嵌入至代理协议proxy protocol中由传输层代理服务发送至该反向代理服务;
第一判断单元,用于该反向代理服务判断该用户身份信息是否具备访问该URL网络资源地址的权限,若是,则继续SSL握手过程,以使得该终端设备与该反向代理服务协商HTTPS连接密钥,否则,终止该反向代理服务。
在其中一个实施例中,该传输层代理服务为socks5代理服务,该终端设备安装有socks客户端和浏览器,该第一连接模块11具体包括:
请求消息接收单元,用于该socks5代理服务接收该socks客户端发送的建立TCP连接请求,该TCP连接请求由该浏览器触发产生;
协商单元,用于所述socks5代理服务根据该TCP连接请求与该socks客户端进行SDP协议协商;
第二确定单元,用于当协商结果为正常连接时,该socks5代理服务与该终端设备成功建立TCP连接。
在其中一个实施例中,该审计模块14进一步包括:
第二转发单元,用于通过该反向代理服务将该响应转发至该socks5代理服务;
第三转发单元,用于通过该socks5代理服务将该响应转发至该socks客户端,供该socks客户端将该响应转发至该浏览器。
在其中一个实施例中,该审计模块14具体用于通过该socks5代理服务接收该socks客户端发送的该HTTPS请求,该HTTPS请求由该浏览器产生并发送至该socks客户端。
进一步地,该反向代理服务通过该传输层代理服务接收该终端设备的HTTPS请求的步骤包括:
该socks5代理服务接收该socks客户端发送的该HTTPS请求,并将所述HTTPS请求转发至所述反向代理服务,该HTTPS请求由该浏览器产生并发送至该socks客户端。
其中上述的“第一”和“第二”的意义仅在于将不同的对象加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于网关代理服务器的流量审计装置的具体限定可以参见上文中对于网关代理服务器的流量审计方法的限定,在此不再赘述。上述网关代理服务器的流量审计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种网关代理服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质包括非易失性存储介质和/或易失性的存储介质,该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网关代理服务器的流量审计方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网关代理服务器的流量审计方法。
在一个实施例中,提供了一种网关代理服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中网关代理服务器的流量审计方法的步骤,例如图2所示的步骤101至步骤104及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中网关代理服务器的流量审计装置的各模块/单元的功能,例如图5所示模块11至模块14的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中网关代理服务器的流量审计方法的步骤,例如图2所示的步骤101至步骤104及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中网关代理服务器的流量审计装置的各模块/单元的功能,例如图5所示模块11至模块14的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性和/或易失性的计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.网关代理服务器的流量审计方法,其特征在于,所述网关代理服务器预先部署有传输层代理服务和反向代理服务,所述方法应用于所述网关代理服务器,所述方法包括:
传输层代理服务接收终端设备发送的TCP连接请求,与所述终端设备建立TCP连接;
所述传输层代理服务确定所述终端设备的连接请求类别为HTTPS请求时,将接收的所述终端设备发送的SSL握手请求转发至所述反向代理服务,以使得所述终端设备与所述反向代理服务协商HTTPS连接密钥;
所述反向代理服务器与WEB业务系统建立通信连接;
所述反向代理服务通过所述传输层代理服务接收所述终端设备的HTTPS请求,以及通过所述传输层代理服务将所述WEB业务系统的响应返回给所述终端设备,以实现审计功能。
2.根据权利要求1所述的流量审计方法,其特征在于,所述反向代理服务有HTTPS监听端口以及HTTP监听端口;
相应地,所述传输层代理服务确定所述终端设备的连接请求类别为HTTPS请求时,将接收的所述终端设备发送的SSL握手请求转发至所述反向代理服务,以使得所述终端设备与所述反向代理服务协商HTTPS连接密钥,包括:所述传输层代理服务确定所述终端设备的连接请求类别为HTTPS请求时,将接收的所述终端设备发送的SSL握手请求转发至所述反向代理服务的HTTPS监听端口,以使得所述终端设备与所述反向代理服务协商HTTPS连接密钥;
所述方法还包括:
所述传输层代理服务确定请求类别为HTTP请求时,与所述反向代理服务的HTTP监听端口建立TCP连接;
所述反向代理服务通过所述传输层代理接收所述终端设备的HTTP请求以及通过所述传输层代理返回所述WEB业务系统的响应,以实现审计功能。
3.根据权利要求1所述的流量审计方法,其特征在于,在所述传输层代理服务确定所述终端设备的连接请求类别为HTTPS请求的步骤之前,还包括:所述传输层代理服务接收与终端设备建立TCP连接之后的第一个数据包;
所述传输层代理服务根据所述第一个数据包的载荷部分的特征,确定所述终端设备请求建立连接的类型是否为HTTPS。
4.根据权利要求3所述的流量审计方法,其特征在于,所述传输层代理服务根据所述第一个数据包的载荷部分的特征,确定所述终端设备请求建立连接的类型是否为HTTPS,包括:所述传输层代理服务根据所述第一个数据包的载荷部分的第一字节是否为特定数值,确定所述终端设备请求建立连接的类型是否为HTTPS。
5.根据权利要求1所述的流量审计方法,其特征在于,将接收的所述终端设备发送的SSL握手请求转发至所述反向代理服务,以使得所述终端设备与所述反向代理服务协商HTTPS连接密钥,包括:将接收的所述终端设备发送的SSL握手请求转发至所述反向代理服务;
所述反向代理服务解析所述SSL握手请求中携带的URL网络资源地址;
所述反向代理服务获取所述传输层代理服务发送的用户身份信息,其中,所述用户身份信息被嵌入至代理协议proxy protocol中由传输层代理服务发送至所述反向代理服务;
所述反向代理服务判断所述用户身份信息是否具备访问所述URL网络资源地址的权限,若是,则继续SSL握手过程,以使得所述终端设备与所述反向代理服务协商HTTPS连接密钥,否则,终止所述反向代理服务。
6.根据权利要求1所述的流量审计方法,其特征在于,所述传输层代理服务为socks5代理服务,所述终端设备安装有socks客户端和浏览器,所述传输层代理服务接收终端设备发送的TCP连接请求,与所述终端设备建立TCP连接的步骤包括:所述socks5代理服务接收所述socks客户端发送的建立TCP连接请求,所述TCP连接请求由所述浏览器触发产生;
所述socks5代理服务根据所述TCP连接请求与所述socks客户端进行SDP协议协商;
当协商结果为正常连接时,所述socks5代理服务与所述终端设备成功建立TCP连接。
7.根据权利要求6所述的流量审计方法,其特征在于,通过所述传输层代理服务将所述WEB业务系统的响应返回给所述终端设备的步骤包括:所述反向代理服务将所述响应转发至所述socks5代理服务;
所述socks5代理服务将所述响应转发至所述socks客户端,供所述socks客户端将所述响应转发至所述浏览器;
所述反向代理服务通过所述传输层代理服务接收所述终端设备的HTTPS请求的步骤包括:所述socks5代理服务接收所述socks客户端发送的所述HTTPS请求,并将所述HTTPS请求转发至所述反向代理服务,所述HTTPS请求由所述浏览器产生并发送至所述socks客户端。
8.一种网关代理服务器的流量审计装置,其特征在于,所述装置包括:
第一连接模块,用于传输层代理服务接收终端设备发送的TCP连接请求,与所述终端设备建立TCP连接;
转发模块,用于所述传输层代理服务确定所述终端设备的连接请求类别为HTTPS请求时,将接收的所述终端设备发送的SSL握手请求转发至反向代理服务,以使得所述终端设备与所述反向代理服务协商HTTPS连接密钥;
第二连接模块,用于所述反向代理服务器与WEB业务系统建立通信连接;
审计模块,用于所述反向代理服务通过所述传输层代理服务接收所述终端设备的HTTPS请求,以及通过所述传输层代理服务将所述WEB业务系统的响应返回给所述终端设备,以实现审计功能。
9.一种网关代理服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述网关代理服务器的流量审计方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述网关代理服务器的流量审计方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111240178.XA CN113992642B (zh) | 2021-10-25 | 2021-10-25 | 网关代理服务器的流量审计方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111240178.XA CN113992642B (zh) | 2021-10-25 | 2021-10-25 | 网关代理服务器的流量审计方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992642A CN113992642A (zh) | 2022-01-28 |
CN113992642B true CN113992642B (zh) | 2023-10-24 |
Family
ID=79740938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111240178.XA Active CN113992642B (zh) | 2021-10-25 | 2021-10-25 | 网关代理服务器的流量审计方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992642B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086034A (zh) * | 2022-06-15 | 2022-09-20 | 北京鼎普科技股份有限公司 | 一种基于代理与反向代理实现国密算法通信的方法及系统 |
CN115118640B (zh) * | 2022-07-26 | 2022-11-01 | 北京安华金和科技有限公司 | 一种存在代理设备时的数据库审计处理方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222561A (zh) * | 2017-07-03 | 2017-09-29 | 杭州泰酷科技有限公司 | 一种传输层反向代理方法 |
CN107483609A (zh) * | 2017-08-31 | 2017-12-15 | 深圳市迅雷网文化有限公司 | 一种网络访问方法、相关设备和系统 |
CN109743302A (zh) * | 2018-12-24 | 2019-05-10 | 中电福富信息科技有限公司 | 一种https/http协议的审计回放系统 |
CN109962913A (zh) * | 2019-03-11 | 2019-07-02 | 北京信安世纪科技股份有限公司 | 基于安全套接层协议的代理服务器及代理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10362059B2 (en) * | 2014-09-24 | 2019-07-23 | Oracle International Corporation | Proxy servers within computer subnetworks |
US20170272470A1 (en) * | 2016-03-16 | 2017-09-21 | Affirmed Networks, Inc. | Systems and methods for intelligent transport layer security |
-
2021
- 2021-10-25 CN CN202111240178.XA patent/CN113992642B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222561A (zh) * | 2017-07-03 | 2017-09-29 | 杭州泰酷科技有限公司 | 一种传输层反向代理方法 |
CN107483609A (zh) * | 2017-08-31 | 2017-12-15 | 深圳市迅雷网文化有限公司 | 一种网络访问方法、相关设备和系统 |
CN109743302A (zh) * | 2018-12-24 | 2019-05-10 | 中电福富信息科技有限公司 | 一种https/http协议的审计回放系统 |
CN109962913A (zh) * | 2019-03-11 | 2019-07-02 | 北京信安世纪科技股份有限公司 | 基于安全套接层协议的代理服务器及代理方法 |
Non-Patent Citations (1)
Title |
---|
适用于网络内容审计的SSL/TLS保密数据高效明文采集方法;董海韬;田静;杨军;叶晓舟;宋磊;;计算机应用(10) * |
Also Published As
Publication number | Publication date |
---|---|
CN113992642A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021218018A1 (zh) | 网页端实现跨域请求的数据处理方法、装置及相关设备 | |
US10284526B2 (en) | Efficient SSL/TLS proxy | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
CN113992642B (zh) | 网关代理服务器的流量审计方法、装置及相关设备 | |
CN108156178B (zh) | 一种ssl/tls数据监控系统和方法 | |
US20170374017A1 (en) | Verification of server name in a proxy device for connection requests made using domain names | |
CN108243188B (zh) | 一种接口访问、接口调用和接口验证处理方法及装置 | |
US10257171B2 (en) | Server public key pinning by URL | |
CN109413219B (zh) | 一种域名解析方法和装置、服务器及存储介质 | |
CN108418847B (zh) | 一种网络流量缓存系统、方法及装置 | |
CN111049844B (zh) | 基于Socks代理的上网行为管理方法、装置、设备及存储介质 | |
US11233777B2 (en) | Efficient SSL/TLS proxy | |
US20170317836A1 (en) | Service Processing Method and Apparatus | |
US11245685B2 (en) | Methods and apparatus to verify encrypted handshakes | |
CN113204772B (zh) | 数据处理方法、装置、系统、终端、服务器和存储介质 | |
CN111917900A (zh) | 一种域名代理的请求处理方法及装置 | |
CN111786996B (zh) | 一种跨域同步登录态的方法、装置及跨域同步登录系统 | |
CN110730189B (zh) | 一种通信认证方法、装置、设备及存储介质 | |
CN113364781A (zh) | 请求处理方法及系统 | |
CN114586316A (zh) | 管理安全IoT设备应用的方法和系统 | |
US9800568B1 (en) | Methods for client certificate delegation and devices thereof | |
CN110049024B (zh) | 一种数据传输方法、中转服务器及接入网点服务器 | |
US10530635B2 (en) | Pluggable control system for fallback website access | |
CN111953742B (zh) | 一种页面重定向方法、终端设备、中间设备及服务器 | |
CN113285951A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |