vSphere提高虛擬機的安全性
目前,越來越多的大型企業(yè)或?qū)嶒炇亿呄蛴谑褂锰摂M化架構(gòu)來節(jié)約服務(wù)器成本與提高應(yīng)用的靈活性。不同的虛擬化平臺對應(yīng)管理客戶端的功能大同小異,都只是實現(xiàn)了虛擬機的基本開關(guān)機操作、硬件配置,以及集群的資源池、存儲池、動態(tài)遷移、災(zāi)難備份等功能,不僅缺乏對虛擬機安全上的管理和維護,而且這些管理工具每次只能針對一臺虛擬機進(jìn)行操作,管理效率極低。
針對目前市場上大多數(shù)管理軟件在安全管理方面嚴(yán)重不足的問題, vSphere安全管理套件提出了全新的解決方案,從多層面上實現(xiàn)對虛擬機進(jìn)行安全管理。
vSphere安全管理套件側(cè)重對運行在VMware vSphere平臺上的虛擬機進(jìn)行安全管理,它主要由管理員使用。
與目前已有的管理工具vSphere client相比,vSphere安全管理套件能批量管理虛擬機,一次操作完成對多個虛擬機的共同管理。而且vSphere安全管理套件還能給虛擬機提供安全方面的管理,保證用戶虛擬機的安全。同時,vSphere安全管理套件既適合小型公司使用,也能適合大型企業(yè)應(yīng)用,與VMsafe不同,它不需要在虛擬機內(nèi)安裝任何插件,規(guī)避了病毒破壞安全管理插件導(dǎo)致安全保護癱瘓的風(fēng)險。
vSphere安全管理套件通過RPC調(diào)用VMware公司提供的功能函數(shù)和我們掌握的編程技巧,以及SpringSource Java作為前端界面的主要開發(fā),來實現(xiàn)虛擬機離線升級、虛擬機離線殺毒、虛擬機進(jìn)程查看(包括隱藏進(jìn)程和各個進(jìn)程所用到的動態(tài)鏈接庫)、網(wǎng)絡(luò)流量監(jiān)控等功能。
場景
某企業(yè)使用VMware vSphere虛擬化架構(gòu)來節(jié)約服務(wù)器成本,各個部門的職員均被分配一臺虛擬機,但由于各個部門職能有差異,某些部門的職員可能不擅長管理或維護計算機,對計算機的維護可能會給他們帶來很大的困難或者會浪費他們很多的精力和時間,這會降低工作效率。
以更新系統(tǒng)來說,若在每臺虛擬機上安裝第三方系統(tǒng)升級軟件,如360安全衛(wèi)士等,將會使多臺虛擬機重復(fù)下載相同的更新包,不僅浪費網(wǎng)絡(luò)帶寬而且其速度隨之變得緩慢。
傳統(tǒng)的做法是,給每臺虛擬機安裝殺毒軟件,在職員開啟電腦的時候?qū)﹄娔X進(jìn)行掃描殺毒,這會導(dǎo)致電腦運行緩慢,嚴(yán)重影響用戶的使用。
針對上述兩個問題,vSphere安全管理套件將提供離線升級和離線殺毒功能,即當(dāng)公司職員下班或者不使用虛擬機的時候,在虛擬機完全關(guān)閉的情況下,管理員通過使用OOAU和OOAA對虛擬機進(jìn)行系統(tǒng)升級和磁盤掃描殺毒。把對虛擬機維護的時間和用戶的使用時間交錯,不需要用戶在上班時間對電腦進(jìn)行維護,也不用在用戶的使用時間中和用戶爭奪CPU資源,這將會極大方便用戶的使用。
不僅如此,vSphere安全管理還提供在線對虛擬機的維護——進(jìn)程監(jiān)控和網(wǎng)絡(luò)流量監(jiān)控。例如某職員在使用電腦的同時中了木馬程序,該木馬通過進(jìn)程隱藏,很難被發(fā)現(xiàn),而利用該進(jìn)程監(jiān)控功能,可以發(fā)現(xiàn)隱藏在虛擬機中的所有進(jìn)程,從而方便管理員判斷哪些虛擬機可能存在潛在威脅,并采取相應(yīng)措施,以防止該木馬從職員的虛擬機中竊取公司數(shù)據(jù)。網(wǎng)絡(luò)流量監(jiān)控側(cè)重于檢測虛擬機網(wǎng)絡(luò)數(shù)據(jù)包的傳送,如果發(fā)現(xiàn)用戶向外發(fā)送敏感數(shù)據(jù),使用vSphere安全管理套件的管理員也可以發(fā)覺,并采取相應(yīng)的措施。
圖1 系統(tǒng)整體結(jié)構(gòu)
圖2 管理員操作流程
圖3 用戶操作流程
總之,使用vSphere安全管理套件,可以對公司的虛擬機進(jìn)行最大程度上的維護,不僅保證虛擬機高效運行,而且能保護公司數(shù)據(jù)安全。
主要功能模塊解說
1.在本作品中,實現(xiàn)了在虛擬機電源關(guān)閉的情況下,直接讀寫虛擬機的磁盤,并通過這一成果,實現(xiàn)了虛擬機關(guān)閉的情況下進(jìn)行系統(tǒng)病毒掃描。與常規(guī)的在虛擬機內(nèi)部安裝殺毒軟件的方式相比,可以更有效地殺死在開機情況下難以清除的頑固病毒。
2. 在本作品中,實現(xiàn)了在虛擬機電源關(guān)閉的情況下,讀寫虛擬機中的注冊表文件,實現(xiàn)注冊表的讀取、掃描、添加鍵值、修改鍵值等操作。并基于上述的研究成果,實現(xiàn)了在虛擬機關(guān)機的情況下進(jìn)行操作系統(tǒng)補丁升級。該過程完全無需用戶干預(yù),最大限度地保證了用戶體驗。
3.在本作品中,我們通過直接讀取虛擬機運行時的內(nèi)存內(nèi)容,實現(xiàn)了列出虛擬機操作系統(tǒng)內(nèi)正在運行的各項進(jìn)程。由于是在底層實現(xiàn)該項功能,因此可以列出各種在操作系統(tǒng)中被隱藏的進(jìn)程比如Rootkit等木馬后門程序,實現(xiàn)最底層的安全監(jiān)控。
4. 在本作品中,我們通過在虛擬機內(nèi)部設(shè)置探針,實現(xiàn)了虛擬機網(wǎng)卡的流量計數(shù)。同樣,由于是底層的操作,故可以探測到常規(guī)流量監(jiān)控中被隱藏的流量,實現(xiàn)最完整的安全監(jiān)控。上述4個主要功能都不需要在虛擬機內(nèi)部安插任何插件,從而能將最干凈的虛擬機操作系統(tǒng)呈現(xiàn)給用戶使用,并且上述全部功能都可以進(jìn)行批量操作。
5.安全管理套件使用SpringSource Java + MySql,提供了一個基于Web的用戶界面 ,通過XML-RPC來與底層功能實現(xiàn)交互。
6.安全管理套件實現(xiàn)了一套用戶權(quán)限管理系統(tǒng),將虛擬機用戶和管理員的權(quán)限分開,以控制管理員隨意進(jìn)行未經(jīng)用戶允許的操作。用戶可以決定是否允許管理員對虛擬機進(jìn)行操作,也可以主動提交操作申請。管理員可以審查所有虛擬機的狀態(tài),執(zhí)行用戶提交的請求,或主動對允許操作的虛擬機進(jìn)行操作。
設(shè)備與環(huán)境
1. 開發(fā)設(shè)備
硬件:PC機一臺。CPU: 酷睿2 E8400 。內(nèi)存: 2G DDR3 。宿主操作系統(tǒng): Windows 7(離線升級、實時監(jiān)控),Ubuntu 10.04(離線殺毒)。虛擬化環(huán)境: VMware Workstation 7,VMware vSphere。虛擬機操作系統(tǒng): Windows XP SP2。
2. 平臺
利用的VMware公司提供的平臺,包括VMware vProbes、virtual disk develop kit 、vSphere SDK for Java 、VMware VIX API、MySQL、Avast for Linux。
Vsphere安全管理套件由后端功能模塊和前端Web界面構(gòu)成。其中后端功能模塊包括離線殺毒、離線升級、進(jìn)程監(jiān)控、流量監(jiān)控四個部分;前端Web界面包括用戶界面和管理員界面兩個部分。
安全套件的運行環(huán)境為一個Linux的Web Server,其基礎(chǔ)環(huán)境由VI Perl SDK、VMWare VIX API、Virtual Disk Development Kit、Apache2.2、PHP 5.3.2、MYSQL 5.1組成。其中負(fù)責(zé)基礎(chǔ)功能的Perl模塊作為RPC-SERVER的一部分,以CGI-BIN的方式在Apache上運行。
整體結(jié)構(gòu)如圖1所示。
系統(tǒng)流程
整個系統(tǒng)的用戶角色分為普通用戶和管理員兩種。普通用戶可以查看自己虛擬機的狀態(tài),并向管理員提交離線殺毒/升級操作申請,同時也可以設(shè)置是否允許管理員對自己的虛擬機進(jìn)行修改。管理員可以查看所有虛擬機的狀態(tài),修改用戶信息,執(zhí)行提交上來的操作請求。具體操作時系統(tǒng)的流程分別如圖2和圖3所示。
Web界面
目前本項目組已初步完成了Web界面的編寫。Web界面使用了AJAX的方式呈現(xiàn),使得頁面更有動態(tài)感,絕大部分操作不需要重新載入頁面,操作更流暢。
管理套件的Web界面負(fù)責(zé)將后臺功能向使用者進(jìn)行呈現(xiàn),以實現(xiàn)與用戶的交互。界面主要由普通用戶界面和管理員界面組成,在登錄時可以選擇登入管理員界面或普通用戶界面,管理員界面如圖4所示。
Web界面功能具體描述如圖5所示。
批量虛擬機離線升級
與傳統(tǒng)的操作系統(tǒng)利用Windows Update或360安全衛(wèi)士等第三方升級工具需要大量的手工操作并且重復(fù)下載同樣的更新包,浪費網(wǎng)絡(luò)帶寬、降低效率的做法不同,vSphere安全管理套件創(chuàng)造性的實現(xiàn)了在用戶授權(quán)的情況下批量地對虛擬機進(jìn)行離線升級,即OOAU(One Operation All Updating)?!芭俊北U狭斯ぷ餍?,提高升級速度;“離線”保障可以在不聯(lián)網(wǎng)的情況下進(jìn)行操作,不與用戶的使用時間沖突,讓用戶享受虛擬機最高的工作效率,同時保證不更改用戶的數(shù)據(jù),保證數(shù)據(jù)的完整性。
對于一直開機在線的虛擬機,在獲取允許的情況下,vSphere安全管理套件也可以對其系統(tǒng)升級,以確保虛擬機系統(tǒng)運行于最新的狀態(tài)。
批量虛擬機離線殺毒
拋棄傳統(tǒng)的由虛擬機用戶在虛擬機上安裝殺毒軟件的概念,批量虛擬機離線殺毒功能實現(xiàn)了對離線虛擬機磁盤進(jìn)行掃描的功能,也即OOAA(One Operation All Antivirus)?!芭俊北U狭斯ぷ餍?,提高殺毒速度;“離線”表示在用戶不使用虛擬機的情況下對磁盤進(jìn)行掃描殺毒,不影響用戶使用虛擬機,保證用戶使用虛擬機時的工作效率。
同時,vSphere安全管理套件提供殺毒之前進(jìn)行快照和回滾的功能,以防止殺毒工程中出現(xiàn)將系統(tǒng)弄崩潰意外狀況。
3 在線對虛擬機進(jìn)行網(wǎng)絡(luò)流量監(jiān)控
網(wǎng)絡(luò)流量監(jiān)控則是指vSphere安全管理套件可以從底層獲取虛擬機網(wǎng)絡(luò)惡意數(shù)據(jù)包,追蹤數(shù)據(jù)包來源的應(yīng)用程序,以便發(fā)現(xiàn)虛擬機內(nèi)的惡意進(jìn)程或者惡意代碼,比在路由器或者交換機上設(shè)置捕獲數(shù)據(jù)包,設(shè)置IDS(Intrusion Detection System)更有效。由于網(wǎng)絡(luò)數(shù)據(jù)包捕獲是從底層實現(xiàn)的,還可以發(fā)現(xiàn)某些殺毒軟件發(fā)現(xiàn)不到的惡意數(shù)據(jù)包,效果十分明顯。
圖4 管理員界面
在線對虛擬機進(jìn)行進(jìn)程監(jiān)控
vSphere安全管理套件可以從CPU運行上取出前一個運行的進(jìn)程,從而能獲得在虛擬機上運行的所有進(jìn)程,包括發(fā)現(xiàn)通過SSDT (System Service Dispatch Table)鉤掛隱藏的進(jìn)程和通過DKOM(Direct Kernel Object Manipulation)隱藏的進(jìn)程,比目前已有的Rootkit檢測工具只能檢測出通過SSDT隱藏的進(jìn)程更勝一籌。進(jìn)程監(jiān)控還能羅列出目標(biāo)進(jìn)程調(diào)用的所有動態(tài)鏈接庫,發(fā)覺注入的可疑DLL。
在線網(wǎng)絡(luò)流量監(jiān)控和進(jìn)程監(jiān)控都是從硬件底層對操作系統(tǒng)進(jìn)行檢測,比安裝安全插件更保險,規(guī)避了特殊木馬毀壞插件破壞安全維護的風(fēng)險,比市場VMsafe等安全維護軟件必須對虛擬機安裝插件之后才能在線維護虛擬機的安全更值得信賴。