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