CN106209838B - Ssl vpn的ip接入方法及装置 - Google Patents
Ssl vpn的ip接入方法及装置 Download PDFInfo
- Publication number
- CN106209838B CN106209838B CN201610545144.4A CN201610545144A CN106209838B CN 106209838 B CN106209838 B CN 106209838B CN 201610545144 A CN201610545144 A CN 201610545144A CN 106209838 B CN106209838 B CN 106209838B
- Authority
- CN
- China
- Prior art keywords
- resource
- vpn client
- ssl vpn
- address
- server
- 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
Images
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/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种SSL VPN的IP接入方法,包括:向终端设备上的SSL VPN客户端发送隧道配置信息,以使所述SSL VPN客户端将所述隧道配置信息更新至终端设备上的内置VPN客户端;接收所述SSL VPN客户端发送的所述内置VPN客户端的私网IP地址,储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射关系;接收所述内置VPN客户端发送的针对与所述SSL VPN客户端对应的资源访问报文;判断待访问资源的IP地址是否在所述资源列表中,当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文。应用本发明实施例,可以实现在安全性较高的系统中,终端设备以SSL VPN的IP接入方式访问资源。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及SSL VPN的IP接入方法及装置。
背景技术
SSL VPN是一种采用SSL(Security Socket Layer,安全套接字层)协议来实现远程接入的一种新型VPN(Virtual Private Network,虚拟专用网)技术。它是以HTTPS(Secure Hyper Text Transfer Protocol,安全超文本传输协议,即支持SSL的HTTP协议)为基础,利用SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,来实现远程访问内网资源。
通常情况下,SSL VPN有三种常用的接入方式,分别为Web接入方式,TCP接入方式以及IP接入方式。然而,在一些系统中,由于权限问题,终端设备不能以SSL VPN的IP接入的方式访问内网资源,为用户访问公司内网资源造成了不便。
发明内容
有鉴于此,本申请提供一种SSL VPN的IP接入方法及装置,用以实现在安全性较高的系统中,终端设备以SSL VPN的IP接入方式访问资源。
具体地,本申请是通过如下技术方案实现的:
根据本发明实施例的第一方面,提供一种SSL VPN的IP接入的方法,所述方法应用于SSL VPN服务端,包括:
向终端设备上的SSL VPN客户端发送隧道配置信息,以使所述SSL VPN客户端将所述隧道配置信息更新至终端设备上的内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息与本地建立隧道;
接收所述SSL VPN客户端发送的所述内置VPN客户端的私网IP地址,并储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射关系,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
接收所述内置VPN客户端发送的针对与所述SSL VPN客户端对应的资源访问报文,其中,所述资源访问报文携带有待访问资源的IP地址;
判断待访问资源的IP地址是否在所述资源列表中,当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,以使所述VPN客户端通过对所述数据报文解封装,获取所述数据报文中携带的待访问资源。
根据本发明实施例的第二方面,提供一种SSL VPN的IP接入的方法,所述方法应用于终端设备,其中,所述终端设备包括SSL VPN客户端和内置VPN客户端,所述方法包括:
所述SSL VPN客户端接收所述SSL VPN服务端发送的隧道配置信息,将所述隧道配置信息更新至所述内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息,与所述SSL VPN服务端建立隧道;
所述SSL VPN客户端获取所述内置VPN客户端的私网IP地址,向SSL VPN服务端发送所述私网IP地址,以使所述SSL VPN服务端储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
所述内置VPN客户端向所述SSL VPN服务端发送资源访问报文,其中所述资源访问报文携带有待访问资源的IP地址;
当所述SSL VPN服务端确认所述待访问资源的IP地址在所述资源列表时,所述内置VPN客户端接收所述SSL VPN服务端返回的数据报文,并通过对所述数据报文解封装,获取所述数据报文中携带的所述待访问资源。
根据本发明实施例的第三方面,提供一种SSL VPN的IP接入装置,所述装置应用于服务端,所述装置包括:
发送单元,用于向终端设备上的SSL VPN客户端发送隧道配置信息,以 使所述SSLVPN客户端将所述隧道配置信息更新至终端设备上的内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息与本地建立隧道;
第一接收单元,用于接收所述SSL VPN客户端发送的所述内置VPN客户端的私网IP地址,并储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射关系,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
第二接收单元,用于接收所述内置VPN客户端发送的针对与所述SSL VPN客户端对应的资源访问报文,其中,所述资源访问报文携带有待访问资源的IP地址;
判断单元,判断待访问资源的IP地址是否在所述资源列表中,当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,以使所述VPN客户端通过对所述数据报文解封装,获取所述数据报文中携带的待访问资源。
根据本发明实施例的第四方面,提供一种SSL VPN的IP接入装置,所述装置应用于终端设备,其中,所述终端设备包括SSL VPN客户端和内置VPN客户端,所述装置包括:
第一接收单元,用于所述SSL VPN客户端接收所述SSL VPN服务端发送的隧道配置信息,将所述隧道配置信息更新至所述内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息,与所述SSL VPN服务端建立隧道;
获取单元,用于所述SSL VPN客户端获取所述内置VPN客户端的私网IP地址,向SSLVPN服务端发送所述私网IP地址,以使所述SSL VPN服务端储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
发送单元,用于所述内置VPN客户端向所述SSL VPN服务端发送资源访问报文,其中所述资源访问报文携带有待访问资源的IP地址;
第二接收单元,用于当所述SSL VPN服务端确认所述待访问资源的IP地址在所述资源列表时,所述内置VPN客户端接收所述SSL VPN服务端返回的数 据报文,并通过对所述数据报文解封装,获取所述数据报文中携带的所述待访问资源。
SSL VPN客户端以IP接入方式访问所需IP资源时,SSL VPN客户端需要在终端设备上建立虚拟网卡,该虚拟网卡可以将目的地址为可访问资源的IP地址的报文转发给SSLVPN客户端,以使得SSL VPN客户端将报文封装后,再发送给SSL VPN服务端,从而实现以IP接入方式来访问内网资源。
然而,在一些安全性较高的系统中,例如iOS系统,SSL VPN客户端通常无法取得在终端设备上安装虚拟网卡的权限,一方面,由于没有虚拟网卡,所以上述SSL VPN客户端无法捕获到上述资源访问报文,因此无法实现对该资源访问报文的封装;另一方面,由于缺乏上述以虚拟网卡为出接口的路由信息,因此无法控制终端设备访问内网资源的权限;所以,基于上述两方面的原因,无法实现利用SSL VPN技术以IP接入的方式访问内网资源。
本发明实施例提出一种新的SSL VPN的IP接入方法,通过对现有的VPN报文传输过程的改进,SSL VPN客户端可以使终端设备上的内置VPN客户端与SSL VPN服务端建立隧道,SSL VPN服务端可以通过接收终端设备上的内置VPN客户端发送的经其封装后的资源访问报文,并可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,当待访问资源的IP地址在上述资源列表中时,SSL VPN服务端可以将从资源服务端接收的数据报文封装,并返回给上述内置VPN客户端。
一方面,由于SSL VPN服务端可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,来控制终端设备对资源的访问权限;
另一方面,由于上述内置VPN客户端与上述SSL VPN服务端建立了隧道,故可以实现对传输报文的加/解封装,因此可以实现上述虚拟网卡所具有的功能,从而可以实现在无权限建立虚拟网卡的系统中,以IP接入方式访问所需资源。
附图说明
图1是本申请一示例性实施例示出的一种SSL VPN的IP接入的方法的应用场景图;
图2A是本申请一示例性实施例示出的一种SSL VPN的IP接入的方法的流程图;
图2B是本申请一示例性实施例示出的另一种SSL VPN的IP接入的方法的流程图;
图3是本申请一示例性实施例示出的一种SSL VPN的IP接入的方法的交互图;
图4A是本申请一示例性实施例示出的一种SSL VPN的IP接入装置50所在设备的一种硬件结构图;
图4B是本申请一示例性实施例示出的一种SSL VPN的IP接入装置51所在设备的一种硬件结构图;
图5A是本申请一示例性实施例示出的一种SSL VPN的IP接入装置50的框图;
图5B是本申请一示例性实施例示出的一种SSL VPN的IP接入装置51的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述” 和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1所示,图1是本申请一示例性实施例示出的一种SSL VPN的IP接入的方法的应用场景图。
SSL VPN是以HTTPS为基础的VPN技术,它利用SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,来实现远程访问内网资源。
SSL VPN系统主要由终端设备,SSL VPN服务端以及资源服务端等组成。其中,上述终端设备主要是指那些管理员或者用户远程接入的终端设备,可以是手机,PC机,平板电脑等;上述SSL VPN服务端是SSL VPN系统中最重要的组成部分,它主要负责与终端设备之间建立SSL连接,负责报文传输的加密和解密工作,以保证报文在企业内网和终端设备之间传输的安全性;上述企业资源服务端可以是任意类型的服务器,如Web服务器,FTP服务器,也可以是内网中需要与远程接入用户进行通信的主机,主要用于提供终端设备所访问的内网资源。
在实际应用中,终端设备与SSL VPN服务端建立SSL连接,并以SSL加密的方式在Internet上传递报文。当SSL VPN服务端接收到上述报文时,SSL VPN服务端可以将该报文解封装,并且可以通过与资源服务端建立的TCP连接(TCP/WEB接入方式)或者通过直接IP转发(IP接入方式)的方式,将解封装后的报文转发给资源服务端,以使资源服务端基于接收到的报文,返回与之对应的携带有内网资源的数据报文。当接收到资源服务端返回的上述数据报文时,SSL VPN服务端可以将该数据报文封装,并将封装后的报文通过SSL连接 返回给终端设备。
上述报文在终端设备与SSL VPN服务端之间主要以密文形式进行传输,而在SSLVPN服务端与资源服务端之间主要以明文形式进行传输。
在相关的SSL VPN的IP接入机制中,管理员可以在SSL VPN服务端上创建用户和用户所能访问的内网资源的映射关系,并设定用户对资源的访问权限。当远程主机以IP接入方式来访问内网资源时,SSL VPN客户端可以在本地安装一个虚拟网卡。
在实现时,终端设备可以从SSL VPN服务端上下载SSL VPN客户端,该SSL VPN客户端可以在本地创建一块虚拟网卡,并可以与SSL VPN服务端建立SSL连接,并且还可以为虚拟网卡申请地址,并接收该SSL VPN服务端的IP地址、以虚拟网卡为出接口的路由信息和申请到的虚拟网卡的私网IP地址。其中,上述路由信息的目的地址为可访问资源的IP地址,出接口为上述虚拟网卡。
在终端设备访问内网资源时,终端设备可以基于路由信息,将针对内网资源的资源访问报文发送给虚拟网卡,虚拟网卡可以将该资源访问报文转发给SSL VPN客户端。SSLVPN客户端将该资源访问报文封装后,可以发送到SSL VPN服务端。SSL VPN服务端接收到该加密封装后的资源访问报文后,可以将该封装后的资源访问报文解封装,并将解封装后的资源访问报文发送给资源服务端,以使资源服务端基于该资源访问报文,返回与之对应的内网资源。
当SSL VPN服务端接收到资源服务端返回的携带有内网资源的数据报文时,SSLVPN服务端可以对该数据报文进行封装,并将封装后的数据报文发送给SSL VPN客户端,SSLVPN客户端收到上述数据报文后,可以将上述数据报文解封装,并通过虚拟网卡将上述数据报文发送给终端设备,以使该终端设备基于该数据报文,获取其所访问的内网资源。
然而在一些安全性较高的系统中,例如iOS系统,SSL VPN客户端通常无法取得在终端设备上安装虚拟网卡的权限,一方面,由于没有虚拟网卡,所以上述SSL VPN客户端无法捕获到上述资源访问报文,因此无法实现对该资源访问报文的封装;另一方面,由于缺乏上述以虚拟网卡为出接口的路由信息,因 此无法控制终端设备访问内网资源的权限;所以,基于上述两方面的原因,无法实现利用SSL VPN技术以IP接入的方式访问内网资源。
本发明实施例提出一种新的SSL VPN的IP接入方法,通过对现有的VPN报文传输过程的改进,SSL VPN客户端可以使终端设备上的内置VPN客户端与SSL VPN服务端建立隧道,SSL VPN服务端可以通过接收终端设备上的内置VPN客户端发送的经其封装后的资源访问报文,并可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,当待访问资源的IP地址在上述资源列表中时,SSL VPN服务端可以将从资源服务端接收的数据报文封装,并返回给上述内置VPN客户端。
一方面,由于SSL VPN服务端可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,来控制终端设备对资源的访问权限;
另一方面,由于上述内置VPN客户端与上述SSL VPN服务端建立了隧道,故可以实现对传输报文的加/解封装,因此可以实现上述虚拟网卡所具有的功能,从而可以实现在无权限建立虚拟网卡的系统中,以IP接入方式访问所需资源。
参见图2A,图2A是本申请一示例性实施例示出的一种SSL VPN的IP接入的方法的流程图,应用于SSL VPN服务端,主要包括以下步骤:
步骤201:向终端设备上的SSL VPN客户端发送隧道配置信息,以使所述SSL VPN客户端将所述隧道配置信息更新至终端设备上的内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息与本地建立隧道;
在SSL VPN技术中,SSL VPN客户端要与SSL VPN服务端建立SSL VPN隧道,通过该隧道,进行双方之间的信息传递。在双方通信过程中,SSL VPN客户端可以在本地终端设备上建立虚拟网卡,通过虚拟网卡,接收目的地址为可访问资源的IP地址的资源访问报文,并将该资源访问报文封装,再发送给上述SSL VPN服务端。当接收到数据报文时,也可以通过虚拟网卡将上述数据报文返回终端设备。
然而在一些安全性较高的系统中,例如iOS系统,SSL VPN客户端通常无法取得在终端设备上安装虚拟网卡的权限,所以无法将与SSL VPN服务端进行 传输的报文封装,也无法控制终端设备对上述资源的访问权限,因此无法实现以SSL VPN的IP接入方式来访问内网资源。
本实施例主要是解决在没有建立虚拟网卡权限的系统中,如何实现以SSL VPN的IP接入方式来访问内网资源。
在本实施例中,一方面,终端设备上的SSL VPN客户端可以将从SSL VPN服务端接收到的隧道配置信息,更新至内置VPN客户端,使得该内置VPN客户端与该SSL VPN服务端建立隧道,通过上述内置VPN客户端实现对报文的加/解封装;
另一方面,上述SSL VPN服务端可以基于待访问资源的IP地址是否在与SSL VPN客户端对应的资源列表中,来控制终端设备对该资源的访问权限,从而实现以SSL VPN的IP接入方式来访问内网资源。
在本实施例中,在SSL VPN客户端与SSL VPN服务端进行通信之前,要完成对通信双方的配置。
在实现时,上述SSL VPN服务端可以在本地配置终端设备上的SSL VPN客户端和内置VPN客户端的接入环境,例如,可以对SSL VPN客户端的地址池和内置VPN客户端的地址池进行配置,使得SSL VPN客户端的地址池与内置VPN客户端地址池在同一网段;还可以配置上述内置VPN客户端保护的网段是全网网段;可以配置内置VPN客户端与SSL VPN服务端建立隧道所需的隧道配置信息等。
当完成接入环境的配置后,当上述SSL VPN客户端在接收到用户输入的用户名和密码之后,可以将该用户名和密码发送给上述SSL VPN服务端。SSL VPN服务端可以对接收到的用户名和密码进行验证,当验证成功后,可以向SSL VPN客户端返回隧道配置信息。SSLVPN客户端将接收到的隧道配置信息更新至内置VPN客户端,使得上述内置VPN客户端与上述SSL VPN服务端建立隧道。
其中,上述终端设备包括SSL VPN客户端和内置VPN客户端。
其中,隧道配置信息可以包括,服务器信息、账户和密码信息以及密钥信息等。
上述内置VPN客户端为终端设备中内置的VPN客户端,可以包括IKEv2VPN客户端、IPSec VPN客户端、L2TP VPN客户端和PPTP VPN客户端中的任一。
上述终端设备的系统为安全性更高的系统,在该系统中,SSL VPN客户端通常无法取得在终端设备上安装虚拟网卡的权限,该系统可以是iOS系统等。
步骤202:接收所述SSL VPN客户端发送的所述内置VPN客户端的私网IP地址,并储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射关系,其中,所述资源列表记录了所述终端设备可访问资源的IP地址。
在本实施例中,由于本实施例的SSL VPN客户端是通过终端设备上的内置VPN客户端与SSL VPN服务端建立隧道,因此报文的传输都是通过内置VPN隧道进行传输,然而该内置VPN隧道的入口或者出口没有对SSL VPN客户端的可访问资源权限的控制功能,所以,为了实现该功能,可以在SSL VPN服务端上,将与SSL VPN客户端对应的资源列表与内置VPN客户端的私网IP的映射关系进行储存,将与SSL VPN客户端对应的资源列表下发给内置VPN隧道的出口(即SSL VPN服务端),通过该出口控制终端设备访问资源的权限。
在实现时,SSL VPN客户端可以获取上述内置VPN服务端的私网IP地址,并将该私网IP地址发送给SSL VPN服务端。SSL VPN服务端可以基于从SSL VPN客户端接收到的用户名,查找与用户名对应的资源列表,并将上述私网IP地址与该资源列表的映射关系进行储存。
在本实施例中,在SSL VPN客户端可以获取上述内置VPN客户端的私网IP地址时,SSL VPN客户端可以通过getifaddrs()函数获取上述内置VPN客户端的私网IP地址。
在实现时,SSL VPN客户端可以通过getifaddrs()函数获取终端设备上所有活动网卡的网卡信息,当获取到网卡类型为utun的网卡信息时,将该网卡的IP地址发送给SSLVPN服务端,其中,该utun网卡的IP地址为上述内置VPN客户端的私网IP地址。
步骤203:接收所述内置VPN客户端发送的针对与所述SSL VPN客户端对 应的资源访问报文,其中,所述资源访问报文携带有待访问资源的IP地址。
在本实施例中,SSL VPN客户端主要负责将接收到的隧道配置信息更新至内置VPN客户端,使得该内置VPN客户端与SSL VPN服务端建立隧道。还负责向SSL VPN服务端发送内置VPN的私网IP地址等信息,使得SSL VPN服务端建立上述私网IP地址和与SSL VPN客户端对应的资源列表的映射关系。
而内置VPN服务端主要用于与SSL VPN服务端建立隧道,并通过该隧道,与内置VPN服务端进行通信,以获取所需内网资源。
在实现时,上述内置VPN客户端可以对资源访问报文进行封装,并将该封装后的报文都发送给SSL VPN服务端。
步骤204:判断待访问资源的IP地址是否在所述资源列表中,当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,以使所述VPN客户端通过对所述数据报文解封装,获取所述数据报文中携带的待访问资源。
在本实施例中,由于SSL VPN客户端无法在该系统中建立虚拟网卡,使得终端设备无法获得以虚拟网卡出接口的路由信息,因此无法控制终端设备对资源的访问权限。而本实施例中的SSL VPN服务端可以通过判断待访问资源的IP地址是否在与SSL VPN客户端对应的资源列表中,来控制终端设备对于SSL VPN客户端对应的资源的访问权限。
在实现时,SSL VPN服务端可以通过上述资源访问报文控制终端设备的资源访问权限,也可以通过返回的数据报文控制终端设备的资源访问权限。
在SSL VPN服务端通过上述资源访问报文控制终端设备的资源访问权限时,在实现时,上述SSL VPN服务端可以通过将从上述内置VPN客户端接收的资源访问报文解封装,从解封装后的资源访问报文中获取该报文的目的IP地址,并可以判断该目的IP地址是否在上述资源列表中,当该目的IP地址在资源列表中,则可以将上述解封装后的资源访问报文转发给资源服务端。资源服务端可以查找与资源访问报文对应的资源。当上述资源列表中未存在上述目的IP地址时,SSL VPN服务端则可以将上述原资源访问报文丢弃。
SSL VPN可以接收上述资源服务端返回的数据报文,并可以对该数据报文封装,将封装后的数据报文发送给上述内置VPN客户端,以使该内置VPN客户端通过对该数据报文解封装,获取数据报文中携带的待访问资源。
SSL VPN服务端不仅可以通过上述资源访问报文,控制终端设备的资源访问权限时,还可以通过返回的数据报文控制终端设备的资源访问权限。
在实现时,SSL VPN服务端可以接收到上述内置VPN客户端发送的资源访问报文,并可以将该资源访问报文解封装,并将解封装后的资源访问报文发送给上述资源服务端,以使资源服务端基于解封装后的资源访问报文查找与之对应的待访问资源。
SSL VPN服务端可以接收该资源服务端发送的数据报文,检查该数据报文的源IP地址是否在上述资源列表中,当该数据报文的源IP地址在上述资源列表中,则将该数据报文封装,并可以将封装后的数据报文发送给上述内置VPN客户端。内置VPN客户端可以通过将该数据报文解封装,来获取数据报文中携带的待访问资源。当该资源列表中未存在该源IP地址,则将该数据报文丢弃。
本发明实施例提出一种新的SSL VPN的IP接入方法,通过对现有的VPN报文传输过程的改进,SSL VPN客户端可以使终端设备上的内置VPN客户端与SSL VPN服务端建立隧道,SSL VPN服务端可以通过接收终端设备上的内置VPN客户端发送的经其封装后的资源访问报文,并可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,当待访问资源的IP地址在上述资源列表中时,SSL VPN服务端可以将从资源服务端接收的数据报文封装,并返回给上述内置VPN客户端。
一方面,由于SSL VPN服务端可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,来控制终端设备对资源的访问权限;
另一方面,由于上述内置VPN客户端与上述SSL VPN服务端建立了隧道,故可以实现对传输报文的加/解封装,因此可以实现上述虚拟网卡所具有的功能,从而可以实现在无权限建立虚拟网卡的系统中,以IP接入方式访问所需资源。
参见图2B,图2B是本申请一示例性实施例示出的一种SSL VPN的IP接 入的方法的流程图,应用于终端设备,包括以下步骤:
步骤211:所述SSL VPN客户端接收所述SSL VPN服务端发送的隧道配置信息,将所述隧道配置信息更新至所述内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息,与所述SSL VPN服务端建立隧道。
在SSL VPN技术中,SSL VPN客户端要与SSL VPN服务端建立SSL VPN隧道,通过该隧道,进行双方之间的信息传递。在双方通信过程中,SSL VPN客户端可以在本地终端设备上建立虚拟网卡,通过虚拟网卡,接收目的地址为可访问资源的IP地址的资源访问报文,并将该资源访问报文封装,再发送给上述SSL VPN服务端。当接收到数据报文时,也可以通过虚拟网卡将上述数据报文返回终端设备。
然而在一些安全性较高的系统中,例如iOS系统,SSL VPN客户端通常无法取得在终端设备上安装虚拟网卡的权限,所以无法将与SSL VPN服务端进行传输的报文封装,也无法控制终端设备对上述资源的访问权限,因此无法实现以SSL VPN的IP接入方式来访问内网资源。
本实施例主要是解决在没有建立虚拟网卡权限的系统中,如何实现以SSL VPN的IP接入方式来访问内网资源。
在本实施例中,一方面,终端设备上的SSL VPN客户端可以将从SSL VPN服务端接收到的隧道配置信息,更新至内置VPN客户端,使得该内置VPN客户端与该SSL VPN服务端建立隧道,通过上述内置VPN客户端实现对报文的加/解封装;
另一方面,上述SSL VPN服务端可以基于待访问资源的IP地址是否在与SSL VPN客户端对应的资源列表中,来控制终端设备对该资源的访问权限,从而实现以SSL VPN的IP接入方式来访问内网资源。
在本实施例中,在SSL VPN客户端与SSL VPN服务端进行通信之前,要完成对通信双方的配置。
在实现时,上述SSL VPN服务端可以在本地配置终端设备上的SSL VPN客户端和内置VPN客户端的接入环境,例如,可以对SSL VPN客户端的地址 池和内置VPN客户端的地址池进行配置,使得SSL VPN客户端的地址池与内置VPN客户端地址池在同一网段;还可以配置上述内置VPN客户端保护的网段是全网网段;可以配置内置VPN客户端与SSL VPN服务端建立隧道所需的隧道配置信息等。
当完成接入环境的配置后,当上述SSL VPN客户端接收到用户输入的用户名和密码之后,可以将该用户名和密码发送给上述SSL VPN服务端。SSL VPN服务端可以对接收到的用户名和密码进行验证,当验证成功后,可以向SSL VPN客户端返回隧道配置信息。SSLVPN客户端将接收到的隧道配置信息更新至内置VPN客户端,使得上述内置VPN客户端与上述SSL VPN服务端建立隧道。
其中,上述终端设备包括SSL VPN客户端和内置VPN客户端。
其中,隧道配置信息可以包括,服务器信息、账户和密码信息以及密钥信息等。
上述内置VPN客户端为终端设备中内置的VPN客户端,可以包括IKEv2VPN客户端、IPSec VPN客户端、L2TP VPN客户端和PPTP VPN客户端中的任一。
上述终端设备的系统为安全性更高的系统,在该系统中,SSL VPN客户端通常无法取得在终端设备上安装虚拟网卡的权限,该系统可以是iOS系统等。
步骤212:所述SSL VPN客户端获取所述内置VPN客户端的私网IP地址,向SSL VPN服务端发送所述私网IP地址,以使所述SSL VPN服务端储存所述私网IP地址和与所述SSLVPN客户端对应的资源列表的映射,其中,所述资源列表记录了所述终端设备可访问资源的IP地址。
在本实施例中,由于本实施例的SSL VPN客户端是通过终端设备上的内置VPN客户端与SSL VPN服务端建立隧道,因此报文的传输都是通过内置VPN隧道进行传输,然而该内置VPN隧道的入口或者出口没有对SSL VPN客户端的可访问资源权限的控制功能,所以,为了实现该功能,可以在SSL VPN服务端上,将SSL VPN客户端的资源列表与内置VPN客户端的私网IP的映射关系进行储存,将与SSL VPN客户端对应的资源列表下发给内置VPN隧道的出口 (即SSL VPN服务端),通过该出口控制终端设备访问资源的权限。
在实现时,SSL VPN客户端可以获取上述内置VPN服务端的私网IP地址,并将该私网IP地址发送给SSL VPN服务端。SSL VPN服务端可以基于从SSL VPN客户端接收到的用户名,查找与用户名对应的资源列表,并将上述私网IP地址与该资源列表的映射关系进行储存。
在本实施例中,在SSL VPN客户端可以获取上述内置VPN客户端的私网IP地址时,SSL VPN客户端可以通过getifaddrs()函数获取上述内置VPN客户端的私网IP地址。
在实现时,SSL VPN客户端可以通过getifaddrs()函数获取终端设备上所有活动网卡的网卡信息,当获取到网卡类型为utun的网卡信息时,将该网卡的IP地址发送给SSLVPN服务端,其中,该utun网卡的IP地址为上述内置VPN客户端的私网IP地址。
步骤213:所述内置VPN客户端向所述SSL VPN服务端发送资源访问报文,其中所述资源访问报文携带有待访问资源的IP地址;
在本实施例中,SSL VPN客户端主要负责向内置VPN客户端发送用于其与SSL VPN服务端建立隧道的配置信息,还负责向SSL VPN发送用户名、密码和内置VPN的私网IP地址等信息,使得SSL VPN服务端通过用户名查找资源列表,并建立内置VPN的私网IP地址与该资源列表的映射关系。
而上述内置VPN服务端主要用于与SSL VPN服务端建立隧道,并通过该隧道,与内置VPN服务端建进行通信,以获取所需内网资源。
在实现时,上述内置VPN客户端可以对资源访问报文加密封装,并将该加密封装之后的报文都发送给SSL VPN服务端。
步骤214:当所述SSL VPN服务端确认所述待访问资源的IP地址在所述资源列表时,所述内置VPN客户端接收所述SSL VPN服务端返回的数据报文,并通过对所述数据报文解封装,获取所述数据报文中携带的待访问资源。
在本实施例中,由于SSL VPN客户端无法在该系统中建立虚拟网卡,使得终端设备无法获得以虚拟网卡出接口的路由信息,因此无法控制终端设备 对资源的访问权限。而本实施例中的SSL VPN服务端可以通过判断待访问资源的IP地址是否在与SSL VPN客户端对应的资源列表中,来控制终端设备对于SSL VPN客户端对应的资源的访问权限。
在实现时,SSL VPN服务端可以通过上述资源访问报文控制终端设备的资源访问权限,也可以通过数据报文控制终端设备的资源访问权限。
在SSL VPN服务端通过上述资源访问报文控制终端设备的资源访问权限时,在实现时,所述内置VPN客户端将资源访问报文封装后发送至SSL VPN服务端,上述SSL VPN服务端可以通过将从上述内置VPN客户端接收的资源访问报文解封装,从解封装后的资源访问报文中获取该报文的目的IP地址,并可以判断该目的IP地址是否在上述资源列表中,当目的IP地址在资源列表中,则可以将上述解封装后的资源访问报文转发给资源服务端,以使资源服务端基于该资源访问报文查找与之对应的资源。当上述资源列表中未存在上述目的IP地址,SSL VPN服务端则可以将上述原资源访问报文丢弃。
SSL VPN服务端可以接收上述资源服务端返回的数据报文,并可以对该数据报文加密封装,将加密封装后的数据报文发送给上述内置VPN客户端。该内置VPN客户端通过将接收的数据报文解封装,获取上述数据报文中携带的资源。
SSL VPN服务端不仅可以通过上述的资源访问报文控制终端设备的资源访问权限时,还可以通过数据报文控制终端设备的资源访问权限。
在实现时,SSL VPN服务端可以接收到上述内置VPN客户端发送的资源访问报文,并可以将该资源访问报文解封装,并可以将解封装后的原资源访问报文发送给上述资源服务端,以使资源服务端基于该原资源访问报文查找与之对应的资源。
SSL VPN服务端可以接收该资源服务端发送的数据报文,检查该数据报文的源IP地址是否在上述资源列表中,当该数据报文的源IP地址在上述资源列表中,则将该数据报文封装,并可以将封装后的数据报文发送给上述内置VPN客户端。该内置VPN客户端通过将接收的数据报文解封装,获取上述数据报文中携带的资源。当该资源列表中未存在该源IP地址,则将该数据报文丢弃。
本发明实施例提出一种新的SSL VPN的IP接入方法,通过对现有的VPN报文传输过程的改进,SSL VPN客户端可以使终端设备上的内置VPN客户端与SSL VPN服务端建立隧道,SSL VPN服务端可以通过接收终端设备上的内置VPN客户端发送的经其封装后的资源访问报文,并可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,当待访问资源的IP地址在上述资源列表中时,SSL VPN服务端可以将从资源服务端接收的数据报文封装,并返回给上述内置VPN客户端。
一方面,由于SSL VPN服务端可以判断待访问资源的IP地址是否在与上述SSL VPN客户端对应的资源列表中,来控制终端设备对资源的访问权限;
另一方面,由于上述内置VPN客户端与上述SSL VPN服务端建立了隧道,故可以实现对传输报文的加/解封装,因此可以实现上述虚拟网卡所具有的功能,从而可以实现在无权限建立虚拟网卡的系统中,以IP接入方式访问所需资源。
以下以上述内置VPN客户端为IPSec VPN客户端,以终端设备系统为iOS系统为例,对上述实施例的技术方案进行详细描述
参见图3,图3是本申请一示例性实施例示出的另一种SSL VPN的IP接入的方法的交互图,具体步骤如下:
步骤301:SSL VPN服务端配置SSL VPN客户端和IPSec VPN客户端的接入环境。
在SSL VPN技术中,SSL VPN客户端要与SSL VPN服务端建立SSL VPN隧道,通过该隧道,进行双方之间的信息传递。在双方通信过程中,SSL VPN客户端可以在本地终端设备上建立虚拟网卡,通过虚拟网卡,接收目的地址为可访问资源的IP地址的资源访问报文,并将该资源访问报文封装,再发送给上述SSL VPN服务端。当接收到数据报文时,也可以通过虚拟网卡将上述数据报文返回终端设备。
然而在一些安全性较高的系统中,例如iOS系统,SSL VPN客户端通常无法取得在终端设备上安装虚拟网卡的权限,所以无法将与SSL VPN服务端进行传输的报文封装,也无法控制终端设备对上述资源的访问权限,因此无法实现 以SSL VPN的IP接入方式来访问内网资源。
本实施例主要是解决在没有建立虚拟网卡权限的系统中,如何实现以SSL VPN的IP接入方式来访问内网资源。
在本实施例中,一方面,终端设备上的SSL VPN客户端可以将从SSL VPN服务端接收到的隧道配置信息,更新至IPSec VPN客户端,使得该IPSec VPN客户端与该SSL VPN服务端建立隧道,通过上述IPSec VPN客户端实现对报文的加/解封装;
另一方面,上述SSL VPN服务端可以基于待访问资源的IP地址是否在与SSL VPN客户端对应的资源列表中,来控制终端设备对该资源的访问权限,从而实现以SSL VPN的IP接入方式来访问内网资源。
在本实施例中,在SSL VPN客户端与SSL VPN服务端进行通信之前,要完成对通信双方的配置。
在实现时,上述SSL VPN服务端可以在本地配置终端设备上的SSL VPN客户端和IPSec VPN客户端的接入环境,例如,可以对SSL VPN客户端的地址池和IPSec VPN客户端的地址池进行配置,使得SSL VPN客户端的地址池与IPSec VPN客户端地址池在同一网段;还可以配置上述IPSec VPN客户端保护的网段是全网网段;可以配置IPSec VPN客户端与SSLVPN服务端建立隧道所需的隧道配置信息等。
其中,上述终端设备包括SSL VPN客户端和IPSec VPN客户端。
其中,隧道配置信息可以包括,服务器信息、账户和密码信息以及密钥信息等。
步骤302:SSL VPN客户端向SSL VPN服务端发送用户名、密码。
步骤303:SSL VPN服务端验证用户名和密码信息。
步骤304:当验证成功后,SSL VPN服务端向SSL VPN客户端返回隧道信息。
步骤305:SSL VPN客户端将隧道配置信息更新至IPSec VPN客户端。
在本实施例中,SSL VPN客户端,一方面,可以将从SSL VPN服务端接收 的隧道配置信息发送给IPSec VPN客户端,使得IPSec VPN客户端与SSL VPN服务端建立隧道。另一方面,SSL VPN客户端可以将IPSec VPN客户端的私网IP地址发送给SSL VPN服务端,该SSLVPN服务接收到地址后,将该私网IP地址和与SSL VPN客户端对应的资源列表的映射关系进行储存,以此来控制终端设备对SSL VPN客户端对应的资源的访问权限。
在实现时,当完成接入环境的配置后,在接收到上述SSL VPN客户端在接收到用户输入的用户名和密码之后,SSL VPN客户端可以将该用户名和密码发送给上述SSL VPN服务端。SSL VPN服务端可以对接收到的用户名和密码进行验证,当验证成功后,可以向SSL VPN客户端返回隧道配置信息。SSL VPN客户端将接收到的隧道配置信息更新至IPSec VPN客户端,使得上述IPSec VPN客户端与上述SSL VPN服务端建立隧道。
步骤306:SSL VPN客户端将IPSec VPN客户端的私网IP地址发送给SSL VPN服务端。
步骤307:SSL VPN服务端基于用户名查找资源列表。
步骤308:SSL VPN服务端储存资源列表与私网IP地址的映射。
在本实施例中,由于本实施例的SSL VPN客户端是通过终端设备上的IPSec VPN客户端与SSL VPN服务端建立隧道,因此报文的传输都是通过IPSec VPN隧道进行传输,然而该IPSec VPN隧道的入口或者出口没有对SSL VPN客户端的可访问资源权限的控制功能,所以,为了实现该功能,可以在SSL VPN服务端上,将SSL VPN客户端的资源列表与IPSec VPN客户端的私网IP地址的映射关系进行储存,将与SSL VPN客户端对应的资源列表下发给IPSec VPN隧道的出口(即SSL VPN服务端),通过该出口控制终端设备访问与SSL VPN客户端对应的资源的访问权限。
SSL VPN客户端不仅可以将从SSL VPN服务端接收的隧道配置信息发送给IPSecVPN客户端,使得IPSec VPN客户端与SSL VPN服务端建立隧道;还可以将IPSec VPN客户端的私网IP地址发送给SSL VPN服务端,该SSL VPN服务接收到地址后,会将该私网IP地址和与SSL VPN客户端对应的资源列表的映 射关系进行储存,以此来控制终端设备对SSL VPN客户端对应的资源的访问权限。
在实现时,SSL VPN客户端可以获取上述IPSec VPN服务端的私网IP地址,并将该私网IP地址发送给SSL VPN服务端。SSL VPN服务端可以基于从SSL VPN客户端接收到的用户名,查找与用户名对应的资源列表,并将上述私网IP地址与该资源列表的映射关系进行储存。
在本实施例中,在SSL VPN客户端可以获取上述IPSec VPN客户端的私网IP地址时,SSL VPN客户端可以通过getifaddrs()函数获取上述IPSec VPN客户端的私网IP地址。
在实现时,SSL VPN客户端可以通过getifaddrs()函数获取终端设备上所有活动网卡的网卡信息,当获取到网卡类型为utun的网卡信息时,将该网卡的IP地址发送给SSLVPN服务端,其中,该utun网卡的IP地址为上述IPSec VPN客户端的私网IP地址。
其中,所述资源列表为与SSL VPN客户端对应的资源列表。
其中,SSL VPN服务端接收SSL VPN客户端发送的用户名、密码和私网IP地址,不受时序限制。SSL VPN服务端向SSL VPN客户端发送隧道配置信息以及储存私网IP地址和资源列表的映射关系,也不受时序限制。
步骤309:IPSec VPN客户端向SSL VPN服务端发送经过本地封装的资源访问报文。
在本实施例中,IPSec VPN客户端主要负责与SSL VPN服务端建立隧道,并基于该隧道,完成双方之间的数据传输。
在实现时,上述内置VPN客户端可以对资源访问报文封装,并将该封装后的报文都发送给SSL VPN服务端。
步骤310:SSL VPN服务端将资源访问报文解封装。
步骤311:SSL VPN服务端将解封装后的原资源访问报文转发给资源服务端。
步骤312:资源服务端返回数据报文。
步骤313:SSL VPN服务端判断数据报文的源IP地址是否在资源列表中。
步骤314:当数据报文的源IP地址在资源列表中,SSL VPN服务端将该数据报文封装。
步骤315:当资源列表中未存在该数据报文的源IP地址,SSL VPN服务端将该数据报文丢弃。
在本实施例中,由于SSL VPN客户端无法在该系统中建立虚拟网卡,使得SSL VPN客户端端无法建立以虚拟网卡出接口的路由信息,因此无法控制终端设备对资源的访问权限。而本实施例中的SSL VPN服务端可以通过判断待访问资源的IP地址是否在与SSL VPN客户端对应的资源列表中,来控制终端设备对于SSL VPN客户端对应的资源的访问权限。
在实现时,SSL VPN服务端可以接收到上述IPSec VPN客户端发送的资源访问报文,并可以将该资源访问报文解封装,并将解封装后的资源访问报文发送给上述资源服务端,以使资源服务端基于解封装后的资源访问报文查找与之对应的资源。
SSL VPN服务端可以接收该资源服务端发送的数据报文,检查该数据报文的源IP地址是否在上述资源列表中,当该数据报文的源IP地址在上述资源列表中,则执行步骤314,将该数据报文封装,并可以将封装后的数据报文发送给上述IPSec VPN客户端。IPSecVPN客户端可以通过将该数据报文解封装,来获取数据报文中携带的待访问资源。当该资源列表中未存在该源IP地址,SSL VPN服务端则可以执行步骤315,将该数据报文丢弃。
当然,SSL VPN服务端不仅可以通过上述数据报文,控制终端设备的资源访问权限时,还可以通过接收的资源访问报文,控制终端设备的资源访问权限。
在SSL VPN服务端通过上述资源访问报文控制终端设备的资源访问权限时,在实现时,上述SSL VPN服务端可以通过将从上述IPSec VPN客户端接收的资源访问报文解封装,从解封装后的资源访问报文中获取该报文的目的IP地址,并可以判断该目的IP地址是否在上述资源列表中,当该目的IP地址在资源列表中,则可以将上述解封装后的资源访问报文转发给资源服务端。资源服务端可 以查找与资源访问报文对应的资源。当上述资源列表中未存在上述目的IP地址时,SSL VPN服务端则可以将上述原资源访问报文丢弃。
SSL VPN可以接收上述资源服务端返回的数据报文,并可以对该数据报文封装,将封装后的数据报文发送给上述IPSec VPN客户端,以使该IPSec VPN客户端通过对该数据报文解封装,获取数据报文中携带的待访问资源。
步骤316:SSL VPN服务端向IPSec VPN客户端返回封装后的数据报文。
步骤317:IPSec VPN客户端将数据报文解封装,获取数据报文中携带的待访问资源。
在本实施例中,当SSL VPN服务端确定待访问资源的IP地址在资源列表中后,SSLVPN服务端向IPSec VPN客户端返回封装后的数据报文。IPSec VPN客户端可以将该封装后的数据报文解封装,获取上述数据报文中携带的待访问资源。
本发明实施例提出一种新的SSL VPN的IP接入方法,通过对现有的VPN报文传输过程的改进,SSL VPN客户端可以使终端设备上的IPSec VPN客户端与SSL VPN服务端建立隧道,SSL VPN服务端可以通过接收终端设备上的IPSec VPN客户端发送的经其封装后的资源访问报文,并可以判断待访问资源的IP地址是否在资源列表中,当确定待访问资源的IP地址在上述资源列表中时,SSL VPN服务端可以将从资源服务端接收的数据报文封装,并返回给上述IPSec VPN客户端。
一方面,由于SSL VPN服务端可以判断待访问资源的IP地址是否在资源列表中,来控制终端设备对资源的访问权限;
另一方面,由于上述IPSec VPN客户端与上述SSL VPN服务端建立了隧道,故可以实现对传输报文的封装和解封装,因此可以实现上述虚拟网卡所具有的功能,从而可以实现在无权限建立虚拟网卡的系统中,以IP接入方式访问所需资源。
与前述SSL VPN的IP接入方法的实施例相对应,本申请还提供了SSL VPN的IP接入装置50的实施例。
本申请SSL VPN的IP接入装置50的实施例可以应用在服务端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4A所示,为本申请SSL VPN的IP接入装置50所在服务端的一种硬件结构图,除了图4A所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务端通常根据该SSL VPN的IP接入的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5A,图5A是本申请一示例性实施例示出的一种SSL VPN的IP接入装置50的框图,所述装置应用于服务端上,包括发送单元501、第一接收单元502、第二接收单元503和判断单元504。
其中,发送单元501,用于向终端设备上的SSL VPN客户端发送隧道配置信息,以使所述SSL VPN客户端将所述隧道配置信息更新至终端设备上的内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息与本地建立隧道;
第一接收单元502,用于接收所述SSL VPN客户端发送的所述内置VPN客户端的私网IP地址,并储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射关系,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
第二接收单元503,用于接收所述内置VPN客户端发送的针对与所述SSL VPN客户端对应的资源访问报文,其中,所述资源访问报文携带有待访问资源的IP地址;
判断单元504,用于判断待访问资源的IP地址是否在所述资源列表中,当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,以使所述VPN客户端通过对所述数据报文解封装,获取所述数据报文中携带的待访问资源。
在一个可选的实现方式中:
上述装置的判断单元504,还包括:解封装子单元,用于将所述资源访问报 文解封装;转发子单元,用于将解封装后的所述资源访问报文转发给所述资源服务端,以使所述资源服务端查找与所述资源访问报文对应的待访问资源;接收子单元,用于接收所述资源服务端返回的携带查找到的所述待访问资源的数据报文;判断子单元,用于判断所述数据报文的源IP地址是否在所述资源列表中;封装子单元,用于当所述数据报文的源IP地址在所述资源列表中,将从所述资源服务端接收的所述数据报文封装;返回子单元,用于将封装后的所述数据报文返回给所述内置VPN客户端。
在另一个可选的实现方式中:
上述装置的判断单元504,还包括:解封装子单元,用于将所述资源访问报文解封装;判断子单元,用于判断所述资源访问报文的目的IP地址是否在所述资源列表中;转发子单元,用于当所述资源访问报文的目的IP地址在所述资源列表中,向所述资源服务端转发解封装后的资源访问报文,以使所述资源服务端基于所述解封装后的资源访问报文,查找与之对应的所述待访问资源;接收子单元,用于接收所述资源服务端返回的携带查找到的所述待访问资源的数据报文;封装子单元,用于对所述数据报文进行封装;返回子单元,用于将所述封装后的数据报文返回所述内置VPN客户端。
与前述SSL VPN的IP接入方法的实施例相对应,本申请还提供了SSL VPN的IP接入装置51的实施例。
本申请SSL VPN的IP接入装置51的实施例可以应用在客户端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在客户端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4B所示,为本申请SSL VPN的IP接入装置51所在服务端的一种硬件结构图,除了图4B所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务端通常根据该SSL VPN的IP接入的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5B,图5B是本申请一示例性实施例示出的一种SSL VPN的IP 接入装置51的框图,所述装置应用于服务端上,包括:第一接收单元511、获取单元512、发送单元513和第二接收单元514。
其中,第一接收单元511,用于所述SSL VPN客户端接收所述SSL VPN服务端发送的隧道配置信息,将所述隧道配置信息更新至所述内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息,与所述SSL VPN服务端建立隧道;
获取单元512,用于所述SSL VPN客户端获取所述内置VPN客户端的私网IP地址,向SSL VPN服务端发送所述私网IP地址,以使所述SSL VPN服务端储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
发送单元513,用于所述内置VPN客户端向所述SSL VPN服务端发送资源访问报文,其中所述资源访问报文携带有待访问资源的IP地址;
第二接收单元514,用于当所述SSL VPN服务端确认所述待访问资源的IP地址在所述资源列表时,所述内置VPN客户端接收所述SSL VPN服务端返回的数据报文,并通过对所述数据报文解封装,获取所述数据报文中携带的所述待访问资源。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申 请保护的范围之内。
Claims (10)
1.一种SSL VPN的IP接入方法,其特征在于,所述方法应用于SSL VPN服务端,包括:
向终端设备上的SSL VPN客户端发送隧道配置信息,以使所述SSL VPN客户端将所述隧道配置信息更新至终端设备上的内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息与本地建立隧道;
接收所述SSL VPN客户端发送的所述内置VPN客户端的私网IP地址,并储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射关系,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
接收所述内置VPN客户端发送的针对与所述SSL VPN客户端对应的资源访问报文,其中,所述资源访问报文携带有待访问资源的IP地址;
判断待访问资源的IP地址是否在所述资源列表中,当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,以使所述内置VPN客户端通过对所述数据报文解封装,获取所述数据报文中携带的待访问资源。
2.根据权利要求1所述的方法,其特征在于,所述判断待访问资源的IP地址是否在所述资源列表中,包括:
将所述资源访问报文解封装;
将解封装后的所述资源访问报文转发给资源服务端,以使所述资源服务端查找与所述资源访问报文对应的待访问资源;
接收所述资源服务端返回的携带查找到的所述待访问资源的数据报文;
判断所述数据报文的源IP地址是否在所述资源列表中;
当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,包括:
当所述数据报文的源IP地址在所述资源列表中,将从所述资源服务端接收的所述数据报文封装;
将封装后的所述数据报文返回给所述内置VPN客户端。
3.根据权利要求1所述的方法,其特征在于,所述判断待访问资源的IP地址是否在所述资源列表中,包括:
将所述资源访问报文解封装;
判断所述资源访问报文的目的IP地址是否在所述资源列表中;
所述当待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,包括:
当所述资源访问报文的目的IP地址在所述资源列表中,向资源服务端转发解封装后的资源访问报文,以使所述资源服务端基于所述解封装后的资源访问报文,查找与之对应的所述待访问资源;
接收所述资源服务端返回的携带查找到的所述待访问资源的数据报文;
对所述数据报文进行封装;
将所述封装后的数据报文返回所述内置VPN客户端。
4.一种SSL VPN的IP接入方法,其特征在于,所述方法应用于终端设备,其中,所述终端设备包括SSL VPN客户端和内置VPN客户端,所述方法包括:
所述SSL VPN客户端接收所述SSL VPN服务端发送的隧道配置信息,将所述隧道配置信息更新至所述内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息,与所述SSLVPN服务端建立隧道;
所述SSL VPN客户端获取所述内置VPN客户端的私网IP地址,向SSL VPN服务端发送所述私网IP地址,以使所述SSL VPN服务端储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
所述内置VPN客户端向所述SSL VPN服务端发送资源访问报文,其中所述资源访问报文携带有待访问资源的IP地址;
当所述SSL VPN服务端确认所述待访问资源的IP地址在所述资源列表时,所述内置VPN客户端接收所述SSL VPN服务端返回的数据报文,并通过对所述数据报文解封装,获取所述数据报文中携带的所述待访问资源。
5.根据权利要求4所述的方法,其特征在于,所述内置VPN客户端,包括IKEv2 VPN客户端、IPSec VPN客户端、L2TP VPN客户端和PPTP VPN客户端中的任一。
6.一种SSL VPN的IP接入装置,所述装置应用于服务端,其特征在于,所述装置包括:
发送单元,用于向终端设备上的SSL VPN客户端发送隧道配置信息,以使所述SSL VPN客户端将所述隧道配置信息更新至终端设备上的内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息与本地建立隧道;
第一接收单元,用于接收所述SSL VPN客户端发送的所述内置VPN客户端的私网IP地址,并储存所述私网IP地址和与所述SSL VPN客户端对应的资源列表的映射关系,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
第二接收单元,用于接收所述内置VPN客户端发送的针对与所述SSL VPN客户端对应的资源访问报文,其中,所述资源访问报文携带有待访问资源的IP地址;
判断单元,判断待访问资源的IP地址是否在所述资源列表中,当所述待访问资源的IP地址在所述资源列表中,向所述内置VPN客户端返回经过本地封装的数据报文,以使所述内置VPN客户端通过对所述数据报文解封装,获取所述数据报文中携带的待访问资源。
7.根据权利要求6所述的装置,其特征在于,所述判断单元包括:
解封装子单元,用于将所述资源访问报文解封装;
转发子单元,用于将解封装后的所述资源访问报文转发给资源服务端,以使所述资源服务端查找与所述资源访问报文对应的待访问资源;
接收子单元,用于接收所述资源服务端返回的携带查找到的所述待访问资源的数据报文;
判断子单元,用于判断所述数据报文的源IP地址是否在所述资源列表中;
封装子单元,用于当所述数据报文的源IP地址在所述资源列表中,将从所述资源服务端接收的所述数据报文封装;
返回子单元,用于将封装后的所述数据报文返回给所述内置VPN客户端。
8.根据权利要求6所述的装置,其特征在于,所述判断单元包括:
解封装子单元,用于将所述资源访问报文解封装;
判断子单元,用于判断所述资源访问报文的目的IP地址是否在所述资源列表中;
转发子单元,用于当所述资源访问报文的目的IP地址在所述资源列表中,向资源服务端转发解封装后的资源访问报文,以使所述资源服务端基于所述解封装后的资源访问报文,查找与之对应的所述待访问资源;
接收子单元,用于接收所述资源服务端返回的携带查找到的所述待访问资源的数据报文;
封装子单元,用于对所述数据报文进行封装;
返回子单元,用于将所述封装后的数据报文返回所述内置VPN客户端。
9.一种SSL VPN的IP接入装置,所述装置应用于终端设备,其中,所述终端设备包括SSLVPN客户端和内置VPN客户端,其特征在于,所述装置包括:
第一接收单元,用于所述SSL VPN客户端接收所述SSL VPN服务端发送的隧道配置信息,将所述隧道配置信息更新至所述内置VPN客户端,由所述内置VPN客户端基于所述隧道配置信息,与所述SSL VPN服务端建立隧道;
获取单元,用于所述SSL VPN客户端获取所述内置VPN客户端的私网IP地址,向SSL VPN服务端发送所述私网IP地址,以使所述SSL VPN服务端储存所述私网IP地址和与所述SSLVPN客户端对应的资源列表的映射,其中,所述资源列表记录了所述终端设备可访问资源的IP地址;
发送单元,用于所述内置VPN客户端向所述SSL VPN服务端发送资源访问报文,其中所述资源访问报文携带有待访问资源的IP地址;
第二接收单元,用于当所述SSL VPN服务端确认所述待访问资源的IP地址在所述资源列表时,所述内置VPN客户端接收所述SSL VPN服务端返回的数据报文,并通过对所述数据报文解封装,获取所述数据报文中携带的所述待访问资源。
10.根据权利要求9所述的装置,其特征在于,所述内置VPN客户端,包括IKEv2 VPN客户端、IPSec VPN客户端、L2TP VPN客户端和PPTP VPN客户端中的任一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610545144.4A CN106209838B (zh) | 2016-07-08 | 2016-07-08 | Ssl vpn的ip接入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610545144.4A CN106209838B (zh) | 2016-07-08 | 2016-07-08 | Ssl vpn的ip接入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106209838A CN106209838A (zh) | 2016-12-07 |
CN106209838B true CN106209838B (zh) | 2020-01-03 |
Family
ID=57476910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610545144.4A Active CN106209838B (zh) | 2016-07-08 | 2016-07-08 | Ssl vpn的ip接入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106209838B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878133B (zh) * | 2016-12-15 | 2019-11-08 | 新华三技术有限公司 | 报文转发方法及装置 |
CN107508739B (zh) * | 2017-09-06 | 2020-08-11 | 成都佑勤网络科技有限公司 | 一种通过vpn隧道传输数据的鉴权方法 |
CN107682473A (zh) * | 2017-10-31 | 2018-02-09 | 新华三信息安全技术有限公司 | 一种ip地址分配方法及装置 |
CN108566358B (zh) * | 2017-12-22 | 2021-03-26 | 广州赛意信息科技股份有限公司 | 一种基于iPhone手机下的iOS系统网络通信拦截方法及系统 |
CN109525478B (zh) * | 2018-12-17 | 2021-08-24 | 杭州迪普科技股份有限公司 | 一种ssl vpn连接方法及装置 |
CN110266715B (zh) * | 2019-06-28 | 2023-03-24 | 深圳前海微众银行股份有限公司 | 异地访问方法、装置、设备与计算机可读存储介质 |
CN110535979B (zh) * | 2019-07-23 | 2022-02-18 | 深圳震有科技股份有限公司 | 一种vpn私网地址分配方法、智能终端及存储介质 |
CN111953707A (zh) * | 2020-08-24 | 2020-11-17 | 成都卫士通信息产业股份有限公司 | Ssl vpn系统及数据传输方法、系统和存储介质 |
CN111865618B (zh) * | 2020-09-21 | 2020-12-11 | 四川新网银行股份有限公司 | 一种联动防火墙实现ssl vpn登录保护的方法 |
CN112202823B (zh) | 2020-12-07 | 2021-03-19 | 杭州筋斗腾云科技有限公司 | 网络资源访问系统及方法、用户门户及资源门户 |
CN114666186B (zh) * | 2022-03-23 | 2023-04-18 | 杭州迪普科技股份有限公司 | Ssl vpn资源访问方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212374A (zh) * | 2006-12-29 | 2008-07-02 | 北大方正集团有限公司 | 实现校园网资源远程访问的方法和系统 |
CN102130811A (zh) * | 2010-01-14 | 2011-07-20 | 深圳市深信服电子科技有限公司 | 一种通过vpn接入应用服务器的方法及终端 |
CN102904867A (zh) * | 2012-05-12 | 2013-01-30 | 杭州迪普科技有限公司 | 一种vpn权限控制方法及装置 |
US8893262B2 (en) * | 2012-08-30 | 2014-11-18 | Tropos Networks, Inc. | Establishing an IPsec (internet protocol security) VPN (virtual private network) tunnel |
CN105376239B (zh) * | 2015-11-25 | 2019-01-18 | 成都三零瑞通移动通信有限公司 | 一种支持移动终端进行IPSec VPN报文传输方法及装置 |
-
2016
- 2016-07-08 CN CN201610545144.4A patent/CN106209838B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106209838A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106209838B (zh) | Ssl vpn的ip接入方法及装置 | |
KR102146568B1 (ko) | 네트워크 접속 제어 시스템 및 그 방법 | |
US8713305B2 (en) | Packet transmission method, apparatus, and network system | |
US8893260B2 (en) | Secure remote access public communication environment | |
CN103023898B (zh) | 一种访问vpn服务端内网资源的方法及装置 | |
US20100228962A1 (en) | Offloading cryptographic protection processing | |
US9210128B2 (en) | Filtering of applications for access to an enterprise network | |
US20150150114A1 (en) | Method and System for Providing Secure Remote External Client Access to Device or Service on a Remote Network | |
US20160248734A1 (en) | Multi-Wrapped Virtual Private Network | |
US10516652B1 (en) | Security association management | |
US11695734B2 (en) | Rotating internet protocol addresses in a virtual private network | |
US20150249639A1 (en) | Method and devices for registering a client to a server | |
CN106878133A (zh) | 报文转发方法及装置 | |
CN106169952A (zh) | 一种英特网密钥管理协议重协商的认证方法及装置 | |
CN114584386B (zh) | 全局多级加密网络通信方法 | |
CN112583599B (zh) | 通信方法及装置 | |
TW201417542A (zh) | 虛擬網路構建系統、虛擬網路構建方法、小型終端及認證伺服器 | |
CN111147451A (zh) | 一种基于云平台的业务系统安全访问方法、装置及系统 | |
KR101214613B1 (ko) | 접속자의 식별 신뢰도를 높인 프록시 기반의 서버 보안방법과 보안시스템 | |
KR101947170B1 (ko) | 동적 vpn 관리 방법 및 장치 | |
JP2008199420A (ja) | ゲートウェイ装置および認証処理方法 | |
KR101837064B1 (ko) | 보안 통신 장치 및 방법 | |
KR101448711B1 (ko) | 통신 암호화를 통한 보안시스템 및 보안방법 | |
JP6075871B2 (ja) | ネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラム | |
CN114268499B (zh) | 数据传输方法、装置、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |