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