随着信息安全从单纯关注网络安全转变为重点关注以业务为核心的应用安全,远程安全接入的重要性日益明显,SSL VPN以无需客户端软件、保护具体应用、细粒度的访问控制、详细的审计等特性,在易用性、安全性和管理性方面更胜一筹。因此,近几年来SSL VPN的应用范围正在迅速扩大。
SSL协议集成了非对称加密、对称加密、数字签名以及信息校验等多项技术,能出色地完成防冒充、防破解和防篡改三个保障信息安全的基本任务。SSL协议的通讯过程主要分为四个阶段,原理大致如下:
第一阶段,客户端向服务器发出SSL连接请求,并附上一段随机产生的信息,服务器端在通讯之前会向证书颁发组织申请并获得自己的公钥、私钥以及证书。
第二阶段,服务器收到客户端的连接请求后,把收到的随机信息用私钥加密,然后连同公钥和身份信息发回给客户端。
第三阶段,客户端收到服务器端的回应后,将先用从服务器端发来的公钥解密信息,还原后与自己之前产生的随机信息比较异同,从而验证服务器端的身份。在服务器端身份得到验证后,客户端将产生一个对称密钥,用于加密真正的传输信息,并将该对称密钥用公钥加密后发给服务器端。
第四阶段,服务器端得到信息后,用自己私钥解密并获得该对称密钥,之后客户端和服务器之间就可以用这个对称密钥进行加密通讯了。
在整个通讯过程中,服务器端只要保护好私钥不被泄漏就可以保证自己的身份不会被冒充,对称密钥也不会被破解,从而保证了加密信息不会被破解,再加上校验信息也采用公钥和私钥加密机制,因此信息篡改也不可能发生,保证了传输的安全性。(验证过程如图所示)
SSL协议通讯过程示意图
近年来,随着国内信息化建设的深入,网银系统、企业移动办公、电子政务、数字图书馆等的大规模建设,国内用户对SSL VPN的需求不断增加,丰富的需求催生了国产品牌SSL VPN产品的迅速崛起,那么,SSL VPN都有哪些关键技术呢?
Web代理
该技术的实现原理是:客户端通过浏览器向SSL VPN网关发送页面访问请求,由SSL VPN网关代为向Web服务器发送请求,然后将Web服务器回应的HTTP页面经过复杂的处理和转换后封装成HTTPS页面转发给客户端的浏览器。由于目前大部分浏览器已经集成了SSL(HTTPS)协议处理功能,因此客户端在通过SSL VPN访问Web应用时,直接用浏览器加解密信息即可,无需额外的客户端程序和控件,做到了真正100%零客户端。
端口转发
该技术主要用于实现客户端对C/S架构应用的访问。由于Outlook、FTP等各种C/S应用的客户端软件并不具备SSL协议处理功能,因此需要借助控件程序来完成不同应用端口服务的转发功能。客户端在建立SSL VPN隧道后,会下载并运行一个控件程序,该程序将Outlook等应用软件发出的相应端口数据包截获,加密封装成SSL协议端口数据包发给SSL VPN网关,网关经过解密、还原相应的应用端口后再代替客户端与内部服务器进行通讯。
应用转换
利用该技术,客户端通过SSL VPN访问内部的FTP、文件共享、邮件、SSH、Telnet、RDP等服务时都可以Web的形式进行。而SSL VPN产品则需要将这些应用的操作界面和各种功能基于Web形式重新实现。
网络连接
网络连接即通常所说的NC(Network Connection)功能,该技术可以让客户端通过SSL VPN拥有对内部整个子网的访问权限,也是目前应用比较广泛的一项技术。在SSL VPN产品上集成该技术后,即有IPsec VPN与应用无关的优势,又保持了SSL VPN的高安全性。客户端通过NC连接SSL VPN时,会获得一个虚拟IP地址,然后通过这个虚拟IP地址与内网通讯。
以上便是实现SSL VPN的几项核心技术,目前大部分的SSL VPN产品,都是以这几项技术的一项或几项为基础研发实现的。那么,对国产SSL VPN产品而言,哪些技术尤其重要呢?
首先是Web代理技术。由于用户需要访问内网的Web应用,而且希望访问方式尽量简便,而只有具备Web代理技术,SSL VPN产品才能做到100%零客户端,才能为用户提供最简便的接入方式,因此, Web代理技术对国产SSL VPN产品而言是一项必需技术,也是SSL VPN产品是否专业的重要标准之一。
除了Web代理技术,端口转发技术的重要性也不容小觑。除了要访问除Web应用外,用户还需要经常访问组织内部的C/S架构应用,例如邮件、FTP、文件共享、数据库、ERP等,这时,SSL VPN产品采用端口转发技术实现对C/S应用的处理,是再合适不过的了。
至于应用转换技术,目前国内用户需求并不迫切。由于SSL VPN产品需要把FTP、Email,SSH等应用以Web的形式重新实现,实现起来比较复杂,还可能存在提供的功能不够完整,界面不够友好,不太符合用户的操作习惯以及控件引用是不合法等一系列问题。从另一个角度来看,用户在没有使用SSL VPN之前,都已经习惯通过相应的客户端软件对C/S应用进行访问,在使用SSL VPN后,仍然希望通过使用原来的客户端软件访问内部的各种C/S应用。由此看来,应用转换技术并不十分适应于国内的用户,也并非是国产SSL VPN产品的必须功能。
最后再看NC技术,由于NC技术可以实现SSL VPN与应用无关的特性,因此客户端通过SSL VPN访问内部整个子网的需求仍然存在。然而,在使用该功能时,需要给客户端配置虚拟IP地址,这样一来,就会遇到地址规划上的一些问题,在配置和使用上也比较复杂。目前,国内已经有SSL VPN厂商注意到这个问题,为了更好地满足用户对易用性的要求,采用了一种"网络层代理"技术,客户端通过SSL VPN产品访问内部整个子网时,不需要借助虚拟IP地址,也不需要改变内网服务器网关指向,有效地解决了NC功能配置和使用复杂的难题。但目前,"网络层代理"技术还存在一个问题,即无法处理TCP连接由内向外发起的应用,无法做到"与应用无关"。如果有SSL VPN产品能够同时具备NC和网络代理功能,将会受到更多国内用户的青睐。
当然,以上列举的只是SSL VPN产品的几项主要技术,为了更好地满足国内用户的需求,SSL VPN产品还必须在功能上进一步贴近需求,不断丰富。那么,国产SSL VPN产品在功能上应该如何"修炼内功"呢?
丰富的认证方式
国内用户类型众多,对认证方式和安全性要求也不尽相同。除了基本的本地口令外,动态口令、短信口令、口令+动态附加密、证书+USBKEY、口令+证书+USBKEY等多因素认证方式也越来越常见,成为对SSL VPN产品的基本要求。此外,随着CA体系在中国不断健全,越来越多的用户从专业的CA企业购买服务,因此国产SSL VPN产品能否很好地与标准第三方CA系统兼容,能否提供标准OSCP、CRL等证书校验接口,在一定程度上决定了该产品能否应用到用户现有环境中。
线路优化
中国向来有北网通、南电信的说法,不同ISP下的主机彼此访问时延迟非常大。国内用户考虑到这个因素,常常向不同的ISP申请了多个公网IP提供服务。如果SSL VPN产品能够利用多个网口通过多个公网IP对外提供接入访问,并可以根据接入客户端的ISP来源选择最佳路径,那么将可以大大提高访问效率,更好地适应国内的网络环境。
单点登录
在用户的内网中,OA系统通常都带认证功能,使用者需要提交用户名及口令才可登录。加上SSL VPN后,用户就首先要登录SSL VPN,然后再次提交认证信息登录OA,导致重复认证过程。为了简化登陆程序,SSL VPN产品应该能记录用户登录SSL VPN时的认证信息,在用户访问OA时,代替用户提交认证,用户不需要再次输入用户名和口令就可打开登录成功后的页面。
端点安全
安装SSL VPN产品后,端点的安全也是不得不考虑的重要方面。是否允许所有PC都接入SSL VPN,在连接SSL VPN隧道后是否允许访问互联网,在SSL VPN客户端注销后,访问痕迹是否应该清理,都是SSL VPN需要重点考虑的几个安全问题。目前,国内很多SSL VPN产品也都有应对措施。在客户端主机接入之前,先检测终端主机上是否具备管理员要求的某些特征,如操作系统版本、IE浏览器版本、是否运行了杀毒软件等等,如果不满足安全策略,则拒绝连接。在建立隧道后,SSL VPN产品还可以禁止客户端主机访问隧道以外的网络以确保隧道安全;在终端用户注销后,还会自动清除此次的访问痕迹,确保信息不被泄漏。此外,如果产品能实现帐号和客户端主机特征绑定以及防伪造功能等,将可以进一步提高客户端的端点安全性。
应用层防御
SSL VPN产品是以应用为核心的安全接入产品,因此应用层的安全防御必不可少。目前,防SQL注入,防跨站脚本和防非法URL访问等功能已经出现在一些国内品牌SSL VPN产品上。甚至有厂商还提供了基于帐号的最大并发上限控制功能,有效防止了一个帐号恶意产生大量连接的DOS攻击行为,有效保障了应用服务系统。
安全审计
SSL VPN产品相对传统VPN的优势之一就是审计更加详细。相比而言,SSL VPN产品更关注帐号而不仅仅只是IP地址。在日志中应该可以记录哪个用户、在什么时间,在什么地理位置通过哪个ISP登录了SSL VPN,访问了什么服务,访问了哪些Web页面等等。另外,SSL VPN产品还应该提供基于各种条件(如时间范围、关键字等)的查询功能,甚至可以根据时间范围生成报表提供浏览和下载。
综合以上所有因素来看,SSL VPN产品与其说是一项技术,不如视之为服务。谁的SSL VPN产品能在上面所述各项技术和功能中做得更精细,更人性化,更贴近用户需要,谁的产品就会在激烈的市场竞争中取得胜利。