保護(hù)Windows Server 2008的虛擬化環(huán)境
1、基于角色和權(quán)限的安全設(shè)置
保護(hù)配置為Hyper-V角色的Windows server 2008尤為重要,因?yàn)槊總€(gè)來(lái)賓操作系統(tǒng)的安全性取決于主機(jī)服務(wù)器的安全性。奇怪的是Server 2008 安全指南(Security Guide)并沒(méi)有涉及Hyper-V角色的內(nèi)容,安全設(shè)置向?qū)?SCW)也是如此。
(1).以Server Core運(yùn)行Hyper-V角色
安全期間,筆者建議在Windows server 2008的內(nèi)核版本Server Core系統(tǒng)中運(yùn)行Hyper-V角色。Server Core是最小限度的Windows安裝,缺少Windows Explorer外殼、對(duì)話框、應(yīng)用程序以及很多服務(wù)(而這些會(huì)增加開銷并可能會(huì)增大攻擊面)。內(nèi)容越少,可供攻擊的地方就越少,需要打補(bǔ)丁的文件就越少,這樣服務(wù)器重啟的次數(shù)就越少。如果你覺得沒(méi)有圖形界面工具運(yùn)行Server Core有些不便的話,我們可以通過(guò)另一臺(tái)有圖形界面工具的計(jì)算機(jī)遠(yuǎn)程管理該服務(wù)器。(圖1)

減小攻擊面是保護(hù)操作系統(tǒng)的關(guān)鍵,所以最好在服務(wù)器指定單獨(dú)一個(gè)虛擬化角色,而且不要在上面安裝額外的軟件或服務(wù)。這個(gè)最佳策略的一個(gè)例外情況是,Hyper-V主機(jī)是使用入侵檢測(cè)系統(tǒng)(IDS)的絕佳位置。由于所有來(lái)賓的網(wǎng)絡(luò)通訊都通過(guò)主機(jī)的網(wǎng)卡,所以在主機(jī)上安裝一個(gè)IDS檢測(cè)器就可以監(jiān)控所有的來(lái)賓操作系統(tǒng)。
(2).精細(xì)的權(quán)限控制
我們知道,來(lái)賓計(jì)算機(jī)對(duì)于主機(jī)服務(wù)器上的用戶來(lái)說(shuō)是特別脆弱的。因此,謹(jǐn)慎考慮用戶的訪問(wèn)權(quán)限是很重要的??刂朴脩粼L問(wèn)權(quán)限的最簡(jiǎn)單的方法是只允許少量用戶在本地或通過(guò)Terminal Services來(lái)訪問(wèn)系統(tǒng)。我們可以使用組策略來(lái)決定哪些用戶可以在本地登錄服務(wù)器。要這樣做,打開“本地安全策略”控制臺(tái),展開“本地策略”,并選擇“用戶權(quán)限分配”。在右邊窗格中雙擊“允許在本地登錄”策略,默認(rèn)情況下用戶可以Users組可以從本地登錄。接下來(lái),選中Users并單擊“刪除”。我們從這里可以指定哪些用戶或用戶組能夠登錄到系統(tǒng)。(圖2)

一旦我們決定了哪些用戶能夠本地登錄系統(tǒng),就可以使用“授權(quán)管理器”來(lái)進(jìn)一步確定用戶訪問(wèn)虛擬機(jī)的方式。在“開始”菜單的搜索框中輸入azman.msc,打開“授權(quán)管理器”控制臺(tái)。從“操作”萊單選擇“打開授權(quán)存儲(chǔ)”。當(dāng)“打開授權(quán)存儲(chǔ)”對(duì)話框出現(xiàn)時(shí), 選擇XML file并找到服務(wù)器上的“C:PogramDataMicrosoftWindowsHyper-VinitialStore.xml”文件(默認(rèn)情況下ProgramData目錄是隱藏的,需要手工輸入該文件的路徑)。當(dāng)加載了授權(quán)存儲(chǔ),展開“InitialStore.xml”→“Microsoft Hyper-V Services”→“定義”,然后是“規(guī)則定義”。在右側(cè)的窗格中雙擊User,然后選擇“定義”屬性頁(yè)。我們可以在這里增加或刪除用戶能夠執(zhí)行的操作。(圖3)

從開發(fā)角度來(lái)說(shuō),Hyper-V以其出眾的可編程性以及通過(guò)Windows管理規(guī)范(WMI)進(jìn)行控制的能力超越了很多虛擬化產(chǎn)品。但是,這種可編程性允許以來(lái)賓操作系統(tǒng)難以預(yù)料的方式來(lái)控制它,因此,未授權(quán)用戶有可能會(huì)繞開來(lái)賓操作系統(tǒng)中的安全控制。因?yàn)閃MI處理自動(dòng)化界面,所以我們可以使用WMI權(quán)限限制通過(guò)WMI對(duì)Hyper-V的訪問(wèn)。只需在開始菜單的搜索框里輸入wmimgmt.msc并按回車鍵即可。然后,右鍵單擊“WMI控制(本地)”并選擇“屬性”。選擇“安全”屬性頁(yè)并展開“Root”→“Virtualization”,選中ms_409。點(diǎn)擊“安全設(shè)置”按鈕,可以進(jìn)行精細(xì)的用戶權(quán)限調(diào)整。(圖4)

(1).將主機(jī)與其來(lái)賓隔離
當(dāng)構(gòu)建一個(gè)虛擬服務(wù)器的時(shí)候,我們應(yīng)該慎重配置網(wǎng)絡(luò)組件。虛擬服務(wù)器應(yīng)該有足夠多的網(wǎng)卡,把虛擬機(jī)的網(wǎng)絡(luò)適當(dāng)分段,但是不應(yīng)該把擁有多種網(wǎng)絡(luò)安全性區(qū)域的不同虛擬機(jī)放置在同一臺(tái)主機(jī)上。最好的解決方法是把具有相似角色和相似安全需求的虛擬來(lái)賓放到同一臺(tái)主機(jī)上。
我們應(yīng)該把主機(jī)的網(wǎng)絡(luò)從它的來(lái)賓中隔離出來(lái),這樣只有授權(quán)用戶能夠通過(guò)可信賴的網(wǎng)絡(luò)訪問(wèn)主機(jī)。要這樣做,最好的方法是有一塊網(wǎng)卡,連接到一個(gè)隔離的、專門用于管理的網(wǎng)絡(luò)上。但是,如果不可能做到的話,應(yīng)該使用一些技術(shù),例如VLAN、IPsec、VPN、SSL以及包過(guò)濾,來(lái)限制哪些用戶能通過(guò)網(wǎng)絡(luò)連接到主機(jī)。
當(dāng)涉及到加固虛擬來(lái)賓操作系統(tǒng)的情況時(shí),我們可用與加固物理計(jì)算機(jī)的相同方法。虛擬機(jī)的一個(gè)優(yōu)勢(shì)是:因?yàn)樗鼈兲幱谝粋€(gè)固定的硬件環(huán)境中(虛擬化硬件驅(qū)動(dòng)程序總是相同的),所以我們可以針對(duì)使用的不同服務(wù)器角色,輕松地構(gòu)造經(jīng)過(guò)加固的基線模板。。但是一定要小心地保護(hù)這些模板,以防它們?cè)獾狡茐模乙褂妙愃芆ffline Vitual Machine Servicing Tool這樣的工具給它們打上最新的補(bǔ)丁,使之達(dá)到最新狀態(tài)。系統(tǒng)加固是一項(xiàng)耗費(fèi)時(shí)間因而經(jīng)常被忽略的任務(wù)。通過(guò)使用預(yù)先加固過(guò)的操作系統(tǒng)模板,可以確保每個(gè)新虛擬機(jī)都滿足預(yù)先確定的基準(zhǔn)要求。
正如大家所知,與虛擬機(jī)有關(guān)的最大風(fēng)險(xiǎn)是任何能夠訪問(wèn)到虛擬硬盤的用戶可以安裝它們并繞過(guò)來(lái)賓操作系統(tǒng)的安全機(jī)制。防止這一風(fēng)險(xiǎn)的一種方法是在來(lái)賓操作系統(tǒng)上實(shí)施磁盤加密,至少對(duì)敏感數(shù)據(jù)加密。微軟的加密文件系統(tǒng)(EFS)是保護(hù)數(shù)據(jù)的一個(gè)不錯(cuò)的解決方案。假如虛擬來(lái)賓系統(tǒng)上的數(shù)據(jù)是高度敏感的話,一些全盤加密技術(shù),如Bitlocker也是可以采用的。

(2).與硬件相關(guān)的安全設(shè)置
我們可以對(duì)虛擬機(jī)輕松地增加或刪除硬件設(shè)備。因此,好的做法是只在必要的時(shí)候連接設(shè)備,且在用于生產(chǎn)時(shí)刪除它們。這一策略對(duì)于映射到主機(jī)的光驅(qū)這樣的設(shè)備尤其重要,因?yàn)閬?lái)賓虛擬機(jī)也能夠訪問(wèn)插入到主機(jī)光驅(qū)中的光盤。
另外,當(dāng)我們配置虛擬機(jī)的硬件時(shí),還應(yīng)該限制處理器的使用。默認(rèn)情況下,一臺(tái)虛擬機(jī)能夠使用100%的物理主機(jī)的處理器,這就意味著某人有可能對(duì)一臺(tái)虛擬機(jī)實(shí)施拒絕服務(wù)DoS)攻擊,而對(duì)該系統(tǒng)上的所有其它虛擬來(lái)賓都有影響。限制CPU的使用可以確保留下夠的CPU周期來(lái)保證主機(jī)和其它虛擬機(jī)繼續(xù)運(yùn)行。最后,因?yàn)樵贖yper-V Management Console中訪問(wèn)一臺(tái)虛擬機(jī)就相當(dāng)于物理地使用來(lái)賓操作系統(tǒng)的控制臺(tái),所以有必要嚴(yán)格遵循所有的安全性方面的最佳策略,例如設(shè)置帶密碼保護(hù)的屏幕保護(hù)以及在計(jì)算機(jī)不使用時(shí)注銷。
3、基于敏感虛擬機(jī)的安全措施
有時(shí)候我們會(huì)有一臺(tái)特別敏感的虛擬機(jī),需要更高級(jí)別的安全性。虛擬機(jī)的一個(gè)好處是使用Hyper-V的暫停功能可以輕松地離線系統(tǒng)并快速回到在線狀態(tài)。比方說(shuō),一臺(tái)根證書服務(wù)器就很敏感,我們會(huì)希望只有在特定任務(wù)時(shí)才讓它處于在線狀態(tài)。
(1).獨(dú)立磁盤運(yùn)行
要保護(hù)這些敏感的虛擬機(jī),我們可以在一塊移動(dòng)硬盤上運(yùn)行它們。當(dāng)用完這些虛擬機(jī)的時(shí)候,把磁盤取下來(lái)并嚴(yán)密保存。如果有一個(gè)大多數(shù)時(shí)候都處于離線狀態(tài)的系統(tǒng),定時(shí)一定要把機(jī)器上線一次獲取最新的補(bǔ)丁。
(2).使用啟動(dòng)密碼
在適當(dāng)?shù)臅r(shí)候使用啟動(dòng)密碼防止未授權(quán)用戶訪問(wèn)敏感的虛擬機(jī),盡管筆者不推薦在所有系統(tǒng)上都這樣做。防止某人啟動(dòng)一臺(tái)Windows虛擬機(jī)的一個(gè)方法,是在操作系統(tǒng)上設(shè)置一個(gè)syskey密碼。在開始菜單的搜索框里輸入syskey按回車鍵。這樣會(huì)打開Startup Key對(duì)話框,單擊Update,選擇Password Startup選項(xiàng),設(shè)置一個(gè)密碼,然后單擊OK即可。當(dāng)然,當(dāng)做了安全部署后一定要更新書面安全策略。
【相關(guān)文章】