基于RSA SecureID双因素身份认证的SSL VPN访问控制方案的设计与实现
2016-02-06左珍勇
◆左珍勇
(中国航空无线电电子研究所 上海 200000)
基于RSA SecureID双因素身份认证的SSL VPN访问控制方案的设计与实现
◆左珍勇
(中国航空无线电电子研究所 上海 200000)
针对目前企业远程办公存在的安全性问题,本文提出并设计了一种基于RSA 双因素身份认证的SSL VPN远程访问控制方案。该方案将RSA与VPN网关进行联动,通过RSA的radius服务器对VPN用户进行身份认证与策略匹配,根据用户匹配的策略进行IP地址的指定,并结合VPN网关后端的防火墙最终实现远程办公用户对企业内部资源的访问控制。最后以cisco annyconnect 客户端VPN软件为例验证了本文方案的有效性。
远程办公;动态口令;SSLVPN;Radius服务器;访问控制
0 引言
随着互联网技术的飞速发展,越来越多的企业员工与合作伙伴提出了远程办公和协同办公的需求,进而能够随时随地的接入企业内部网络,访问内部资源。为了对接入后的用户进行身份验证、对接入后资源的受控访问以及解决远端主机接入后的安全性问题,VPN(虚拟专用网络:virtual private network)技术应运而生。作为目前大多数企业主流的远程办公手段,VPN技术可以有效地对接入企业内部网络的用户进行身份验证,通过隧道加密技术实现了数据在公网的安全传输,规避了企业内部网络遭受攻击、内部资源遭受窃取的风险,为企业提供了一种安全有效的数据保护机制。
目前主流的VPN技术包括IPSec(互联网协议安全:Internet Protocol Security)VPN和SSL(安全套接层:Security Socket Layer)VPN。IPSec VPN能够对远程接入企业内部网络的用户提供较好的安全认证和授权服务,对网络层的数据传输进行加密,透明部署在网络环境中,具有较高的易用性和灵活性。SSL VPN工作在应用层,为企业提供安全的远程访问服务和数据加密传输,无需安装客户端软件,在企业网络环境中部署灵活,能够对企业内部的资源进行细粒度的访问控制。
目前对于IPSsec VPN和SSL VPN在用户接入时多采用传统的用户名加静态口令的方式进行身份认证,由于企业在日常的信息安全管理中多使用静态口令进行认证,需要用户记忆和管理的口令数量多、分散性强,许多口令都是“终身”使用,不能及时更换,同时在开放的网络环境中存在大量破解静态口令的工具(暴力破解、口令字典、协议分析工具等)。种种因素增加了包括VPN用户在内的企业用户与合作伙伴在通过静态口令接入企业内部网络环境下用户名和口令被截获与破解的风险,从而给企业内部网络环境造成了巨大的网络安全隐患。
本文针对远程办公用户在通过VPN接入时使用静态口令方式进行认证存在的安全风险,提出并设计了一种基于RSA SecureID双因素动态口令认证的SSL VPN远程访问控制方案。该方案将RSA与VPN网关进行联动,通过RSA的Radius服务器与企业域控进行VPN账号同步,并对VPN用户进行身份认证与策略匹配,VPN网关根据用户匹配到的策略对对应的终端进行IP地址的分配,并结合VPN网关后端的防火墙进行访问控制规则的配置,最终实现远程办公用户对企业内部资源的访问控制。
1 SSL VPN工作原理分析
1.1 SSL协议的结构
SSL VPN是基于SSL协议工作的虚拟专用网络,该协议是由网景通信公司提出,共分为上下两层:下层为记录协议,上层协议由握手协议、警报协议以及更改密码规格协议组成,图1为SSL协议结构图。
图1 SSL协议结构图
SSL记录协议包括首部和数据部分,首部包含内容类型、协议版本号以及数据长度字段,协议数据部分主要是数据的处理过程,包括数据分组、消息验证码添加、数据压缩与加密。SSL握手协议用于连接Client与Server之间算法加密与版本协商、身份认证以及密钥会话产生。SSL更改密码规格协议用于SSL会话重用中和 SSL 握手完成时使用,发送该消息表示接下来的数据会使用当前会话中加密套件或者当前SSL握手协商好的加密套件进行加密。SSL警报协议用于包装并传递告警信息。
1.2 SSL VPN的原理
SSL VPN是以HTTPS协议为基础,使用SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制等功能构建的VPN,它为企业员工远程访问公司内部网络资源提供安全接入保障。通常情况下,企业级的SSL VPN 服务器一般部署在防火墙之后,通过在防火墙上开通相应端口(通常为443端口)为企业员工提供VPN远程接入服务。用户在漫游情况下访问公司内部资源时,需通过企业内部防火墙开通的对应SSL VPN端口连接VPN服务器,通过身份验证后VPN服务器将允许访问的内网资源返回给漫游用户,用户访问内网服务器资源的需求通过加密隧道传递给SSL VPN服务器并由其与内网服务器之间进行交互,交互的结果再由SSL VPN服务器通过加密隧道返回给用户,完成用户通过VPN访问公司内部网络资源。在整个访问过程中,SSL VPN起到了连接漫游用户客户端和企业内部服务器之间的桥接作用。
1.3 SSL VPN的接入方式和实现机制
SSL VPN有两种接入方式:无客户端方式和瘦客户端方式。
无客户端是指通过IE浏览器实现内容重写和应用翻译。实现机制有四个方面:(1)通过动态翻译WEB内容中内嵌的URL连接,使之指向SSL VPN网关虚拟门户;(2)重写内嵌在HTML页面中Javascript、Cookie的URL连接;(3)重写Web Server的回应,使之符合internet标准格式;(4)扩展到一些非Web应用,如文件共享访问。无客户端方式支持的应用类型可以是web方式也可以是文件共享。通过Web方式可以访问企业的WEB应用、Web资源如Outlook Web Access等。文件共享是指可以通过浏览器访问内部文件系统,浏览目录、下载和上传文件UNIX(NFS)文件、Windows(SMB/CIFS)文件等。
瘦客户端方式是指客户端作为代理实现端口转发,但是SSL VPN 客户端是自动下载的,所以对客户来讲是透明的。瘦客户端支持的应用类型是所有基于固定端口的TCP应用,如Exchange/Lotus Notes、Email(POP/IMAP/SMTP)、Telnet等。
2 RSA SecureID 双因素身份认证系统工作原理分析
在网络信息安全的五个功能中(身份认证、授权、保密性、完整性和不可否认),身份认证(Authentication)是最基本、最重要的环节,即使将授权、保密性、完整性、不可否认等环节做得很完善,但如果盗用了合法的帐号和口令登录系统,系统仍然认为他是合法用户,通过给予他相应的访问权限即可访问相关系统,进而使系统处于危险状态。
2.1 RSA SecureID双因素认证系统的构成
RSA SecureID 双因素认证系统作为近几年兴起的技术,已逐渐成为身份认证领域的标准。双因素身份认证正是解决静态密码不安全的问题,它可以确保用户身份的合法性及唯一性。何为双因素:双因素=你知道的+你持有的。你知道的=PIN码(一段静态密码),你持有的=动态令牌(每1分钟变化1次的密码)。图2为双因素动态口令的构成,完整的双因素口令(首次使用令牌的时候设定)是PIN码和动态令牌码组合到一起构成的。
图2 双因素动态口令构成示意图
2.2 双因素身份认证的原理
图3为基于时间同步专利技术的双因素身份认证原理图,通过比对令牌和认证服务器各自单独运算的结果是否相符确认用户身份。
图3 基于时间同步专利技术的双因素身份认证原理图
2.3 RSA SecureID双因素身份认证的过程
图4为RSA SecureID双因素身份认证的过程,用户首先提交申请给RSA代理,并由其发送认证请求给认证服务器,其次认证服务器处理认证请求并反馈给RSA代理,最后由RSA代理将认证结果返回给用户,告知其允许访问的应用。
图4 RSA SecureID双因素身份认证过程图
3 方案的设计与实现
3.1 方案设计
本文提出并设计的基于RSA双因素身份认证的SSL VPN远程访问控制方案主要包括用户身份验证模块设计、用户权限匹配模块设计以及访问控制设计。
用户身份验证模块采用Radius服务器对用户身份进行验证,RSA双因素身份认证系统承担Radius服务器的角色,负责设计Radius Profile、Radius clients以及与微软域控的同步,漫游用户VPN登录的账号为企业内部微软域控的账号,RSA的Radius服务器通过与微软的域控进行联动,实时同步域控账号作为VPN的登录账号。漫游用户登录VPN时采用静态加动态口令的形式输入到Radius服务器进行身份验证,通过后即可匹配到相应策略授权。用户权限匹配模块设计由VPN网关完成。VPN网关在设计漫游用户匹配权限时主要包括Wins服务器、DNS服务器、WEB VPN协议、组锁定、隧道分离、地址池、认证类型以及组别名等设计工作。访问控制的设计由防火墙完成。
图5是基于RSA SecureID双因素身份认证的SSL VPN访问控制方案的设计原理框图,在该图中,RSA双因素身份认证系统负责对用户的身份进行验证;SSL VPN网关负责根据用户的profile匹配对应的策略,进而进行ip地址的分配;防火墙通过访问控制规则对用户访问企业内网资源的行为进行放行或阻断。
图5 基于RSA SecureID双因素身份认证的SSL VPN访问控制方案的设计原理框图
3.2 方案实现
根据3.1节方案设计中提到的几个模块,本章节将针对性地提出各个模块的具体实现方式,其中用户身份验证模块和访问控制模块目前技术实现已比较成熟,本章节将仅作简单描述,对用户权限匹配模块的实现将进行详细介绍。方案实现的具体效果示意图如图6所示。
图6 基于RSA双因素身份认证系统的SSL VPN访问控制方案的实现效果示意图
(1)用户身份验证模块的实现
用户身份验证通过Radius服务器实现,Radius服务器的架设在RSA双因素身份认证系统内进行配置,该系统提供了统一的web管理界面:RSA Security Console,通过该管理界面我们可以完成漫游VPN用户与动态令牌的绑定、用户Radius Profile的创建、Radius server的创建以及与微软域控的集成。
(2)用户权限匹配模块的实现
用户权限匹配模块的设计由VPN网关实现。本文选取了思科某主流型号的VPN网关产品,通过以下配置实现漫游用户通过SSL VPN拨入后的权限匹配。
①创建IP地址池
ip local pool imo_pool 10.4.21.100-10.4.21.200 mask 255.255.255.0
②创建用户组策略,其中包括设定用户组策略的名称、属性(WINS、DNS、组锁定等信息)
group-policy imo_vpn_policy internal #创建用户组策略名称
group-policy imo_vpn_policy attributes #定义用户组策略属性
wins-server value 192.168.200.101 #定义wins服务器
dns-server value 192.168.201.101 202.96.209.5 #定义dns服务器
vpn-tunnel-protocol svc webvpn #定义vpn隧道协议为ssl vpn
group-lock value imo_vpn #对用户组进行锁定,只有在该组内的用户才能匹配该策略
③定义感兴趣流
split-tunnel-policy tunnelspecified #对感兴趣流的属性进行定义
split-tunnel-network-list value imo_splitTunnelAcl #选择隧道分离的方法为指定的唯一网络
webvpn
svc ask enable
④设置用户组的属性
tunnel-group imo_vpn type remote-access #定义imo_vpn组的隧道组类型为远程接入
tunnel-group imo_vpn general-attributes #定义imo_vpn隧道组属性
address-pool imo_pool #定义隧道组分配的IP地址池authentication-server-group rsa #定义隧道组验证方式通过rsa
default-group-policy imo_vpn_policy #定义隧道组应用的用户组策略
tunnel-group imo_vpn webvpn-attributes #定义隧道组webvpn属性
group-alias IMO_VPN enable #定义隧道组的别名
(3)访问控制模块的实现
访问控制功能由防火墙实现。漫游用户VPN接入成功后就可根据匹配的策略获取对应的IP地址,防火墙根据IP地址创建相应的访问控制规则,实现对用户访问企业内网资源的权限控制。
4 仿真与分析
本节以主流的cisco VPN网关为例,通过几幅图对漫游VPN用户接入的过程进行简要描述。首先漫游用户在拨入企业VPN的时候需要在客户端安装一个客户端软件(本文以Cisco anyconnect客户端软件为例),通过运行该客户端后使用企业发布的公网VPN地址(vpn.contoso.com)建立VPN连接通道。图7为Cisco anyconnect vpn客户端。
图7 Cisco anyconnect vpn客户端
图8 客户端组选择以及用户身份验证界面
vpn隧道在建立的过程中,需进行用户组选择以及身份验证,该阶段的用户需要选择对应的组,从而获取对应的策略,如果没有正确选择,将无法通过身份验证。图8为客户端组选择以及用户身份验证界面。在身份验证阶段,用户名为微软域控的用户账户,密码是4-8位的静态密码加RSA对应的6位动态密码。组选择以及用户身份验证通过后,vpn隧道将会建立起虚拟连接,在该阶段内,vpn客户端将会向vpn网关请求网络地址,一般企业的vpn客户端地址分配通常采用DHCP方式进行,不同的组将会获取到不同的ip地址,以致最终决定该ip地址能够访问的企业内部资源。图9为vpn隧道建立完成指示以及完成后客户端分配到的IP地址。
图9 vpn连接建立与客户端ip地址分配
5 结束语
本文对目前企业在远程接入办公存在的信息安全问题进行了分析,有针对性地提出并设计了一种基于RSA 双因素身份认证的SSL VPN远程访问控制方案,并结合企业实际使用场景,进行了计算机仿真与验证。通过部分的仿真结果阐述了本方案在目前企业中对于vpn用户访问内网资源控制的有效性和重要性。通过本方案可以对接入企业内网的vpn用户进行有效的身份鉴别和资源访问控制,在网络安全层面为企业信息化资源访问控制提供一道安全防护屏障,对于企业在实施信息化建设以及运维过程中对数据安全防护具有非常重要的意义。
[1]Younglove R.Virtual private networks how they work[J].Computing&Control Engineering Journal,2005.
[2]Castelluccia C,Mykletun E,Tsudik G.Improving Secure Server Performance by Re-balancing SSL/TLS Handshakes[J].Proceedings of the 2006 ACM Symposium On Information,Computer and Communications Security.New York,NY,USA:ACM Press,2006.
[3]Huaqing Mao.A comparative research on ssl vpn and ipsec vpn[C].Wireless Communications,Network and Mobile Computing(WICOM),2012 8th international Conference on.2012.
[4]冯光辉.结合动态口令的VPN设计与实现[D].山东大学,2008.
[5]张铭.SSL VPN技术在济钢业务远程访问中的应用[D].山东大学,2010.