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