SSL VPN的技术原理与应用范本模板.docx
《SSL VPN的技术原理与应用范本模板.docx》由会员分享,可在线阅读,更多相关《SSL VPN的技术原理与应用范本模板.docx(16页珍藏版)》请在冰豆网上搜索。
![SSL VPN的技术原理与应用范本模板.docx](https://file1.bdocx.com/fileroot1/2023-7/4/9527232d-f14d-4852-9f16-c5af6b20f2c4/9527232d-f14d-4852-9f16-c5af6b20f2c41.gif)
SSLVPN的技术原理与应用范本模板
SSLVPN的技术原理与应用
1 概述
1.1 产生背景
随着互联网的普及和电子商务的飞速发展,越来越多的员工、客户和合作伙伴希望能够随时随地接入公司的内部网络,访问公司的内部资源。
接入用户的身份可能不合法、远端接入主机可能不够安全,这些都为公司内部网络带来了安全隐患。
通过加密实现安全接入的VPN—-SVPN(SecurityVPN)技术提供了一种安全机制,保护公司的内部网络不被攻击,内部资源不被窃取。
SVPN技术主要包括IPsecVPN和SSLVPN。
由于IPsecVPN实现方式上的局限性,导致其存在着一些不足:
● 部署IPsecVPN网络时,需要在用户主机上安装复杂的客户端软件。
而远程用户的移动性要求VPN可以快速部署客户端,并动态建立连接;远程终端的多样性还要求VPN的客户端具有跨平台、易于升级和维护等特点。
这些问题是IPsecVPN技术难以解决的。
● 无法检查用户主机的安全性。
如果用户通过不安全的主机访问公司内部网络,可能引起公司内部网络感染病毒.
● 访问控制不够细致.由于IPsec是在网络层实现的,对IP报文的内容无法识别,因而不能控制高层应用的访问请求。
随着企业经营模式的改变,企业需要建立Extranet,与合作伙伴共享某些信息资源,以便提高企业的运作效率。
对合作伙伴的访问必须进行严格有效地控制,才能保证企业信息系统的安全,而IPsecVPN无法实现访问权限的控制。
● 在复杂的组网环境中,IPsecVPN部署比较困难。
在使用NAT的场合,IPsecVPN需要支持NAT穿越技术;在部署防火墙的网络环境中,由于IPsec协议在原TCP/UDP头的前面增加了IPsec报文头,因此,需要在防火墙上进行特殊的配置,允许IPsec报文通过。
IPsecVPN比较适合连接固定,对访问控制要求不高的场合,无法满足用户随时随地以多种方式接入网络、对用户访问权限进行严格限制的需求。
SSLVPN技术克服了IPsecVPN技术的缺点,以其跨平台、免安装、免维护的客户端,丰富有效的权限管理而成为远程接入市场上的新贵。
1。
2 技术优点
SSLVPN是以HTTPS为基础的VPN技术,它利用SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,为用户远程访问公司内部网络提供了安全保证。
SSLVPN具有如下优点:
● 支持各种应用协议。
SSL位于传输层和应用层之间,任何一个应用程序都可以直接享受SSLVPN提供的安全性而不必理会具体细节。
● 支持多种软件平台.目前SSL已经成为网络中用来鉴别网站和网页浏览者身份,在浏览器使用者及Web服务器之间进行加密通信的全球化标准.SSL协议已被集成到大部分的浏览器中,如IE、Netscape、Firefox等。
这就意味着几乎任意一台装有浏览器的计算机都支持SSL连接。
SSLVPN的客户端基于SSL协议,绝大多数的软件运行环境都可以作为SSLVPN客户端。
● 支持自动安装和卸载客户端软件。
在某些需要安装额外客户端软件的应用中,SSLVPN提供了自动下载并安装客户端软件的功能,退出SSLVPN时,还可以自动卸载并删除客户端软件,极大地方便了用户的使用。
● 支持对客户端主机进行安全检查。
SSLVPN可以对远程主机的安全状态进行评估,可以判断远程主机是否安全,以及安全程度的高低。
● 支持动态授权。
传统的权限控制主要是根据用户的身份进行授权,同一身份的用户在不同的地点登录,具有相同的权限,称之为静态授权。
而动态授权是指在静态授权的基础上,结合用户登录时远程主机的安全状态,对所授权利进行动态地调整。
当发现远程主机不够安全时,开放较小的访问权限;在远程主机安全性较高时,则开放较大的访问权限。
● SSLVPN网关支持多种用户认证方式和细粒度的资源访问控制,实现了外网用户对内网资源的受控访问。
● SSLVPN的部署不会影响现有的网络。
SSL协议工作在传输层之上,不会改变IP报文头和TCP报文头,因此,SSL报文对NAT来说是透明的;SSL固定采用443号端口,只需在防火墙上打开该端口,不需要根据应用层协议的不同来修改防火墙上的设置,不仅减少了网络管理员的工作量,还可以提高网络的安全性.
● 支持多个域之间独立的资源访问控制.为了使多个企业或一个企业的多个部门共用一个SSLVPN网关,减少SSLVPN网络部署的开销,SSLVPN网关上可以创建多个域,企业或部门在各自域内独立地管理自己的资源和用户.通过创建多个域,可以将一个实际的SSLVPN网关划分为多个虚拟的SSLVPN网关.
2 SSLVPN技术实现
2。
1 概念介绍
SSLVPN用户分为超级管理员、域管理员和普通用户:
● 超级管理员:
整个SSLVPN网关的管理者,可以创建域,设置域管理员的密码.
● 域管理员:
负责管理所在域,可以创建本地用户和资源、设置用户访问权限等。
域管理员可能是某个企业的网管人员。
● 普通用户:
简称用户,为服务器资源访问者,权限由域管理员指定.
2.2 SSLVPN系统组成
图1SSLVPN典型组网架构
SSLVPN的典型组网架构如图1所示,SSLVPN系统由以下几个部分组成:
● 远程主机:
管理员和用户远程接入的终端设备,可以是个人电脑、手机、PDA等.
● SSLVPN网关:
SSLVPN系统中的重要组成部分。
管理员在SSLVPN网关上维护用户和企业网内资源的信息,用户通过SSLVPN网关查看可以访问哪些资源。
SSLVPN网关负责在远程主机和企业网内服务器之间转发报文。
SSLVPN网关与远程主机之间建立SSL连接,以保证数据传输的安全性。
● 企业网内的服务器:
可以是任意类型的服务器,如Web服务器、FTP服务器,也可以是企业网内需要与远程接入用户通信的主机。
● CA:
为SSLVPN网关颁发包含公钥信息的数字证书,以便远程主机验证SSLVPN网关的身份、在远程主机和SSLVPN网关之间建立SSL连接。
● 认证服务器:
SSLVPN网关不仅支持本地认证,还支持通过外部认证服务器对用户的身份进行远程认证。
2.3 SSLVPN工作过程
SSLVPN的工作过程可以分为以下三步:
(1) 超级管理员在SSLVPN网关上创建域.
(2) 域管理员在SSLVPN网关上创建用户和企业网内服务器对应的资源。
(3) 用户通过SSLVPN网关访问企业网内服务器。
1。
超级管理员创建域
图2超级管理员创建域
如图2所示,超级管理员创建域的过程为:
(1) 超级管理员在远程主机上输入SSLVPN网关的网址,远程主机和SSLVPN网关之间建立SSL连接,通过SSL对SSLVPN网关和远程主机进行基于证书的身份验证。
(2) SSL连接建立成功后,进入SSLVPN网关的Web登录页面,输入超级管理员的用户名、密码和认证方式。
SSLVPN网关根据输入的信息对超级管理员进行身份验证.身份验证成功后,进入SSLVPN网关的Web管理页面。
(3) 超级管理员在SSLVPN网关上创建域,并设置域管理员密码。
2。
域管理员创建用户和企业网内服务器对应的资源
图3域管理员创建用户和企业网内服务器对应的资源
如图3所示,域管理员创建用户和企业网内服务器对应资源的过程为:
(1) 域管理员在远程主机上输入SSLVPN网关的网址,远程主机和SSLVPN网关之间建立SSL连接,通过SSL对SSLVPN网关和远程主机进行基于证书的身份验证。
(2) SSL连接建立成功后,进入SSLVPN网关的Web登录页面,输入域管理员的用户名、密码和认证方式。
SSLVPN网关根据输入的信息对域管理员进行身份验证.身份验证成功后,进入SSLVPN网关的Web管理页面。
(3) 域管理员在SSLVPN网关上创建用户和企业网内服务器对应的资源,并设定用户对资源的访问权限.
3.用户访问企业网内服务器
图4用户访问企业网内服务器
如图4所示,用户访问企业网内服务器的过程为:
(1) 用户在远程主机上输入SSLVPN网关的网址,远程主机和SSLVPN网关之间建立SSL连接,通过SSL对SSLVPN网关和远程主机进行基于证书的身份验证.
(2) SSL连接建立成功后,进入SSLVPN网关的Web登录页面,输入普通用户的用户名、密码和认证方式。
SSLVPN网关根据输入的信息对普通用户进行身份验证。
身份验证成功后,进入SSLVPN网关的Web访问页面。
(3) 用户在Web访问页面上查看可以访问的资源列表,如Web服务器资源、文件共享资源等。
(4) 用户选择需要访问的资源,通过SSL连接将访问请求发送给SSLVPN网关。
(5) SSLVPN网关解析请求,检查用户权限,如果用户可以访问该资源,则以明文的形式将请求转发给服务器.
(6) 服务器将响应报文以明文的形式发送给SSLVPN网关。
(7) SSLVPN网关接收到服务器的应答后,将其通过SSL连接转发给用户。
2。
4 SSLVPN接入方式
SSLVPN支持三种接入方式:
● Web接入方式
● TCP接入方式
● IP接入方式
通过不同的接入方式,用户可以访问不同类型的资源;不同接入方式下,SSLVPN网关在远端主机和企业网内服务器之间转发数据的过程也有所不同。
下面将分别对其进行介绍。
2.4。
1 Web接入方式
Web接入方式是指用户使用浏览器以HTTPS方式、通过SSLVPN网关对服务器提供的资源进行访问,即一切数据的显示和操作都是通过Web页面进行的.
通过Web接入方式可以访问的资源有两种:
Web服务器和文件共享资源。
1。
Web服务器资源
Web服务器以网页的形式为用户提供服务,用户可以通过点击网页中的超链接,在不同的网页之间跳转,以浏览网页获取信息。
SSLVPN为用户访问Web服务器提供了安全的连接,并且可以防止非法用户访问受保护的Web服务器。
图5Web资源访问机制
如图5所示,Web服务器访问过程中,SSLVPN网关主要充当中继的角色:
(1) SSLVPN网关收到用户的HTTP请求消息后,将HTTP请求URL中的路径映射到资源,并将HTTP请求转发到被请求资源对应的真正的Web服务器;
(2) SSLVPN网关收到HTTP回应消息后,将网页中的内网链接修改为指向SSLVPN网关的链接,使用户在访问这些内网链接对应的资源时都通过SSLVPN网关,从而保证安全,并实现访问控制。
SSLVPN将改写后的HTTP回应消息发送给用户。
在Web服务器访问的过程中,从用户角度看,所有的HTTP应答都来自于SSLVPN网关;从Web服务器的角度看,所有的HTTP请求都是SSLVPN网关发起的。
2。
文件共享资源
文件共享是一种常用的网络应用,实现了对远程网络服务器或者主机上文件系统进行操作(如浏览文件夹、上传文件、下载文件等)的功能,如Windows操作系统上的共享文件夹应用。
SSLVPN网关将文件共享资源以Web方式提供给用户。
如图6所示,文件共享资源访问过程中,SSLVPN网关起到协议转换器的作用:
(1) 远程主机与SSLVPN网关之间通过HTTPS协议通信:
远程主机将用户访问文件共享资源的请求通过HTTPS报文发送给SSLVPN网关。
(2) SSLVPN网关与文件服务器通过SMB协议通信:
SSLVPN网关接收到请求后,将其转换为SMB协议报文,发送给文件服务器。
(3) 文件服务器应答报文到达SSLVPN网关后,SSLVPN网关将其转换为HTTPS报文后,发送给远程主机。
图6文件共享资源访问示意图
2.4。
2 TCP接入方式
TCP接入方式用于实现应用程序对服务器开放端口的安全访问。
通过TCP接入方式,用户可以访问任意基于TCP的服务,包括远程访问服务(如Telnet)、桌面共享服务、邮件服务等。
用户利用TCP接入方式访问内网服务器时,不需要对现有的TCP应用程序进行升级,只需安装专用的TCP接入客户端软件,由该软件实现使用SSL连接传送应用层数据。
如图7所示,用户利用TCP接入方式访问内网服务器的工作流程为:
(1) 用户启动TCP应用后,远程主机自动从SSLVPN网关上下载TCP接入客户端软件.
(2) 用户通过点击SSLVPN网关Web访问页面上的资源链接或开启TCP应用程序(例如打开远程桌面连接程序,连接到远程的内网服务器)的方式访问TCP应用资源时,客户端软件就会与SSLVPN网关建立SSL连接,并使用扩展的HTTP消息请求访问该资源.
(3) SSLVPN网关与该资源对应的内网服务器建立TCP连接。
(4) 连接建立成功后,用户访问内网服务器的数据由TCP接入客户端通过SSL连接安全地发送给SSLVPN网关,SSLVPN网关获取应用层数据,通过已经建立的TCP连接发送给内网服务器。
(5) SSLVPN网关接收到内网服务器的应答后,通过SSL连接将其发送给远程主机的客户端软件,客户端软件获取服务器应答数据,将其转发给应用程序。
图7TCP接入方式工作流程
2。
4。
3 IP接入方式
IP接入方式实现远程主机与服务器网络层之间的安全通信,进而实现所有基于IP的远程主机与服务器的互通,如在远程主机上ping内网服务器。
用户通过IP接入方式访问内网服务器前,需要安装专用的IP接入客户端软件,该客户端软件会在主机上安装一个虚拟网卡.
如图8所示,用户利用IP接入方式访问内网服务器的工作流程为:
(1) 用户启动IP应用时,远程主机自动从SSLVPN网关上下载IP接入客户端软件,该软件负责与SSLVPN网关建立SSL连接,为虚拟网卡申请地址,并设置网关地址和以虚拟网卡为出接口的路由。
(2) 用户通过点击SSLVPN网关Web访问页面上的资源链接或执行IP访问命令(例如,执行ping命令)的方式访问IP网络资源时,IP报文根据路由发送到虚拟网卡,被客户端软件封装后通过SSL连接发送到SSLVPN网关。
(3) SSLVPN网关接收到数据后,将其还原成IP报文,发往对应的服务器。
(4) SSLVPN网关接收到服务器的回应报文后,将报文封装后通过SSL连接发送到远程主机的IP接入客户端软件。
(5) 客户端软件解封装后通过虚拟网卡将IP报文交给远程主机处理.
图8IP接入方式工作流程
3 ComwareV5平台实现的技术特色
3.1 客户端免安装,免维护
远程主机上运行的客户端软件包括:
● 支持SSL的Web浏览器:
目前大多数操作系统都提供了浏览器,并支持SSL协议。
利用操作系统自带的浏览器,就可以实现Web接入方式。
● 主机检查器:
用来对远程主机的安全状态进行评估.用户登录时,远程主机会自动下载并安装主机检查器。
● 缓存清除器:
用来在用户退出SSLVPN系统时,清除SSLVPN通信过程中使用的临时文件、配置文件和下载的客户端程序,以避免系统的私密信息被泄漏。
用户登录后,远程主机自动下载并安装缓存清除器.
● TCP接入客户端:
TCP接入方式中用到的客户端软件。
● IP接入客户端:
IP接入方式中用到的客户端软件.
除Web浏览器是远程主机自带的以外,其它的客户端软件都是从SSLVPN网关下载的。
这些客户端软件支持自动下载、自动安装、自动配置、自动建立连接,使用非常方便。
3.2 支持多种用户认证技术
SSLVPN支持四种认证方式:
● 本地认证:
由管理员在SSLVPN网关上创建本地用户,通过将用户输入的用户名和密码与本地保存的用户名和密码比较,来验证用户的身份是否合法.
● RADIUS认证:
用户信息保存在RADIUS服务器上,SSLVPN网关作为RADIUS客户端,通过与RADIUS服务器交互认证消息,来验证用户的身份是否合法。
● LDAP认证:
用户信息保存在LDAP服务器上,SSLVPN网关作为LDAP客户端查询LDAP服务器上的用户信息,来验证用户的身份是否合法。
● AD认证:
LDAP认证方式的一种,Microsoft实现的LDAP称为AD。
用户通过浏览器连接到SSLVPN网关后进入登录页面,输入用户名、密码和认证方式,这些信息通过SSL连接传输到SSLVPN网关,保证了数据传输的安全性。
SSLVPN网关收到登录信息后,根据认证方式进行认证.
SSLVPN网关提供的认证方式简单通用,扩展性很强。
3.3 丰富灵活的安全策略
不安全远程主机的接入有可能对内部网络造成安全隐患。
通过主机检查器可以在用户登录SSLVPN时,检查主机的操作系统版本及其补丁、浏览器版本及其补丁、防火墙版本、杀毒软件版本等,根据检查的结果来判断该用户主机能够访问哪些资源。
在SSLVPN网关上可以设置安全策略,通过安全策略制定对远程主机进行安全检查的方法,明确需要检查的项目,并通过为安全策略指定保护资源,保证只有满足安全策略的远程主机才能访问相应的资源。
3.4 细粒度的资源访问控制
SSLVPN的资源访问控制机制可以方便灵活地控制用户访问权限,实现细粒度的资源访问权限控制。
超级管理员创建若干个域,并指定域管理员的密码;域管理员配置本域的资源和用户,将资源加入到资源组,将用户加入到用户组,然后为每个用户组指定可以访问的资源组,从而实现对用户访问权限的控制。
SSLVPN网关还可以对远程主机进行安全检查,根据检查的结果来判断该客户端能够访问哪些资源。
SSLVPN网关根据安全检查结果及用户所在的群组找到其可以访问的资源组,进而找到可以访问的资源列表,从而实现对资源访问的控制。
4 典型组网应用
4。
1 远程接入组网应用
图9远程接入组网应用
如图9所示,SSLVPN在远程接入方面具有很多优势,适用于多种复杂的网络环境.与IPsecVPN相比,SSLVPN尤其适合应用于如下场景:
● 动态的远程接入:
用户使用各种终端设备,在任何时间、任何地点通过Internet接入公司内部网络。
● 无法保证远程主机的安全性:
用户使用网吧、旅馆提供的公用计算机远程访问公司内部网络。
公用计算机容易受到攻击、感染病毒,安全性无法得到保证。
● 不同的远程接入用户具有不同的访问权限:
在使用Extranet时,远程接入用户可能是公司的员工、合作伙伴或其他人员,不同用户可以访问的资源各不相同。
● 远程终端的运行环境多种多样:
远程终端可能安装不同的操作系统,使用不用的应用程序访问公司内部网络。
图10SSLVPN网关作为企业网络的入口
如图10所示,SSLVPN网关可以与防火墙配合使用,作为企业网络的入口,保护所有的企业内部网络资源不受攻击.
图11SSLVPN网关保护企业网内的重要服务器
如图11所示,SSLVPN网关还可以用来保护企业内部重要的服务器资源,在确保重要服务器资源不受攻击的同时,对企业网络中其它部分不会造成任何影响。
4。
2 共享式组网应用
图12共享式组网应用
多个企业可以共用一个SSLVPN网关,每个企业使用一个域,在管理和使用上互不影响,从而为企业节省成本。
如图12所示,企业A、企业B、企业C共用SSLVPN网关,分别在SSLVPN网关上创建域A、域B和域C。
企业A在域A内管理自己的用户和服务器资源,并设置自己的安全策略等,保证企业A的用户只能访问企业A的资源,与企业B和企业C隔离。
4。
3 SSLVPN组网模式
根据SSLVPN网关接入网络方式的不同,SSLVPN组网模式分为单臂模式和双臂模式。
双臂模式中,SSLVPN网关位于内网(或内网服务器)与外网通信的路径上,如图9、图10和图11所示.双臂模式可以提供对内网的完全保护,但是由于SSLVPN网关处在内网与外网通讯的关键路径上,其性能和稳定性对内外网之间的数据传输有很大的影响.
图13单臂模式
如图13所示,单臂模式中,SSLVPN网关相当于一台代理服务器,代理远程的请求,与内部服务器进行通信。
此时SSLVPN网关不处在网络通信的关键路径上,其性能不会影响内外网的通信。
但是这种组网使得SSLVPN网关不能全面地保护企业内部的网络资源.