SSL VPN
1. 简介
VPN是一种利用隧道、加密秘认证等按本,在开放的Internet上建立一条专用的安全信息通道来扩展内部两络,从而使经过授权的受信任用户可以通过互联网远程访问内网所需资源的网络系统。SSL(Secure Sockets Layer,安全套接层)主要应用于Web服务的安全传输协议。SSL协议建立在可靠的传输层协议之上,由握手协议、改变密码规格协议、记录协议以及警告协议四个部分组成,它采用公钥加密,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
2. SSL VPN的优势
(1) 可操作性强:SSL协议内嵌于绝大部分的浏览器,如lE、Netscape、Firefox
等。任何一台客户机,只要安装了浏览器,都可以支持SSL连接。
(2) 安全性更高:SSL VPN支持高强度密码和双因素认涯,目前已经成为WEB应
用中用来鉴别网站和网页浏览者身份,以及在web用户和服务器之间进行加密通信的全球化标准。它为远程访问在用户身份认证、数据传输、内部资源访问等方面的技术实现提供了完善的安全性保障。
(3) 应用范围广:SSL VPN是目前应用最为广泛的VPN解决方案之一,它不仅支持
一般常见的网络信息服务,如信息浏览、FTP传输、EMAIL和TELNET等;而且可以通过定制功能扩展,支持特定的应用服务,如SQL Connection、Lotus等。
3. SSL VPN安全性分析
SSL协议仅仅对通信双方所进行的应用通道进行加密,SSL安全通道可以在客户到所访问的资源之间建立,确保端到端的真正安全。无论在内部网络还是在Internet上,数据都不是透明的。SSL提供加密和身份验证安全方法,任何安装浏览器的机器都可以使用SSL VPN,但因为是直接开启应用系统,并没在网络层上连接,黑客不易侦测出应用系统内部网络机制,因此其安全性相对较高的。在许多信息安全系统中使用的摘要算法如MD5、SHA-1,其安全性正受到学者的质疑,DES和3DES等算法也均出现过破译工具,基于公开的密码算法的安全系统已不能满足商业环境下安全通信的要求,这就要求需要在SSL VPN的安全性和灵活性方面进行适当的平衡。密码算法设计的安全性和实现的安全性对于基于密码算法的安全系统设计十分重要。
SSL VPN通过设置不同级别的用户,设置不同级别的权限来屏蔽非授权用户的访问。用户的设置有设置账户、使用证书、Radius机制等不同的方式。SSL数据加密的安全性由加密算法来保证,黑客想要窃听网络中的数据,就需要解开这些加密算法后的数据包。SSL VPN的完整性就是对抗对手主动攻击,防止信息被未经授权的篡改。由于SSL VPN一般在GATEWAY上或者在防火墙后面,把企业内部需要被授权外部访问的内部应用注册到SSL VPN上,这对于GATEWAY来讲,开通443这样的端口到SSL VPN即可,不需要开通所有内部的应用端口,如果有黑客发起攻击也只能到SSL VPN这里,攻击不到内部的实际应用。SSL VPN的可用性就是保证信息及信息系统确实为授权使用者所用。对于SSL VPN要保护的后台应用,可为其设置不同的级别,只有相应级别的用户才可以访问其对应级别的资源,从而保证了信息的可用性。SSL VPN的可控性就是对信息及信息系统实施安全监控。SSL VPN作为一个安全的访问连接建立工具,所有的访问信息都要经过GATEWAY这个网关,所以记录日志对于网关来说非常重要,不仅要记录日志,还要提供完善的超强的日志分析能力,才能帮助管理员有效地找到可能的漏洞和已经发生的攻击,从而对信息
系统实施监控。
当使用基于SSL协议通过Web浏览器进行VPN通信时,对用户来说外部环境并不是完全安全、可达到无缝连接的。因为SSL VPN只对通信双方的某个应用通道进行加密,而不是对通信双方主机之间的整个通道进行加密。在通信时,Web页面中呈现的文件很难也基本上无法保证出现类似于上传的文件和邮件附件等简单的文件,这样就很难保证其它文件不被暴露在外部,这就存在一定的安全隐患。以上两点导致了SSL VPN只能适用于安全要求比较弱的地方,在机密性要求高的领域里使用存在很大的风险。许多研究人员提出了SSL VPN改进技术,有虚拟通道技术,SSL代理技术,URL加密,超时检测,客户端扫描,客户端缓冲区及临时文件清除。
4. SSL VPN的实现技术
1. Web反向代理技术
用于实现基于Web的应用或者网页的安全远程访问。目前企业开发的应用普遍采用基于Web的界面,一些传统应用如Microsoft Outlook也出现了\"Web化”的版本。与普通的前向代理不同,反向代理作为企业内网唯一入口,使得远端用户能够通过浏览器安全地访问其后端Web服务。在实现中,还采用细粒度的访问控制机制,对用户访问的目录、服务器、路径等进行控制。
2. 协议转发器技术
又称端口转发器(Port-Forwarding),用于支持需要在本地机器上“离线\"( Offline)运行,又需要与远端安全通信的Client/Server应用,如Microsoft Outlook客户和CRM等。
协议转发器需要在客户端安装“小”的应用程序,如某一不支持SSL协议的应用程序想与其应用服务器建立连接,该连接在IP层将被协议转发器召捕捉”,并封装到SSL隧道中;在SSL VPN网关端,数据被解密,并转发到对应应用服务器。协议转发器要能够在IP协议栈上“捕捉”连接,通常采用基于名字解析的方法一.一由协议转发器修改hosts文件,将远端站点的名字指向本地主机。还有一些协议转发器需要客户端应用程序修改配置,将对应服务器的地址更改为本地地址,这样客户端发送的数据将通过协议转发器处理。协议转发器主要用于支持基于固定TCP端口的应用程序。
3. 远端控制 VPN技术
通过 远 端 控制VPN技术,来实现对传统简单应用(LegacyA pplications)的“无客户”访问。虽然目前基于Web的应用大行其道,但很多企业存在大量非Web应用,运行在集中的Windows, UNIX/Linux, Mainframes, AS/400机器上,而且仍是企业的核心应用。因此SSL VPN必须能够提供针对这类应用“按需”(On-Demand)的基于Web的访问功能。一些SSL VPN在其产品中集成了Web使能技术(Web-Enabling Technology),传统应用的服务器和客户端部分均位于内网中,采用“屏幕碎片”协议(Screen-Scraping Protocol),将仿真和显示处理进行分离,只将应用的显示发送到浏览器,往往需要在浏览器下载一个Applet程序,用户所体验的应用与本地应用一样。还有一些远端控制VPN是通过增强远端控制协议如Windows Terminal Service的功能,增加其SSL VPN和浏览器支持来实现的。这种VPN优势是只要将任意应用增加到远端控制桌面上,就被加入到SSL VPN中。此外,通过这种VPN可以阅读和修改位于中心位置(如文件服务器)的文件,而不需要下载整个文件,当用户在移动中通过低速使用VPN,或者连接质量较差时,在连接重启后,已完成的工作不会丢失。远端控制VPN是SSL VPN最灵活的形式,同时也是运行负荷最高的形式.
4. 常用工具Web化技术
一些常用远端管理工具本身不具备Web接口,由SSLV PN网关通过HTML页面或者Java却plet提供工具下载界面,SSL VPN网关提供外网HTTPS协议与内网应用协议之间“翻译”功能。SSL VPN能支持这种方式的应用有限,主要包括Telnet, SSH, FTP. Shares Folders等。在 SS L V PN系统应用中面临大量安全问题,根据问题所属位置,可分为浏览器侧问题(Browser-Side Issues)和服务器侧问题(Server-Side Issues)。除7实现上述基本功能以外,SSL VPN系统实现中还需要解决相关安全问题。
1.防止敏感信息遗留问题
属于浏览器侧问题。当用户使用公共终端完成了内部网络访问后,其后续的用户可能继续该用户的会话(甚至不需要掌握正确密码)。其原因是许多应用采用HTTP基本鉴别(Basic
Authentication),浏览器将用户初始登录所输入的用户名和口令等敏感信息进行缓存(cache),如系统未清除浏览器缓存,第三方不需通过鉴别,即可“激活”前一个用户的会话。解决这一问题主要通过向客户端下载Applet或者ActiveX.在会话结束后,自动删除客户端任何形式的临时文件、浏览器缓存(Cache)、下载的文件和页面、Cookie、历史信息、用户秘密(Credential)以及其他被Web浏览器记录下的敏感信息。
2. 防止用户忘记注销问题
属于浏览器侧问题。在结束会话后,一些用户选择关闭浏览器,而不是注销会话。或者选择访问其他网站,而忘记SSL VPN会话仍处于“激活”状态。解决这一问题主要使用
会话定时器,监测用户会话,在会话时间达到一定门限时,自动关闭会话,避免用户忘记注销时,会话无限制的保持“激活”状态.
3. 防范蠕虫病毒入侵问题
属于服务器侧问题。防病毒软件能够保护受控计算机不受蠕虫传播,但很难保证借用、家用和网吧计算机同样安装了防病毒软件。一些驻留在家用或借用计算机上的蠕虫和病毒,
可通过SSL VPN隧道扩散到公司内网。解决这一问题主要使用应用层过滤技术,避免恶意病毒或蠕虫入侵SSL VPN服务器及其所保护的内部系统。
4. 防止内部网络信息泄忽问题
属于服务器侧问题。由于内部应用可能包含指向内部系统的引用,而这些系统井没有通过DNS向外网公布,所用IP地址也只是在内网中有效。SSL VPN必须将内部应用中所有指向内部系统的引用转换成Internet可访问格式。这类转换通常是基于HAT技术(主机地址翻译),然而HAT的实现方法多种多样,在效率、性能、安全方面差异很大,如果实现方法不恰当,
可能会暴露内部结构信息,从而带来安全风险。解决这一问题主要使用内部引用加密技术,SSL VPN加密所有引用中的内部主机名、服务器IP地址以及其他内部设施信息,避免暴露任何内部设施信息。
5. 系统结构初步设计
5.1. SSL通信模块
提供 SSL VPN服务器安全通信的功能模块。负责建立与客户端的SSL连接,建立与VPN服务器的TCP Socket,接受、发送、转发客户端和VPN服务器之间的通信数据,执行数据加/解密、数据分组封装/分解等功能。对于C/S应用,执行策略检查,协同其他模块建立C/S应用隧道。
5.2 端口转发模块
与SSL通信、VPN Applet模块配合实现Client/Server应用安全隧道。在SSL通信模块的调用下,分别与VPN Applet、内网应用服务器建立明文隧道(基于TCP的socket),透明转发VPN Applet、内网应用服务器之间的数据。
5.3 OTP认证模块
提供客户端认证服务。VPN服务器在判断当前请求(Request)未进行认证后,将请求转至OTP认证模块。OTP认证模块向浏览器提供用户登录界面,通过OTP(一次性口令)口令序列机制与浏览器交互:.对用户进行认证,并将认证信息记录到Request中(用于下一次请求的处理).
5.4 简单CA模块
作为内网中的数字证书管理实体,是SSL VPN系统的信任核心。提供界面为用户生成数字证书,或者在系统运行中为其他模块(如SSL通信、VPN Applet、内网应用服务器)自动生成公/私钥和签发X.50 9数字证书。
因篇幅问题不能全部显示,请点此查看更多更全内容