◆李少杰 周 刚 王 理
VMware Horizon系统架构及身份认证机制分析
◆李少杰 周 刚 王 理
(解放军信息工程大学 河南 450000)
VMware Horizon是VMware公司研发的一款基于多操作系统、提供虚拟桌面及应用服务的云软件解决方案,用户众多且市场占有率高,,研究其系统架构并分析其身份认证方式十分必要。本文通过搭建VMware Horizon解决方案的模拟实验环境,对其系统组件的作用与功能进行介绍,并对其登录的身份认证机制进行分析,最后对其安全性进行总结。
VMware Horizon;系统架构;身份认证
随着信息技术的高速发展,集成电路的集成度越来越高,体积越来越小,性能成倍增长,但是计算机软件系统的发展速度却远远不能满足人们对硬件利用率的需求。虚拟化桌面不但能够极大地提高计算机资源的利用率,降低企业成本,而且还能提高管理效率,带来更好的安全性与稳定性。自2014年以来至今,随着VMware Horizon系列产品的推出,VMware公司在虚拟化桌面的道路上进入了强有力的竞争轨道[1]。
VMware Horizon是美国VMware公司研发的一款云软件解决方案,用户能够基于各个操作系统对虚拟桌面及应用进行访问。它还可以使用HTML5浏览器远程登录访问,无须安装客户端软件。它以虚拟工作空间的方式提供具有弹性的桌面服务,为用户体验、管理和服务带来便利[2]。
VMware部署的桌面虚拟化设施用户众多,不仅局限于设计及医疗行业,现在已经广泛应用部署于如企业、金融、运营商等行业中,是未来的发展趋势。因此,对其系统架构以及身份认证机制进行了解,并对其安全性进行分析十分必要。
VMware Horizon云网络的系统架构较为庞大,组件种类多,网络通信协议复杂[3]。该解决方案部署在vSphere基础之上,主要组件包含如下:AD、Connection Server、Security Server、Composer、SQL Server、vCenter Server、Horizon View Client、Vapp Server、Virtual Desktop以及View Agent[4]。简单架构部署示意图如图1。
图1 VMware Horizon系统架构示意图
Horizon View Client:用于访问Horizon View虚拟桌面或者应用的客户端软件,可以支持Windows、linux、Mac操作系统的计算机或笔记本电脑,通过配置html access服务端可以利用Web页面进行访问。
Security Server:安全服务器,位于DMZ区域,用于防止DOS攻击并提供安全防护;
Connection Server:连接服务器,相当于客户端连接的代理服务器;
Composer:服务器用于从虚拟桌面模板集中克隆出多个虚拟桌面;
vCenter Server:用于管理连接到网络所有组件的VMware ESXi服务器;
AD:域控服务器,上面安装有Active Directory,用于对用户进行身份认证;
SQL Server:数据库服务器,用于集中管理系统日志、vCenter和Composer中的日志;
View Agent:安装于每个终端虚拟主机上,用于与连接服务器和安全服务器内部通信使用,提供虚拟应用和桌面;
Vapp Server和Virtual Desktop:虚拟应用服务器和虚拟桌面,用于为用户提供个人的虚拟应用及桌面服务,需要提供口令或智能卡进行身份认证后使用。
以上均为VMware Horizon View的基础组件,在实际部署过程中云网络中还会添加CA证书服务器、Horizon Workstation、ThinApp、防火墙、备份服务器等其他组件。
VMware Horizon云网络的网络架构可以分为外网、DMZ区和内网。客户端位于外部网络,安全服务器位于DMZ区,需要配置双网卡,其余组件全部放在内部网络之中。DMZ区起到了安全防护以及负载平衡的作用。外网接入内网的网络数据由TLS协议以及PCoIP协议加密传输,网络拓扑结构整体安全可靠[5]。其网络架构及通信示意图如图2。
图2 Horizon网络架构及通信示意图
① Horizon View客户端或者浏览器通过TCP 443端口(HTTPS)从外网接入DMZ区域中的Security Server,二者之间网络数据通过TLS协议加密传输,能够保证数据通信安全,DMZ区域中的Security Server起到安全防护以及负载平衡的作用。
②客户端认证通过后登录成功,开始使用虚拟桌面及应用。此时通信数据在TCP 4172端口上建立PCoIP连接,此过程是PCoIP连接的会话握手阶段。
③握手成功后,在UDP 4172端口上为Horizon View Client和服务器之间建立双向PCoIP连接传输ESP加密数据。此后用户可以安全使用虚拟桌面及应用。
④在Horizon View管理端也可以设置使用Blast Extreme协议[6]。此协议先通过TCP 443端口接入Blast安全网关,认证通过后与View Agent通过TCP 22443端口建立Blast安全网关连接,握手成功后通过UDP 22443端口传输加密数据。最后Blast安全网关使用UDP 8443端口回传给客户端。如不特殊设置系统默认使用PCoIP协议。
⑤浏览器在身份认证成功后,直接通过TLS协议与View Agent建立连接,握手成功后使用④过程中Blast Extreme协议进行后续加密通信。
Security Server服务器中PCoIP安全网关、Blast安全网关以及HTTPS Server为安全服务器内开启的服务程序,Horizon View Agent为终端主机中虚拟桌面及应用服务器开启的服务程序[7]。
VMware Horizon云网络采用两层身份认证机制[8],第一层应用于用户接入层与应用交付层之间,第二层应用于应用交付层与核心应用层之间。各层之间使用防火墙严格隔离,只开放访问必需的端口。
第一层通常选用用户口令认证、智能卡认证或一次性口令认证。接入层是云网络的最外层,用户向服务端请求的操作会通过接入层的负载均衡功能实现自动分配,而用户在服务端的执行结果也会通过此层以加密的方式回传给用户。该层的身份认证机制主要用于解决网络的接入问题。
第二层为Cookie票据认证,客户端需要发送携带JSESSIONID值的Cookie票据实现身份认证。当第一层认证通过后,服务器会临时产生JSESSIONID值,并通过Cookie票据发送给客户端。客户端后续的服务请求将携带含有JSESSIONID值的Cookie信息作为身份凭据。VMware Horizon云网络身份认证过程如图3所示:
图3 VMware Horizon云网络身份认证示意图
①客户端用户从外部网络接入云网络时,需要输入用户口令、插入智能卡或者输入一次性口令进行身份认证。此通信数据通过TLS协议加密传输;
②认证数据经过安全服务器和连接服务器,传入域控服务器中进行身份认证,认证方式采用标准Kerberos协议。若是智能卡或者一次性口令认证方式,则是安全服务器充当认证作用;
③身份认证通过后,会由连接服务器充当认证服务器向客户端返回带有32字节JSESSIONID值的票据;
④客户端拿到票据后,便可使用该票据进行对核心应用层的访问。
VMware Horizon作为广泛部署使用的云办公信息系统,具有如下安全性特点[9]:
(1)采用虚拟化结构,云客户端权限低、资源少,使得传统基于物理主机攻击技术方法难以适用;
(2)具有中心化的日志审计、集中化的访问控制、标准化的防护体系和专业化的网络管理,使得网络攻击行为难以遁形;
(3)统一的访问通道,认证机制强、认证要素多,身份认证机制突破困难。
总而言之,VMware Horizon在系统架构层面,架设DMZ区,能够很好地防止DOS攻击,对木马病毒起到安全隔离的作用。内外网分离,并且中间配有防火墙,能够很好阻挡外部的探测行为和攻击行为。
身份认证过程中用户通过HTTPS协议访问安全服务器,加密隧道使用TLS协议保护,数据加密采用AES-128,密钥交换采用ECDHE,成功登录后应用数据通过PCOIP协议加密传输。身份认证环节设计严密,安全防护强,算法强度高。
本文介绍了VMware Horizon云网络的组成架构与组件功能,网络架构与登录通信协议,重点对身份认证机制进行研究,最后对其安全性进行总结分析。
[1]Durand S, Pase W. The Virtual Desktop: Options and Challenges in Selecting a Secure Desktop Infrastructure Based on Virtualization[J],2011.
[2]王春海.全面掌控VMware Horizon View——准备实验环境[J].网络运维与管理,2014.
[3]Von Oven P. VMware Horizon View Essentials[M]. Packt Publishing Ltd, 2014.
[4]吴孔辉.VMware Horizon桌面与应用虚拟化权威指南:VMware Horizon desktop and application virtualizationessential guide[M].机械工业出版社,2015.
[5]李洪南.基于VMware Horizon Suite的桌面虚拟化的研究与实现[D].中国地质大学(北京),2013.
[6]SurksumK V.Tech:Network port diagram for Horizon View[J],2013.
[7]Ventresco J. Implementing VMware Horizon View 5.2[M]. Packt Publishing Ltd, 2013.
[8]Li H, Dai Y, Tian L, et al. Identity-based authentication for cloud computing[C]//IEEE International Conference on Cloud Computing. Springer, Berlin, Heidelberg, 2009.
[9]向军,张恩刚,张沛等.桌面虚拟化技术研究[J].中国信息界,2010.