1.引言
云計(jì)算是當(dāng)前計(jì)算機(jī)領(lǐng)域最為熱門的問題之一,可以通過計(jì)算資源的虛擬化技術(shù),打破數(shù)據(jù)中心服務(wù)器的物理限制,實(shí)現(xiàn)彈性的資源提供,以及按需的平臺(tái)和軟件服務(wù)。云計(jì)算的發(fā)展符合計(jì)算技術(shù)基礎(chǔ)架構(gòu)化的大趨勢(shì),是繼網(wǎng)格計(jì)算、服務(wù)計(jì)算之后興起的又一輪技術(shù)創(chuàng)新和產(chǎn)業(yè)化熱潮。
云計(jì)算的一個(gè)重要應(yīng)用場(chǎng)景就是桌面云。遠(yuǎn)程桌面的技術(shù)由來已久,而桌面云是近年來興起的將遠(yuǎn)程桌面與云計(jì)算技術(shù)相結(jié)合的產(chǎn)物。IBM對(duì)其做出的定義為:“可以通過瘦客戶端或者其他任何與網(wǎng)絡(luò)相連的設(shè)備來訪問跨平臺(tái)的應(yīng)用程序,以及整個(gè)客戶桌面”。通過云計(jì)算平臺(tái)來托管多個(gè)用戶或應(yīng)用的虛擬機(jī),不同平臺(tái)下的用戶主機(jī)或者應(yīng)用服務(wù)器可以進(jìn)一步共享云平臺(tái)的資源,同時(shí)支持用戶通過遠(yuǎn)程桌面在線訪問。
隨著網(wǎng)絡(luò)的不斷發(fā)展,人們有條件采用圖形化的方式來訪問遠(yuǎn)程的資源,因此瘦客戶端的模式,剛很早就引起了研究者的關(guān)注。在目前大量的遠(yuǎn)程圖形化訪問協(xié)議中,微軟的RDP,開源的VNC,Citrix的ICA協(xié)議是目前應(yīng)用比較廣泛的。RDP協(xié)議僅能用于windows系統(tǒng)之間的遠(yuǎn)程連接,但1inux系統(tǒng)上有開源的rdesktop實(shí)現(xiàn),可以作為RDP的客戶端。VNC協(xié)議則是開源的,在各種系統(tǒng)上均能夠使用,但由于傳送的數(shù)據(jù)量比較大,在網(wǎng)絡(luò)和終端處理能力有限的情況下表現(xiàn)不佳。
本文實(shí)現(xiàn)了一個(gè)桌面云的安全訪問和共享管理系統(tǒng)。相比于傳統(tǒng)的遠(yuǎn)程桌面訪問軟件,本系統(tǒng)更加注重用戶之間的關(guān)系,采用虛擬組織的方式對(duì)所有的用戶及資源進(jìn)行組織管理。同時(shí)通過VPN等技術(shù)與RDP遠(yuǎn)程訪問相結(jié)合,確保訪問的安全性。虛擬組織,是通過虛擬的信息來組織人或其他資源之間的關(guān)系。在云計(jì)算中,離不開各個(gè)用戶之間的關(guān)系,也離不開人對(duì)資源的占有和共享。因此在云計(jì)算中采用虛擬組織的形式來組織用戶關(guān)系是一種有效的嘗試。
本文第2節(jié)開始介紹虛擬組織的認(rèn)證與管理,第3章為基于虛擬組織的桌面云中虛擬機(jī)的管理和共享機(jī)制研究,第4章闡述虛擬機(jī)的安全訪問機(jī)制,第5章是系統(tǒng)的實(shí)現(xiàn)以及使用案例。
2.虛擬組織認(rèn)證與管理
虛擬組織(Virual Organization),又稱虛擬社區(qū)(Virtual Community),可以定義為一群主要藉由計(jì)算機(jī)網(wǎng)絡(luò)彼此溝通的人們,他們彼此有某種程度的認(rèn)識(shí)、分享某種程度的知識(shí)和信息、在很大程度上如同對(duì)待朋友般彼此關(guān)懷,從而所形成的團(tuán)體。
虛擬組織擁有不同于現(xiàn)實(shí)社區(qū)的獨(dú)特屬性:
超時(shí)空性:虛擬組織不受物理上距離的限制,地球兩端的兩個(gè)人也可以通過虛擬組織進(jìn)行交流。時(shí)間上也同樣不受限制,你所發(fā)表的一句話或是一個(gè)操作,可能會(huì)在幾天后被其他人看到并作出回應(yīng)。
匿名性:在虛擬組織中每個(gè)人都只有一個(gè)符號(hào)。你可以隨意選取你的名字,由于不能看到對(duì)方的真面目,傳統(tǒng)的性別,年齡,相貌,都在虛擬組織里不再重要。
群體流動(dòng)頻繁:在虛擬組織中,人際關(guān)系較為松散,群體流動(dòng)頻繁,大家可能會(huì)被某個(gè)組織的人氣所吸引而加入一個(gè)組織。
2.1 成員身份認(rèn)證
虛擬組織的管理基于用戶身份認(rèn)證和數(shù)據(jù)庫的查詢與更新。對(duì)此我們采用了相對(duì)比較成熟的認(rèn)證機(jī)制和數(shù)據(jù)庫管理軟件,以保證系統(tǒng)的安全性和可靠性。
身份認(rèn)證基于數(shù)字證書PKI機(jī)制。PKI(PubliCKey Infrastructure)即“公鑰基礎(chǔ)設(shè)施”,“是一種遵循既定標(biāo)準(zhǔn)的密鑰管理平臺(tái),它能夠?yàn)樗芯W(wǎng)絡(luò)應(yīng)用提供加密和數(shù)字簽名等密碼服務(wù)及所必需的密鑰和證書管理體系,簡單來說,PKI就是利用公鑰理論和技術(shù)建立的提供安全服務(wù)的基礎(chǔ)設(shè)施。”
PKI允許用戶相互驗(yàn)證各自使用的、由認(rèn)證中心頒發(fā)的數(shù)字證書,從而確認(rèn)對(duì)方身份并建立加密可信的連接。
2.2 組織管理
虛擬組織的管理主要通過虛擬組織的中心服務(wù)器實(shí)現(xiàn)。中心服務(wù)器在整個(gè)系統(tǒng)中起了核心的作用,負(fù)責(zé)了所有用戶和資源信息的存儲(chǔ),以及用戶問,用戶與資源問的信息交互。它主要由兩部分程序組成:一是等待用戶傳送信息并處理,二是發(fā)送請(qǐng)求到服務(wù)提供商。在我們的虛擬機(jī)遠(yuǎn)程訪問的應(yīng)用中,服務(wù)提供商就是虛擬機(jī)的管理端。
接受用戶的信息端,服務(wù)器接受到客戶端發(fā)送的請(qǐng)求后,仍然是分為兩種情況,一種是虛擬組織操作命令,另一種是虛擬機(jī)相關(guān)操作命令。
對(duì)于虛擬組織操作命令,主要包括創(chuàng)建虛擬組織,刪除虛擬組織,申請(qǐng)加入,批準(zhǔn)成員加入,從組織中刪除成員等。這部分命令和邏輯是基于虛擬組織的服務(wù)通用的。
3.虛擬機(jī)管理與共享機(jī)制
基于虛擬組織的成員認(rèn)證和管理,可以實(shí)現(xiàn)桌面云中虛擬機(jī)的管理與共享。下面分別介紹桌面云應(yīng)用中用戶的幾種主要請(qǐng)求情況。
3.1 新建虛擬機(jī)
在我們的系統(tǒng)中,同一個(gè)虛擬組織內(nèi)部可以深度共享資源,因此虛擬機(jī)在虛擬組織內(nèi)是可以共享的。而一個(gè)用戶可以加入多個(gè)虛擬組織,并使用這幾個(gè)虛擬組織中的虛擬機(jī)。因此用戶在要求新建虛擬機(jī)的時(shí)候必須指定將該虛擬機(jī)共享于哪一個(gè)虛擬組織內(nèi)。在客戶端的設(shè)計(jì)中,用戶此時(shí)發(fā)送的信息包括:
事件:CreateVM(創(chuàng)建虛擬機(jī))虛擬組織名稱:VoName設(shè)計(jì)虛擬機(jī)名稱:VmName。
創(chuàng)建虛擬機(jī)的流程包括:(1)檢查用戶身份;(2)檢查虛擬組織即確認(rèn)權(quán)限;(3)查找可用的虛擬機(jī)提供端:(4)向虛擬機(jī)提供端提交請(qǐng)求;(5)向數(shù)據(jù)庫中添加記錄。
3.2開啟虛擬機(jī)
在客戶端的設(shè)計(jì)中,開啟虛擬機(jī)發(fā)送的信息包括:
事件:OpenVm虛擬機(jī)名稱:VmName
在創(chuàng)建虛擬機(jī)的時(shí)候,虛擬機(jī)名稱就已經(jīng)確定了,而且是唯一的,因此用戶只需要指定虛擬機(jī)的名稱就可以了。
服務(wù)器在接收到指令之后,進(jìn)行以下步驟。
(1)檢查用戶身份;(2)在數(shù)據(jù)庫中查詢用戶所在的虛擬組織;(3)找到用戶所請(qǐng)求的虛擬機(jī),未授權(quán)的虛擬機(jī)則無法查詢到:(4)向虛擬機(jī)提供端提交請(qǐng)求;(5)將虛擬機(jī)訪問信息返回給用戶。
3.3 關(guān)閉(休眠)虛擬機(jī)
關(guān)閉虛擬機(jī)是比較簡單的一個(gè)步驟,基本與開啟虛擬機(jī)相同。只不過發(fā)送的指令是:
事件:CloseVm(SleepVm) 虛擬機(jī)名稱:VmName其后的操作與開啟虛擬機(jī)基本對(duì)應(yīng)。
4.虛擬機(jī)安全遠(yuǎn)程訪問
我們使用VirtualBox提供虛擬機(jī)支持,同時(shí)VirtualBox虛擬機(jī)本身支持開啟RDP遠(yuǎn)程桌面的功能,我們正是利用這個(gè)特性進(jìn)行虛擬機(jī)的遠(yuǎn)程訪問。在服務(wù)端,開啟虛擬機(jī)時(shí)使用VBoxHeadless命令,就可以讓虛擬機(jī)在后臺(tái)打開,并且在宿主機(jī)中的某一個(gè)端口開啟基于TCP協(xié)議的RDPnE務(wù)。
在客戶端可以使用rdesktop。命令來遠(yuǎn)程訪問該虛擬機(jī)。然而,VirtualBox中的RDP協(xié)議僅有不進(jìn)行認(rèn)證和進(jìn)行簡單認(rèn)證兩種方式來控制終端的連接,從安全訪問的角度來講這是遠(yuǎn)遠(yuǎn)不夠的。因此,我們使用了VPN來保證訪問的安全性和唯一性。
VPN(Virtual Private Network),即虛擬專用網(wǎng)絡(luò)。目前組建VPN虛擬專用網(wǎng)主要依靠四項(xiàng)技術(shù)來保證安全:隧道技術(shù)、加解密技術(shù)、密鑰管理技術(shù)和身份認(rèn)證技術(shù)。在本工作中,我們用OpenVPN對(duì)證書的驗(yàn)證功能。
整個(gè)系統(tǒng)分為客戶端和服務(wù)器端,效果如圖1所示。在圖1中,客戶端指的是遠(yuǎn)程訪問使用的顯示終端,服務(wù)器端指的是虛擬機(jī)提供桌面云端。服務(wù)器在云計(jì)算中可以是提供虛擬資源的服務(wù)器集群,在虛擬組織內(nèi)每位提供虛擬機(jī)共享的成員都可以作為服務(wù)器。由于VirtualBox的訪問模式是主機(jī)的域名(或IP)加上被訪問虛擬機(jī)占用的主機(jī)端口,虛擬機(jī)訪問權(quán)限的控制就可以簡化為對(duì)服務(wù)器端口訪問的控制。
圖1 防火墻和授權(quán)遠(yuǎn)程訪問實(shí)現(xiàn)
防火墻開啟后,所有虛擬機(jī)所占用的端口都被保護(hù),不能被訪問。如何開啟某端口的訪問權(quán)限,這需要OpenVPN的配合。
首先在服務(wù)器上安裝OpenVPN,使用OpenVPN進(jìn)行身份驗(yàn)證需要CA的公鑰和CA頒發(fā)給用戶的證書,在配置文件中設(shè)置公鑰證書的訪問路徑。OpenVPN配置完畢后開啟OpenVPN服務(wù),客戶端就可以與服務(wù)器端建立安全連接。
需要注意的是,并不是所有的證書驗(yàn)證通過就能獲得端口訪問權(quán)限,證書驗(yàn)證通過只能說明對(duì)方與自己來自同一個(gè)組織,這里需要增加用戶訪問端口的權(quán)限。讀取證書后獲得證書CN(Common Name),使用CN=PORT的格式添加使用權(quán)限,如授權(quán)成員A1ice端口3399的訪問權(quán)限,就可以在/etc/openvpn/clients.rc添加A1ice=3399。
圖2 云服務(wù)器端流程圖
5.系統(tǒng)實(shí)現(xiàn)與使用案例
5.1 虛擬機(jī)管理與共享
客戶端目前采用命令行的方式與虛擬組織服務(wù)器交互?匆幌露鄠(gè)用戶在虛擬組織的管理之下的一些特性。
如圖3所示,用戶alice首先使用setupVO創(chuàng)建一個(gè)虛擬組織,名稱為V01,并且為其添加了一個(gè)虛擬機(jī)alice_1。
圖3 用戶alice創(chuàng)建虛擬組織與虛擬機(jī)
用戶alice就可以成功訪問虛擬機(jī)alice_1并且打開遠(yuǎn)程桌面進(jìn)行使用。
我們保留alice建立的虛擬組織,然后使用另一個(gè)用戶bob登陸客戶端,首先他嘗試打開alice建立的虛擬機(jī),系統(tǒng)將會(huì)返回錯(cuò)誤信息,因?yàn)閎ob不屬于alice建立的那個(gè)虛擬組織,無法使用該虛擬機(jī)。系統(tǒng)錯(cuò)誤信息指出用戶bob和alice創(chuàng)建的虛擬機(jī)alice-l不屬于同一個(gè)V0,因此訪問不成功。虛擬組織的管理起到了資源和用戶之間的全局權(quán)限管理的作用。
Bob此時(shí)申請(qǐng)加入V01,提交申請(qǐng)后使用alice登錄批準(zhǔn)該申請(qǐng)(因?yàn)閍lice是V01的管理員),再次用bob登錄,此時(shí)bob已經(jīng)是VOl組織中的正式成員,再次嘗試開啟虛擬機(jī)則可以成功,如圖4。
圖4 用戶bob加入V01后成功訪問虛擬機(jī)alice_1并且打開遠(yuǎn)程桌面
上述實(shí)驗(yàn)說明,在虛擬組織的管理下,用戶可以創(chuàng)建,開啟虛擬機(jī),并選擇在什么情況下共享該虛擬機(jī)。實(shí)現(xiàn)了在用戶間資源的深度共享。
5.2 虛擬機(jī)安全訪問
由于VirtualBox中的身份認(rèn)證十分簡單,而其官方文檔也建議將此認(rèn)證僅僅作為試用的認(rèn)證方式。因此我們?cè)O(shè)置在VirtualBox中對(duì)用戶身份不認(rèn)證,而如何確保安全訪問由VPN來控制。
我們?cè)诜⻊?wù)器端開啟兩臺(tái)虛擬機(jī),操作系統(tǒng)分別為Windows XP和Ubuntu,占用主機(jī)端口分別為3389和3391。然后開啟防火墻SHOpenVPN服務(wù),等待客戶端的連接。
圖5 使用授權(quán)證書訪問虛擬機(jī)
客戶端使用CA服務(wù)器頒發(fā)的證書去連接虛擬組織服務(wù)器,如果服務(wù)器的端口訪問控制策略里授權(quán)該用戶使用某端口,則可以訪問該端口,即可以遠(yuǎn)程控制該端口的虛擬機(jī)。
本例中服務(wù)器為證書grrrcert.pem授權(quán)了端口3389和93391,所以可以使用rdesktop連接10.8.0.1的3389端口。客戶端與服務(wù)器主機(jī)之間建立的安全通道,服務(wù)器端被定義為10.8.0.1這一虛擬IP,使用服務(wù)器真實(shí)IP連接則被防火墻拒絕。
如圖6所示,服務(wù)器為alicecert.pem授予3389端口的使用權(quán)限,alicecert.pem可以正常訪問該端口的虛擬機(jī),但是對(duì)于未授權(quán)的3391端口則會(huì)被服務(wù)器拒絕,盡管此時(shí)3391端口已經(jīng)為用戶grrrcert.pem開放。
圖6 使用證書訪問未授權(quán)的虛擬機(jī)不成功
至此可以發(fā)現(xiàn),使用防火墻和OpenVPN使虛擬機(jī)的共享安全和可靠,即控制了訪問權(quán)限,又保證了數(shù)據(jù)傳送的安全。
6.總結(jié)
本工作選取了遠(yuǎn)程虛擬機(jī)訪問這一云計(jì)算中的關(guān)鍵問題來進(jìn)行研究。虛擬組織是在虛擬環(huán)境下對(duì)用戶關(guān)系的一種模擬,可以很好的建立用戶之間數(shù)據(jù),資源共享機(jī)制,并且具有良好的可擴(kuò)展性。在虛擬組織的基礎(chǔ)上,我們實(shí)現(xiàn)了虛擬機(jī)的遠(yuǎn)程申請(qǐng)、訪問、關(guān)閉、共享等功能,是針對(duì)虛擬組織應(yīng)用的一個(gè)擴(kuò)展,也是未來云計(jì)算虛擬化管理的重要方向。在虛擬機(jī)遠(yuǎn)程訪問中,安全性是一個(gè)重要的問題,我們采用VPN這樣一種成熟的協(xié)議來確保訪問的安全,具有更好的可靠性和可移植性。
本工作未來具有廣闊的應(yīng)用前景,比如云制造是未來面向服務(wù)的網(wǎng)絡(luò)化制造新模式,在云制造應(yīng)用中,制造業(yè)的仿真和設(shè)計(jì)需要特殊的軟件和海量的計(jì)算資源做支持,云計(jì)算是理想的模式。未來工作將主要集中在與具體制造業(yè)應(yīng)用的集成。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.lukmueng.com/
本文標(biāo)題:基于虛擬組織的桌面云安全訪問與共享機(jī)制研究
本文網(wǎng)址:http://www.lukmueng.com/html/support/11121812490.html