◆李少杰 周 剛 王 理
?
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.