本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。 简介 所谓的SSL VPN,指的是使用者利用浏览器内建的Secure Socket Layer封包处理功能,用浏览器通过SSL VPN网关连接到公司内部SSL VPN服务器,然后透过网络封包转向的方式,让使用者可以在远程计算机执行应用程序,读取公司内部服务器数据。它采用标准的安全套接层SSL对传输中的数据包进行加密,从而在应用层保护了数据的安全性。高质量的SSL VPN解决方案可保证企业进行安全的全局访问。在客户端和服务器连接的过程中,SSL VPN网关有不可替代的作用。 SSLVPN是解决远程用户访问公司敏感数据最简单最安全的解决技术。与复杂的IPSecVPN相比,SSL通过相对简易的方法实现信息远程连通。任何安装浏览器的机器都可以使用SSLVPN,这是因为SSL内嵌在浏览器中,它不需要像传统IPSecVPN一样必须为每一台客户机安装客户端软件。 SSL协议主要由SSL握手协议和SSL记录协议组成,它们共同为应用访问连接提供认证、加密和防篡改功能。 SSL握手协议和IPSEC协议体系中的IKE(互联网密钥交换协议)协议类似,主要用于客户和服务器之间的相互认证,MAC(MessageAuthenticationCode-消息认证码)算法和协商加密算法,主要用于SSL记录协议中生成并使用的加密和认证密钥。 SSL记录协议为各种应用协议提供最基本的安全服务,和IPSEC的传输模式有易曲同工之处,应用程序消息参照MTU(最大传输单元)被分割成可治理的数据块(可进行数据压缩处理)的同时产生MAC信息,然后再加密并插入新的报头最后在TCP中传输;收到的数据在接收端进行解密,做身份验证(MAC认证)、解压缩、重组数据报最后提交给应用协议进行处理。 选择VPN是为了支持远程访问内部网络的应用,这是最先需要考虑的一点,目前,大多数SSLVPN都兼容大部分日常会用的邮件系统、OA系统、CRM/ERP等,但并不是所有,如动态端口的应用就只有部分SSLVPN能够支持。这一过程中,必须注意传输过程的安全其中必须保证用户身份的验证、客户端设备的安全性、访问后清楚客户端缓存、服务端日志跟踪,必须做到以上这几点才能在保证传输过程安全的同时,提高系统安全性,构建系统安全。 [2] 通信过程 SSLVPN一般的实现方式是在企业的防火墙后面放置一个SSL代理服务器,SSL代理服务器将提供一个远程用户与各种不同的应用服务器之间的连接,实现起来主要有握手协议、记录协议、警告协议的通信,SSLVPN的通信过程主要集中在握手协议上,主要有:第1步:SSL客户机连接到SSL服务器,并要求服务器验证身份;第2步:服务器通过发送它的数字证书证明自身的身份。这个交换包括整个证书链,直到某个证书颁发机构(CA),通过检查有效日期并确认证书包含可信任CA的数字签名来验证证书的有效性;第3步:服务器发出一个请求,对客户端的证书进行验证;第4步:双方协商用于加密的消息加密算法和用于完整性检查的HAS日函数,通常由客户端提供它所支持的所有算法列表,然后由服务器选择其中最强大的加密算法:第5步:客户机和服务器通过下列步骤生成会话密钥。(1)客户机生成一个随机数,并使用服务器的公钥(从服务器证书中获得)对它加密,再送到服务器,(2)服务器用更加随机的数据、用客户机的公钥加密,发送至客户机以表示响应:(3)使用HAS日函数从随机数据中生成密钥。 [1] 特点 SSL VPN是一种既简单又安全的远程隧道访问技术,使用非常简单。SSL VPN采用公匙加密的方式来保障数据在传输的过程中的安全性,它采用浏览器和服务器直接沟通的方式,既方便了用户的使用,又可以通过SSL协议来保证数据的安全。SSL协议是采用SSL/TLS综合加密的方式来保障数据安全的。SSL协议从其使用上来说可以分为两层:第一层是SSL记录协议,这种协议可以为数据的传输提供基本的数据压缩、加密等功能;第二层是SSL握手协议,主要用于检测用户的账号密码是否正确,进行身份验证登录。与IPSec VPN相比,SSL VPN具有架构简单、运营成本低、处理速度快、安全性能高的特点,所以在企业用户中得到大规模的使用。但是SSL协议是基于WEB开发的,通过浏览器来使用,由于近年来电脑病毒的多样性,要想保障SSL VPN的安全运营,就需要在SSLVPN的安全技术上有所更新。 [3] 认证方式 1、LDAP认证 系统组织已经采用LDAP进行用户管理。它只需要在SSL VPN设备中根据LDAP中的OU组结构建立用户组结构,并为用户组绑定相应的OU结构,不需要再在设备中建立具体用户。当用户向SSL VPN提交用户名密码认证身份时,SSL VPN可自动将此认证信息提交给LDAP认证,并根据反馈的信息判断该用户是否为合法用户。当用户通过了LDAP认证,SSL VPN设备就会通过LDAP返回该用户的OU值,将该用户自动归于绑定了该OU的用户组。这时,该用户即享用了该用户组所有的认证、策略和授权等属性。 2、Radius认证 系统组织中已经采用 Radius实现用户认证管理,在 SSL VPN设备中建立相应的用户组结构,并选用Radius认证并绑定相应的Class属性值。当用户向SSL VPN提交用户名密码认证信息时,SSL VPN就会将此信息以标准的Radius协议格式向Radius服务器发出认证请求,之后Radius将返回认证结果。如果Radius认证通过,则将在返回给SSL VPN的数据包中捎带Class分组属性,SSL VPN会根据绑定该属性的用户组赋予该用户相应的认证、策略和授权等属性。如果Radius认证未通过,SSL VPN则会拒绝该用户登录。 3、CA认证 内置CA的SSL VPN安全网关,可以支持PKI体系的认证。 4、USB KEY认证 将CA中心生成的数字证书颁发给USB KEY,并为该USB KEY设置PIN码。利用“硬件存储数字证书+PIN码”的方式为用户提供高安全的认证方式。 5、硬件绑定(HardCA) 仅使用用户名/密码认证的用户,为了保证用户登录 SSL VPN限定在某一台或是某几台客户端上,有效解决用户账号意外泄露、账号盗用导致数据泄露的问题,可绑定登录客户端。通常情况下,客户端绑定都是采用IP/MAC、MAC、IP绑定方式实现的。 6、动态令牌认证 动态令牌认证是技术领先的一种双因素身份认证体系,内嵌特殊运算芯片,与事件同步的技术手段。它是通过符合国际安全认可的OATH动态口令演算标准,使用HMAC-SHA1算法产生6位动态数字进行一次一密的方式认证。 7、短信认证 USB KEY、动态令牌等认证方式能非常好地保证认证的安全性,但是,却需要随身携带USB KEY、动态令牌这些小硬件,对移动办公人员来说非常不便。 针对上面提到的问题,采用短信认证就能很好地解决这个问题。该认证系统分为手机客户端和短信服务器两部分,手机往往是随身携带的,相对于USB KEY、动态令牌随身携带的方式更容易让用户接受。当用户在进行SSL VPN登录认证时,短信服务器将为该用户自动生成一个6位数字的随机认证码,并以短信的方式发送到用户所绑定手机号码的客户端,之后用户只需在认证界面上输入6位认证码认证。 8、多种方式混合认证 单一的认证方式容易被暴力破解,为了进一步提高身份认证的安全性,可以采用多种认证方式结合的混合认证方式进行多因素的“与”“或”结合认证。这时,只需通过一种认证方式即可接入到SSL VPN中。 9 强密码保护功能 对于使用单纯的密码和用户名的SSL VPN用户来说,对其密码的保护则更为重要。有些SSL VPN提供了强大的安全保障策略,比如图形校验码、最小密码长度设置和程序软键盘等多重设置密码安全的保护组策略,以此提高密码的安全性。 10、主从账号绑定 针对C/S应用或B/S资源,用户可在登录SSL VPN后自行打开浏览器输入资源地址访问。这时,主从账号绑定将通过监听特定的IP、URL并和数据流解析相结合的认证方式,比较用户所输入的账号是否与绑定的账号一致,进而判断对该数据包是阻止还是放行。 SSL VPN认证方式多种多样,指定的用户登录SSL VPN后,通过指定的账号访问指定的应用,可以达到增强重要系统认证安全性的目的。 [4] 组网模式 SSL VPN网关接入网络有很多不同的类型,从而也导致SSL VPN组网模式有所区别,常见的模式有单臂、双臂两种模式。 1)单臂模式。所谓单臂模式是指将SSL VPN网关作为于一台代理服务器使用;当内部服务器与该远程代理服务器进行通信时,SSL VPN网关不处在网络通讯的关键路径上。也就是说,单臂模式类似环形网络拓扑结构,当一边环路不通时,可以选择其他的路径方式实现通信。因此,单臂模式的优点是当该网络上某点出现故障时,不会影响整个网络的通信;其不足在于对于网络信息资源不能够实现全面的保护。 2)双臂模式。所谓双臂模式是指将SSL VPN网关架接在外网与内网之间,即实现了网桥的功能。同时,该网桥也充当必要的防火墙的作用,从而实现对全网络的保护。这种结构具有很好的安全性,但也有比较明显的不足,即会降低内外网络之间数据传输的稳定性。 [5] 应用场景及流程 SSLVPN网关在企业网的边缘,介于企业服务器与远程用户之间并对二者的通信加以控制。SSLVPN采用的是标准的安全套接层(SSL)对传输中的数据包进行加密,并且在应用层保护数据的安全性。 在不断扩展的互联网Web站点之间、无线热点和客户端间、远程办公室、酒店、传统交易大厅等场所,SSLVPN克服了IPSecVPN的不足,用户可以轻松实现安全易用、无需客户端安装且配置简单的远程访问。 SSLVPN最常见的入口是网络页面,其基本运行流程: 1.登录VPN的网址(通常为HTTPS),该网址在浏览器中打开; 2.输键入用户身份信息,身份信息包括用户名、数字证书(如USB-Key)、静态口令、动态口令的随意组合,这样以确保身份的真实性和保密性; 3.选择服务类型,其中WEB代理使用起来最为简单,同时WEB代理可以控制粒度最细的SSLVPN应用,可以精确地制导任何一个链接; 4.端口映射的精细粒度仅次于WEB代理,它用TCP端口映射的方式(原理上类似于NAT内部服务器应用)为使用者提供TCP远程接入的服务,但是它需要特定的与服务器相应的SSLVPN客户端程序辅助; 5.IP连接是SSLVPN中粒度精细程度相对较差的,但是它已经被广泛使用,它实现了和L2TP相似的特性,服务器可以给每一个客户端一个VPN地址从而可以直接访问内部服务器,但是它也与端口映射一样需要专门的SSLVPN客户端程序帮忙; 6.SSLVPN由于处在TCP层,所以可以进行丰富的业务控制,如行为审计,可以记录每名用户的所有操作,为更好地管理VPN提供了有效统计数据; 7.当使用者退出SSLVPN登陆页面时,所有上述安全会话会统统释放。 [2]