一种基于TLS的内网穿透方法及装置制造方法及图纸

技术编号:33807357 阅读:14 留言:0更新日期:2022-06-16 10:15
本申请涉及网络安全技术领域,尤其涉及一种基于TLS的内网穿透方法及装置。用于解决已有技术下传统内网穿透方案存在部署成本高昂、安全性低下的问题,该方法为:外网服务端接收内网客户端发送的TLS反向隧道创建请求,并基于TLS反向隧道创建请求,建立TLS反向隧道,然后,通过TLS反向隧道将内网访问请求对应的内网访问数据发送至内网客户端,以及通过TLS反向隧道接收内网客户端发送的内网访问数据对应的待访问内网应用的响应数据,将待访问内网应用的响应数据转发至目标终端;这样,在不增加内网应用的资源暴露面的前提下,实现外网服务端侧的外网用户访问内网客户端的内网应用的效果,实现内网穿透,增强网络安全。增强网络安全。增强网络安全。

【技术实现步骤摘要】
一种基于TLS的内网穿透方法及装置


[0001]本申请涉及网络安全
,尤其涉及一种基于TLS的内网穿透方法及装置。

技术介绍

[0002]随着网络服务的崛起,人们对内部网络的访问需求逐渐增加。传统的内网穿透方案是使用专线、虚拟专用网络(Virtual Private Network,VPN)和安全外壳协议(Secure Shell,SSH),通过隧道连接来实现从外网访问内部网络。
[0003]然而,已有技术下,采用专线、VPN进行内外网访问,存在部署成本高、后续需要专人进行账号密码管理、网络管理等相关维护操作;而采用SSH进行内外网访问,因为完整的SSH包括反向隧道、命令执行功能和正向隧道等内容,当某个客户端使用的秘钥泄露,整个服务端即会被攻陷,这样,导致所有客户端存在被暴露的风险。
[0004]综上,需要设计一种新的方法,以解决上述问题。

技术实现思路

[0005]本申请实施例提供一种基于TLS的内网穿透方法及装置,用以解决已有技术下传统内网穿透方案存在部署成本高昂、维护复杂、安全性低下的问题。
[0006]本申请实施例提供的具体技术方案如下:
[0007]第一方面,本申请实施例提供一种基于传输层安全性协议TLS的内网穿透方法,应用于外网服务端,所述方法包括:
[0008]接收内网客户端发送的TLS反向隧道创建请求,并基于所述TLS反向隧道创建请求,在所述外网服务端和所述内网客户端之间建立TLS反向隧道,以及将所述TLS反向隧道创建成功消息发送至所述内网客户端;
[0009]通过所述TLS反向隧道将内网访问请求对应的内网访问数据发送至所述内网客户端,以及通过所述TLS反向隧道接收所述内网客户端发送的所述内网访问数据对应的待访问内网应用的响应数据,将所述待访问内网应用的响应数据转发至目标终端;
[0010]其中,所述TLS反向隧道创建请求是在所述内网客户端接收到所述外网服务端返回的TLS连接创建成功消息后发送的,所述TLS连接创建成功消息是在确定TLS连接请求通过身份验证后发送的,所述TLS连接请求是由所述内网客户端发送至所述外网服务端的,所述TLS连接请求包括密钥信息,所述密钥信息是由内网用户导入到所述内网客户端的,所述密钥信息是所述外网服务端基于预设位数的随机数对秘钥进行加密得到的,所述秘钥是所述外网服务端基于发起内网访问请求的外网用户的用户信息生成,并由所述外网服务端发送给所述内网用户的,所述内网访问请求包含的所述待访问内网应用部署在所述内网客户端中。
[0011]上述方法,由于仅保留了TLS标准中定义的反向隧道和身份认证功能,这样,即使外网服务端的任意一个外网用户的用户信息对应的密钥信息被攻击者窃取,攻击者也只能将自身的服务映射到外网服务端,但由于没有标准SSH中的正向隧道、命令执行通道等内
容,攻击者也不能对外网服务端以及其他的外网用户对应的外网客户端造成安全威胁,从而在不增加内网应用的资源暴露面的前提下,实现外网服务端侧的外网用户访问内网客户端的内网应用的效果,实现内网穿透,提高了网络安全性,降低了密钥泄露对外网客户端带来的安全风险。
[0012]在一些实施例中,在接收内网客户端发送的TLS反向隧道创建请求之前,还包括:
[0013]接收所述内网客户端发送的TLS连接请求,并基于所述预设位数的随机数,对所述TLS连接请求包含的所述密钥信息进行解密,以及基于所述秘钥对解密后的所述密钥信息进行身份验证;
[0014]在确定通过身份验证后,在所述外网服务端和所述内网客户端之间建立TLS连接,以及将所述TLS连接创建成功消息发送至所述内网客户端。
[0015]上述方法,采用TLS标准中定义的身份验证(即,预设位数的随机数(口令)+秘钥)对TLS连接请求进行身份验证,从而提高密钥信息的安全性。
[0016]在一些实施例中,通过执行如下操作,在所述外网服务端和所述内网客户端之间建立TLS连接:
[0017]基于所述TLS反向隧道创建请求分配所述待访问内网应用对应的第一内网端口,并基于所述第一内网端口,在本地部署所述内网客户端的传输控制协议TCP客户映射端;
[0018]基于所述第一内网端口,以及所述TLS反向隧道创建请求包含的第二内网端口,在所述TCP客户映射端和所述内网客户端的TCP服务映射端之间建立所述TLS反向隧道;
[0019]其中,所述TCP服务映射端是所述内网客户端基于配置信息在本地部署的,所述配置信息是所述内网用户基于所述密钥信息设置的。
[0020]上述方法,外网服务端基于TLS协议,统一为外网用户分配第一内网端口,并通过将TLS反向隧道与外网用户的用户信息进行绑定,使得基于TLS的内网穿透系统在后续通过网关模块基于映射关系集合进行比对时,变得方便简洁,更使得上层系统使用方便。
[0021]在一些实施例中,所述通过所述TLS反向隧道将所述内网访问请求对应的内网访问数据发送至所述内网客户端,包括:
[0022]通过所述TCP客户映射端将所述内网访问请求对应的所述内网访问数据发送至所述内网客户端的所述TCP服务映射端;
[0023]所述通过所述TLS反向隧道接收所述内网客户端发送的所述内网访问数据对应的所述待访问内网应用的响应数据,将所述待访问内网应用的响应数据转发至目标终端,包括:
[0024]通过所述TCP客户映射端接收所述内网服务端的所述TCP服务映射端发送的所述内网访问数据对应的所述待访问内网应用的响应数据,并通过所述TCP客户映射端将所述待访问内网应用的响应数据转发至所述目标终端。
[0025]上述方法,在外网服务端和内网客户端之间建立TLS反向隧道后,在外网服务端中部署TCP客户映射端,相应的,在内网客户端中部署TCP服务映射端,通过控制TCP客户映射端将数据原样转发到TCP服务映射端,就会出现如下效果:访问TLS服务端模块207上的TCP客户映射端,等同于访问TLS客户端模块107上的TCP服务映射端,从而实现了内网穿透。
[0026]在一些实施例中,在所述将所述待访问内网应用的响应数据转发至目标终端之后,还包括:
[0027]接收所述内网服务端发送的断开TLS连接指令,并基于所述断开TLS连接指令,断开所述TLS连接请求对应的TLS连接,所述断开TLS连接指令是所述内网客户端基于所述内网用户的点击操作生成的;
[0028]接收外网用户发出的吊销密钥信息指令,基于所述吊销密钥信息指令,断开所述TLS反向隧道,回收所述TLS反向隧道对应的第一内网端口,并生成断开TLS反向隧道指令,以及将所述断开TLS反向隧道指令发送至所述内网客户端。
[0029]上述方法,若没有人工介入,在外网服务端和内网客户端之间的TLS连接、TLS反向隧道将一直可以用于通信,因此,为了提高网络资源利用率,将不使用或一段时间不使用的TLS连接、TLS方向隧道断开,可以及时释放网络资源,降低网络运行负荷,提高网络性能。...

【技术保护点】

【技术特征摘要】
1.一种基于传输层安全性协议TLS的内网穿透方法,其特征在于,应用于外网服务端,所述方法包括:接收内网客户端发送的TLS反向隧道创建请求,并基于所述TLS反向隧道创建请求,在所述外网服务端和所述内网客户端之间建立TLS反向隧道,以及将所述TLS反向隧道创建成功消息发送至所述内网客户端;通过所述TLS反向隧道将内网访问请求对应的内网访问数据发送至所述内网客户端,以及通过所述TLS反向隧道接收所述内网客户端发送的所述内网访问数据对应的待访问内网应用的响应数据,将所述待访问内网应用的响应数据转发至目标终端;其中,所述TLS反向隧道创建请求是在所述内网客户端接收到所述外网服务端返回的TLS连接创建成功消息后发送的,所述TLS连接创建成功消息是在确定TLS连接请求通过身份验证后发送的,所述TLS连接请求是由所述内网客户端发送至所述外网服务端的,所述TLS连接请求包括密钥信息,所述密钥信息是由内网用户导入到所述内网客户端的,所述密钥信息是所述外网服务端基于预设位数的随机数对秘钥进行加密得到的,所述秘钥是所述外网服务端基于发起内网访问请求的外网用户的用户信息生成,并由所述外网服务端发送给所述内网用户的,所述内网访问请求包含的所述待访问内网应用部署在所述内网客户端所在网络中。2.如权利要求1所述的方法,其特征在于,在接收内网客户端发送的TLS反向隧道创建请求之前,还包括:接收所述内网客户端发送的TLS连接请求,并基于所述预设位数的随机数,对所述TLS连接请求包含的所述密钥信息进行解密,以及基于所述秘钥对解密后的所述密钥信息进行身份验证;在确定通过身份验证后,在所述外网服务端和所述内网客户端之间建立TLS连接,以及将所述TLS连接创建成功消息发送至所述内网客户端。3.如权利要求2所述的方法,其特征在于,通过执行如下操作,在所述外网服务端和所述内网客户端之间建立TLS连接:基于所述TLS反向隧道创建请求分配所述待访问内网应用对应的第一内网端口,并基于所述第一内网端口,在本地部署所述内网客户端的传输控制协议TCP客户映射端;基于所述第一内网端口,以及所述TLS反向隧道创建请求包含的第二内网端口,在所述TCP客户映射端和所述内网客户端的TCP服务映射端之间建立所述TLS反向隧道;其中,所述TCP服务映射端是所述内网客户端基于配置信息在本地部署的,所述配置信息是所述内网用户基于所述密钥信息设置的。4.如权利要求3所述的方法,其特征在于,所述通过所述TLS反向隧道将内网访问请求对应的内网访问数据发送至所述内网客户端,包括:通过所述TCP客户映射端将所述内网访问请求对应的所述内网访问数据发送至所述内网客户端的所述TCP服务映射端;所述通过所述TLS反向隧道接收所述内网客户端发送的所述内网访问数据对应的待访问内网应用的响应数据,将所述待访问内网应用的响应数据转发至目标终端,包括:通过所述TCP客户映射端接收所述内网服务端的所述TCP服务映射端发送的,所述内网访问数据对应的所述待访问内网应用的响应数据,并通过所述TCP客户映射端将所述待访
问内网应用的响应数据转发至所述目标终端。5.如权利要求1

4任一项所述的方法,其特征在于,在所述将所述待访问内网应用的响应数据转发至目标终端之后,还包括:接收所述内网服务端发送的断开TLS连接指令,并基于所述断开TLS连接指令,断开所述TLS连接请求对应的TLS连接,所述断开TLS连接指令是所述内网客户端基于所述内网用户的点击操作生成的;接收外网用户发出的吊销密钥信息指令,基于所述吊销密钥信息指令,断开所述TLS反向隧道,回收所述TLS反向隧道对应的第一内网端口,并生成断开TLS反向隧道指令,以及将所述断开TLS反向隧道指令发送至所述内网客户端。6.如权利要求5所述的方法,其特征在于,所述外网服务端还包括网关模块,所述网关模块配置有公网地址,所述方法包括:基于所述公网地址与所述内网服务端进行TLS会话的数据传输,其中,所述TLS会话包括所述TLS连接请求、所述TLS反向隧道创建请求和通过所述TLS反向隧道传输的每个数据中的任意一个,每个TLS会话均携带所述密钥信息。7.如权利要求6所述的方法,其特征在于,所述基于所述公网地址与所述内网服务端进行TLS会话的数据传输,包括:通过所述网关模块采用预设特征提取算法,提取所述TLS会话携带的所述密钥信息的特征,并将映射关系集合和所述密钥信息的特征进行比对,基于比对结果判断所述密钥信息的特征是否包含在所述映射关系集合中;若通过所述网关模块判定所述密钥信息的特征不包含在所述映射关系集合中,则将所述TLS会话路由至所述外网服务端的新分配的第一内网端口;或者,若通过所述网关模块判定所述密钥信息的特征包含在所述映射关系集合中,且确定所述密钥信息的特征对应的TLS反向隧道的状态信息表征所述TLS反向隧道对应的TLS服务端未处于存活状态,则将所述TLS会话路由至所述外网服务端的新分配的第一内网端口;或者,若通过所述网关模块判定所述密钥信息的特征包含在所述映射关系集合中,且确定所述密钥信息的特征对应的TLS反向隧道的状态信息表征所述TLS反向隧道对应的TLS服务端处于存活状态,则将所述TLS会话路由至所述外网服务端的历史记录的第一内网端口;其中,所述映射关系集合包括至少一个映射关系,每个映射关系包括相应的外网用户的用户信息、所述相应的外网用户对应的密钥信息的特征,以及所述相应的外网用户关联的第一内网端口和第二内网端口,所述第一内网端口是所述外网服务端为所述相应的外网用户分配的端口,所述第二内网端口是所述内网客户端基于所述相应的外网用户对应的密钥信息,为所述相应的外网用户设置的端口。8.如权利要求6所述的方法,其特征在于,所述方法还包括:通过所述网关模块判断所述心跳信息对应的TLS反向隧道的状态信息,并基于所述状态信息向所述内网客户端反馈所述心跳信息的回复信息。9.一种基于传输层安全协议TLS的内网穿透方法,其特征在于,应用于内网客户端,所述方法包括:
向外网服务端发送TLS反向隧道创建请求,其中,所述TLS反向隧道创建请求是在所述内网客户端接收到所述外网服务端返回的TLS连接创建成功消息后发送的...

【专利技术属性】
技术研发人员:陈方义梁文鹏薛玲刘晓霞
申请(专利权)人:北京神州绿盟科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1