SSLVPN的技术原理与应用Word文件下载.docx
《SSLVPN的技术原理与应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《SSLVPN的技术原理与应用Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
在部署防火墙的网络环境中,由于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所示,超级管理员创建域的过程为:
超级管理员在远程主机上输入SSLVPN网关的网址,远程主机和SSLVPN网关之间建立SSL连接,通过SSL对SSLVPN网关和远程主机进行基于证书的身份验证。
SSL连接建立成功后,进入SSLVPN网关的Web登录页面,输入超级管理员的用户名、密码和认证方式。
SSLVPN网关根据输入的信息对超级管理员进行身份验证。
身份验证成功后,进入SSLVPN网关的Web管理页面。
超级管理员在SSLVPN网关上创建域,并设置域管理员密码。
2.域管理员创建用户和企业网服务器对应的资源
图3域管理员创建用户和企业网服务器对应的资源
如图3所示,域管理员创建用户和企业网服务器对应资源的过程为:
域管理员在远程主机上输入SSLVPN网关的网址,远程主机和SSLVPN网关之间建立SSL连接,通过SSL对SSLVPN网关和远程主机进行基于证书的身份验证。
SSL连接建立成功后,进入SSLVPN网关的Web登录页面,输入域管理员的用户名、密码和认证方式。
SSLVPN网关根据输入的信息对域管理员进行身份验证。
域管理员在SSLVPN网关上创建用户和企业网服务器对应的资源,并设定用户对资源的访问权限。
3.用户访问企业网服务器
图4用户访问企业网服务器
如图4所示,用户访问企业网服务器的过程为:
用户在远程主机上输入SSLVPN网关的网址,远程主机和SSLVPN网关之间建立SSL连接,通过SSL对SSLVPN网关和远程主机进行基于证书的身份验证。
SSL连接建立成功后,进入SSLVPN网关的Web登录页面,输入普通用户的用户名、密码和认证方式。
SSLVPN网关根据输入的信息对普通用户进行身份验证。
身份验证成功后,进入SSLVPN网关的Web访问页面。
用户在Web访问页面上查看可以访问的资源列表,如Web服务器资源、文件共享资源等。
(4)
用户选择需要访问的资源,通过SSL连接将访问请求发送给SSLVPN网关。
(5)
SSLVPN网关解析请求,检查用户权限,如果用户可以访问该资源,则以明文的形式将请求转发给服务器。
(6)
服务器将响应报文以明文的形式发送给SSLVPN网关。
(7)
SSLVPN网关接收到服务器的应答后,将其通过SSL连接转发给用户。
2.4
SSLVPN接入方式
SSLVPN支持三种接入方式:
Web接入方式
TCP接入方式
IP接入方式
通过不同的接入方式,用户可以访问不同类型的资源;
不同接入方式下,SSLVPN网关在远端主机和企业网服务器之间转发数据的过程也有所不同。
下面将分别对其进行介绍。
2.4.1
Web接入方式是指用户使用浏览器以HTTPS方式、通过SSLVPN网关对服务器提供的资源进行访问,即一切数据的显示和操作都是通过Web页面进行的。
通过Web接入方式可以访问的资源有两种:
Web服务器和文件共享资源。
1.Web服务器资源
Web服务器以网页的形式为用户提供服务,用户可以通过点击网页中的超,在不同的网页之间跳转,以浏览网页获取信息。
SSLVPN为用户访问Web服务器提供了安全的连接,并且可以防止非法用户访问受保护的Web服务器。
图5Web资源访问机制
如图5所示,Web服务器访问过程中,SSLVPN网关主要充当中继的角色:
SSLVPN网关收到用户的HTTP请求消息后,将HTTP请求URL中的路径映射到资源,并将HTTP请求转发到被请求资源对应的真正的Web服务器;
SSLVPN网关收到HTTP回应消息后,将网页中的网修改为指向SSLVPN网关的,使用户在访问这些网对应的资源时都通过SSLVPN网关,从而保证安全,并实现访问控制。
SSLVPN将改写后的HTTP回应消息发送给用户。
在Web服务器访问的过程中,从用户角度看,所有的HTTP应答都来自于SSLVPN网关;
从Web服务器的角度看,所有的HTTP请求都是SSLVPN网关发起的。
2.文件共享资源
文件共享是一种常用的网络应用,实现了对远程网络服务器或者主机上文件系统进行操作(如浏览文件夹、上传文件、下载文件等)的功能,如Windows操作系统上的共享文件夹应用。
SSLVPN网关将文件共享资源以Web方式提供给用户。
如图6所示,文件共享资源访问过程中,SSLVPN网关起到协议转换器的作用:
远程主机与SSLVPN网关之间通过HTTPS协议通信:
远程主机将用户访问文件共享资源的请求通过HTTPS报文发送给SSLVPN网关。
SSLVPN网关与文件服务器通过SMB协议通信:
SSLVPN网关接收到请求后,将其转换为SMB协议报文,发送给文件服务器。
文件服务器应答报文到达SSLVPN网关后,SSLVPN网关将其转换为HTTPS报文后,发送给远程主机。
图6文件共享资源访问示意图
2.4.2
TCP接入方式用于实现应用程序对服务器开放端口的安全访问。
通过TCP接入方式,用户可以访问任意基于TCP的服务,包括远程访问服务(如Telnet)、桌面共享服务、服务等。
用户利用TCP接入方式访问网服务器时,不需要对现有的TCP应用程序进行升级,只需安装专用的TCP接入客户端软件,由该软件实现使用SSL连接传送应用层数据。
如图7所示,用户利用TCP接入方式访问网服务器的工作流程为:
用户启动TCP应用后,远程主机自动从SSLVPN网关上下载TCP接入客户端软件。
用户通过点击SSLVPN网关Web访问页面上的资源或开启TCP应用程序(例如打开远程桌面连接程序,连接到远程的网服务器)的方式访问TCP应用资源时,客户端软件就会与SSLVPN网关建立SSL连接,并使用扩展的HTTP消息请求访问该资源。
SSLVPN网关与该资源对应的网服务器建立TCP连接。
连接建立成功后,用户访问网服务器的数据由TCP接入客户端通过SSL连接安全地发送给SSLVPN网关,SSLVPN网关获取应用层数据,通过已经建立的TCP连接发送给网服务器。
SSLVPN网关接收到网服务器的应答后,通过SSL连接将其发送给远程主机的客户端软件,客户端软件获取服务器应答数据,将其转发给应用程序。
图7TCP接入方式工作流程
2.4.3
IP接入方式实现远程主机与服务器网络层之间的安全通信,进而实现所有基于IP的远程主机与服务器的互通,如在远程主机上ping网服务器。
用户通过IP接入方式访问网服务器前,需要安装专用的IP接入客户端软件,该客户端软件会在主机上安装一个虚拟网卡。
如图8所示,用户利用IP接入方式访问网服务器的工作流程为:
用户启动IP应用时,远程主机自动从SSLVPN网关上下载IP接入客户端软件,该软件负责与SSLVPN网关建立SSL连接,为虚拟网卡申请地址,并设置网关地址和以虚拟网卡为出接口的路由。
用户通过点击SSLVPN网关Web访问页面上的资源或执行IP访问命令(例如,执行ping命令)的方式访问IP网络资源时,IP报文根据路由发送到虚拟网卡,被客户端软件封装后通过SSL连接发送到SSLVPN网关。
SSLVPN网关接收到数据后,将其还原成IP报文,发往对应的服务器。
SSLVPN网关接收到服务器的回应报文后,将报文封装后通过SSL连接发送到远程主机的IP接入客户端软件。
客户端软件解封装后通过虚拟网卡将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网关不能全面地保护企业部的网络资源。