龍清 羅煒


摘要:近年來,各類云計算平臺、云服務(wù)平臺發(fā)展迅速,對IT行業(yè)而言是一場大變革,服務(wù)器虛擬化系統(tǒng)就是這場大變革中的一種核心技術(shù)。服務(wù)器虛擬化系統(tǒng)帶來巨大的便利的同時,也帶來了新的安全挑戰(zhàn)。如何防范虛擬化系統(tǒng)被惡意攻擊,保護好內(nèi)部虛擬機的安全是服務(wù)器虛擬化需要重點關(guān)注的方面。該文從虛擬機安全和虛擬化管理平臺安全兩方面著手研究安全保障問題,并嘗試提出了一些安全風險防御手段。
關(guān)鍵詞: 隔離;虛擬交換機;pvlan
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)04-0043-03
Primary Research on Server Virtualization Platform Security in Private Cloud
LONG Qing,LUO Wei
(Procuratorate of Hunan Province, Changsha 410001, China)
Abstract:In recent years, all kinds of cloud computing platform, cloud service platform developed rapidly, the IT industry is a big change, server virtualization system is a core technology in this big change. The server virtualization system offers great convenience as well as new security challenges. How to prevent the virtualization system from malicious attacks and protect the security of the internal virtual machine is the focus of the server virtualization needs to focus on. From the two aspects of virtual machine security and virtualization management platform security, this paper studies security issues, and attempts to put forward some security risk prevention methods.
Key words:isolated;vswich;pvlan
服務(wù)器虛擬化就是將服務(wù)器的物理資源集合轉(zhuǎn)換成統(tǒng)一的邏輯資源,讓一臺物理服務(wù)器變成幾臺或更多的虛擬服務(wù)器,也可以讓多臺物理服務(wù)器變?yōu)橐慌_虛擬服務(wù)器,使使用者不受限于單臺物理機上的資源界限,而是讓服務(wù)器的CPU、內(nèi)存、存儲空間變成可以動態(tài)管理的“資源池”,讓IT對業(yè)務(wù)的變化更具適應(yīng)力。服務(wù)器虛擬化的方法大體分為三種:“一虛多”、“多虛一”和“多虛多”。“一虛多”是將一臺物理服務(wù)器虛擬成多臺虛擬服務(wù)器,即將一臺物理服務(wù)器的CPU、內(nèi)存等資源分割成多個相互獨立的虛擬資源。“多虛一”是將多個獨立的物理服務(wù)器集合變?yōu)橐慌_虛擬服務(wù)器,使多臺服務(wù)器的計算和存儲資源能相互協(xié)作,共同處理同一個業(yè)務(wù),提高服務(wù)器的處理能力。另外還有“多虛多”的概念,就是先將多臺物理服務(wù)器的資源進行整合,然后再將整合后的資源按需要劃分成多個虛擬機,將各類業(yè)務(wù)在多臺虛擬服務(wù)器上運行,管理員可按需調(diào)整各個虛擬機的資源。圖1為一個服務(wù)器虛擬化平臺的標準示意圖。每一個物理機上都運行了數(shù)量不等的虛擬機,而所有的物理機和存儲則通過IP網(wǎng)絡(luò)組成了支撐虛擬機運行的物理平臺。
服務(wù)器虛擬化是一項十分重要的突破性技術(shù),并得到了大范圍使用,已經(jīng)被證明能幫助用戶解決在使用傳統(tǒng)方法,即使用物理服務(wù)器搭建應(yīng)用平臺時出現(xiàn)的性能瓶頸問題,并給用戶帶來便利和利益。如通過服務(wù)器整合資源可在最大程度上提高投資利用率。另外,通過建立專門的虛擬服務(wù)器環(huán)境,可解決不同的物理服務(wù)器在兼容性方面出現(xiàn)問題。服務(wù)器虛擬化還具有透明負載均衡、動態(tài)遷移、故障自動隔離、系統(tǒng)快照等功能,可很大程度地提高服務(wù)器的可靠性,保障應(yīng)用環(huán)境的穩(wěn)定。在IT和網(wǎng)絡(luò)世界,虛擬化已在短時間內(nèi)產(chǎn)生了巨大的影響,并已經(jīng)提供了巨大的成本節(jié)省和高投資回報率的數(shù)據(jù)中心和云計算平臺。
然而,我們在享受虛擬化帶來的便捷的同時,也面臨著該技術(shù)帶來的安全風險。服務(wù)器虛擬化帶來的安全風險主要有以下幾個方面:
1) 虛擬機內(nèi)部攻擊:一般情況下,運行在同一臺物理服務(wù)器上的多個虛擬機是可以直接通信的,那么在這種通信過程中就會產(chǎn)生安全隱患,因為絕大多數(shù)傳統(tǒng)的網(wǎng)絡(luò)安全設(shè)備,如防火墻、入侵防御系統(tǒng)以及安全審計系統(tǒng),都無法監(jiān)測到某臺物理服務(wù)器的內(nèi)部數(shù)據(jù)流。如果某一臺虛擬機受到病毒或木馬的入侵,病毒或木馬就可以輕松入侵同一臺服務(wù)器上的其他虛擬機。傳統(tǒng)的網(wǎng)絡(luò)安全設(shè)備無法檢測物理機內(nèi)的網(wǎng)絡(luò)數(shù)據(jù),因此無法抑制同一主機內(nèi)部的虛擬機攻擊。另外,在虛擬環(huán)境中是通過CPU、內(nèi)存和硬盤等來共享宿主機和虛擬機之中的資源,且不少虛擬化平臺都可自動調(diào)整虛擬機資源占用率。所以一旦發(fā)生如拒絕服務(wù)攻擊等消耗虛擬機資源的攻擊行為,不僅會對虛擬機帶來資源的消耗,還可能將攻擊延續(xù)到宿主機之上,直到耗盡宿主機全部資源,最終讓所有的虛擬機都沒有任何的資源可以獲取,從而影響到大量的服務(wù)[1]。所以相比傳統(tǒng)的環(huán)境,服務(wù)器虛擬化環(huán)境應(yīng)該更加注重對攻擊行為的防護,以確保整個虛擬環(huán)境的安全性。
2) 管理復(fù)雜度高:在許多動態(tài)虛擬化管理平臺下,各個虛擬機可以根據(jù)模版進行自動設(shè)置、重新配置,甚至自動遷移到其他物理服務(wù)器上。這使得管理員在追蹤、維護和實施對虛擬機的安全策略時難度大大增加。虛擬機的自動遷移導(dǎo)致的虛擬機之間的直接通信會大大增加服務(wù)器受到攻擊的機率。
3) 虛擬化管理平臺安全風險:主要指虛擬化管理平臺本身的安全風險。虛擬化管理平臺 Hypervisor是全虛擬化和半虛擬化技術(shù)的關(guān)鍵層次,它集中掌控了底層硬件資源,并負責為上層虛擬機分配各種關(guān)鍵資源,因此在虛擬化架構(gòu)中,虛擬化管理平臺面臨的安全威脅是最需要被關(guān)注的。如果虛擬化管理平臺軟件中存在安全漏洞,就可能導(dǎo)致用戶數(shù)據(jù)泄露,使得某些用戶的數(shù)據(jù)被其他用戶訪問到。一旦攻擊者攻破虛擬化管理平臺的軟件漏洞,就能提升權(quán)限控制虛擬化管理平臺,這就相當于掌控了整個服務(wù)器虛擬化系統(tǒng)。
根據(jù)以上情況分析,本文認為要解決虛擬化系統(tǒng)的安全問題,大體可以從兩個方面著手,一是虛擬機本身的安全;二是虛擬化管理平臺的安全。下面分別予以介紹:
1 虛擬機安全
首先,虛擬機的安全保障中最重要的一點就是虛擬機隔離,即保證不同的虛擬機之間不能直接互訪,必須經(jīng)過外部網(wǎng)關(guān)才可。一般來說,在虛擬化環(huán)境的網(wǎng)絡(luò)架構(gòu)中,一臺主機通常配備多塊物理網(wǎng)絡(luò)適配器以支持冗余、負載均衡和隔離,通過將服務(wù)器物理網(wǎng)卡綁定一個虛擬交換機上的方式將網(wǎng)絡(luò)資源分配給虛擬交換機。虛擬交換機(vswitch)是一個虛擬交換軟件,主要用于虛擬機環(huán)境,虛擬交換機的作用主要有兩個方面,一是傳遞虛擬機之間的數(shù)據(jù)流量,二是實現(xiàn)虛擬機與外部設(shè)備的通信。虛擬交換機廣泛應(yīng)用在基于基礎(chǔ)架構(gòu)服務(wù)(IaaS)的云平臺中。虛擬化平臺通過綁定了網(wǎng)卡的虛擬交換機為這臺物理服務(wù)器上的虛擬機提供二層網(wǎng)絡(luò)接入和部分三層數(shù)據(jù)轉(zhuǎn)發(fā)功能,物理服務(wù)器上的網(wǎng)卡為虛擬交換機提供了上行鏈路與外界網(wǎng)絡(luò)的連接。虛擬交換機的架構(gòu)如圖所示。
跟物理機一樣,每個虛擬機也都有各自的虛擬網(wǎng)卡(virtual NIC),每個虛擬網(wǎng)卡都有各自的MAC地址和IP地址。上圖中,虛擬交換機上的ABCDE是5個虛擬端口(virtual Port)。各虛擬機通過虛擬網(wǎng)卡連接虛擬交換機,并通過虛擬交換機連接物理網(wǎng)卡。以此方式,虛擬機上的數(shù)據(jù)報文則可以從物理網(wǎng)卡轉(zhuǎn)發(fā)出去,并從物理網(wǎng)卡上接收報文轉(zhuǎn)發(fā)給相應(yīng)的虛擬機。根據(jù)虛擬化軟件的功能,虛擬交換機還能支持安全控制、VLAN、網(wǎng)絡(luò)監(jiān)控、端口鏡像、QoS、自動化網(wǎng)管等功能。大多數(shù)虛擬交換機和物理交換機一樣,具備一定數(shù)量的端口,以及可以劃分一定數(shù)量的VLAN(或稱端口組),不同VLAN內(nèi)的報文在傳輸時也是相互隔離的,不同的VLAN之間的用戶也不能直接通信。如果不同VLAN要進行通信,則需要通過路由器、三層交換機等設(shè)備進行數(shù)據(jù)轉(zhuǎn)發(fā)。而虛擬交換機所綁定的物理網(wǎng)卡所連接的物理交換機的端口屬性,決定了該虛擬交換機是否可劃分多個VLAN。如果物理網(wǎng)卡連接的物理交換機端口類型被設(shè)置成Access模式(即普通的劃分了VLAN的端口),則這個物理網(wǎng)卡綁定的虛擬交換機下的所有端口也只能設(shè)置成該Access端口所指定的VLAN,該虛擬交換機所連接的所有虛擬機都會在一個VLAN下。如果物理網(wǎng)卡連接的交換機端口類型被設(shè)置成Trunk模式,則這個物理網(wǎng)卡綁定的虛擬交換機可以劃分虛擬機端口組,每個端口組可以指定為不同的VLAN,VLAN之間的虛擬機必須通過所連接的物理交換機與網(wǎng)絡(luò)中其他服務(wù)器通信。
為了使傳統(tǒng)的安全設(shè)備能檢測到虛擬機之間的數(shù)據(jù)流,需要讓各虛擬機之間的通信都通過物理交換機進行轉(zhuǎn)發(fā)。為此,可為每個要隔離的虛擬機都分配一個唯一的VLAN號,并將網(wǎng)關(guān)指向被防火墻或入侵防御設(shè)備防護的三層交換機,這樣便可將虛擬機發(fā)出的流量全部引入到傳統(tǒng)的物理網(wǎng)絡(luò)中,由物理網(wǎng)絡(luò)設(shè)備上的傳統(tǒng)安全機制對這些流量進行過濾,放行安全流量,這些安全流量再回到虛擬化層次中的目的虛擬機[2]。在這種方式中,虛擬機中的數(shù)據(jù)流如下圖所示:
但這種隔離方法有很大的局限性,主要表現(xiàn)幾個方面,一是每個交換機都有VLAN數(shù)目的上限,限制了該交換機可劃分的VLAN總數(shù);二是每個交換機的Spanning Tree的運算會比較復(fù)雜,因為與每個VLAN相關(guān)的拓撲都需要管理;三是會造成IP地址的浪費,IP網(wǎng)段的劃分肯定造成一些IP地址的浪費,因為即使不考慮其他情況,至少每個網(wǎng)段都會需要設(shè)定一個網(wǎng)關(guān)。地址段越多,網(wǎng)關(guān)地址也會越多,同樣不利于維護管理。因此,這種防護方法僅適用于虛擬機數(shù)量不大的情況。在虛擬機數(shù)量龐大的情況下,還需依靠另一種技術(shù),即PVLAN技術(shù)。PVLAN即私有VLAN(Private VLAN),也被稱為“專用虛擬局域網(wǎng)”。其將VLAN分為上下兩層,上層VLAN全局可見,下層VLAN對外隱藏。如果將虛擬交換機的每個端口設(shè)置成不同的下層VLAN,則可實現(xiàn)所有端口的相互隔離,但對外可用一個上層VLAN進行數(shù)據(jù)交換。PVLAN對于保障網(wǎng)絡(luò)的數(shù)據(jù)通信的安全是非常有效的,它可以保證交換機上同一個VLAN中的各個端口相互之間不能通信,但可以穿過Trunk端口統(tǒng)一對外連接。在設(shè)置好PVLAN的虛擬化系統(tǒng)中,每個虛擬機通過各自的PVLAN口與各自的網(wǎng)關(guān)連接,不需要劃分多個VLAN和IP網(wǎng)段就可提供具備數(shù)據(jù)通信安全的連接。管理員將所有的虛擬機都接入PVLAN后可實現(xiàn)既保證所有虛擬機與默認網(wǎng)關(guān)的連接,也保證虛擬機之間沒有任何直接的數(shù)據(jù)流。這樣即使病毒或木馬程序感染了同一VLAN中的某一臺虛擬機,其他虛擬機也不會直接受到病毒的影響。
另外,管理員可禁用虛擬機上用不到的服務(wù)和端口,精簡虛擬機的操作系統(tǒng),降低被攻擊的幾率。一般可以從以下幾方面著手:
1) 禁用操作系統(tǒng)部分功能:對于許多虛擬機來說, FTP、遠程桌面、GUEST賬戶、遠程調(diào)試等功能都不會用到,關(guān)閉這些功能并不會影響虛擬機的正常工作,但可大大減少虛擬機被攻破的幾率;
2) 慎用服務(wù)器打印和文件共享功能:除了應(yīng)用系統(tǒng)明確要求提供文件共享功能,否則管理員應(yīng)禁用服務(wù)器文件共享功能。確有需要打開的,在文件共享功能使用完畢之后,也應(yīng)及時停用;
3) 斷開不需要的設(shè)備:很多虛擬化平臺允許虛擬機直接或間接控制物理服務(wù)器,如光驅(qū)、USB接口、PCI接口等。一般來說,在虛擬機啟動的時候會檢測宿主機上的硬件設(shè)備,在動態(tài)分配資源的虛擬化平臺中,多個虛擬機同時啟動時第一個啟動的虛擬機會優(yōu)先搶占硬件資源,如果資源被搶占完,后面啟動虛擬機對資源的使用申請會被掛起。因此,如果該虛擬機不需要某項資源,則應(yīng)直接在虛擬機配置中將該項資源刪除。另外,如果宿主機光驅(qū)里的光盤或U盤中有病毒,虛擬機有可能會自動加載并執(zhí)行,從而感染病毒或木馬。因此,安全的做法是關(guān)閉虛擬機所有不必要的物理設(shè)備連接,只在需要的時候才允許連接相應(yīng)的物理設(shè)備;
4) 部署合適的防病毒軟件:在虛擬化系統(tǒng)中,傳統(tǒng)的防病毒軟件難以滿足虛擬化環(huán)境的要求。傳統(tǒng)的防病毒軟件往往需要在每臺虛擬機上部署軟件,但由于防病毒軟件一般占用的資源都較多,若在每個虛擬機上都部署防病毒軟件,會占用很多的宿主機資源。如果虛擬機上的防病毒軟件統(tǒng)一進行系統(tǒng)掃描或升級,可能會直接導(dǎo)致宿主機宕機。因此應(yīng)盡量選擇專為虛擬化環(huán)境打造的防病毒軟件。這類防病毒軟件應(yīng)做到只在宿主機上安裝,即可達到防護該宿主機上所有虛擬機的效果。
2 虛擬化管理平臺安全
虛擬化管理平臺軟件一般部署于服務(wù)器之上,提供創(chuàng)建、運行和銷毀虛擬機的功能。虛擬化管理平臺的虛擬化模式一般分為三種,包括操作系統(tǒng)級虛擬化(如Solaris container、BSDjail、Linux-Vserver)、半虛擬化(如服務(wù)器硬件和Xen、VMware的結(jié)合)或完全基于硬件的虛擬化(如Xen、VMware、微軟 Hyper-V)[3]。目前,由于云平臺的推廣,完全基于硬件的虛擬化管理平臺成為了服務(wù)器虛擬化的主流。虛擬化管理平臺安全最重要的一點即為保證該平臺不被非法使用,主要應(yīng)從兩方面入手,即進行IP管理限制和強化身份認證。
IP管理限制方面,常規(guī)的手段是管理客戶端的地址為本地地址段,禁止遠端IP對虛擬化平臺進行管理。但經(jīng)統(tǒng)計,對信息系統(tǒng)的破壞有80%往往內(nèi)部攻擊造成的,所以僅從禁止遠程管理是遠遠不夠的。為此,管理者在搭建虛擬化平臺的時候可采取管理地址段和業(yè)務(wù)地址段分離的方式來組建虛擬化平臺,由于管理網(wǎng)絡(luò)上沒有業(yè)務(wù)數(shù)據(jù),因此不會直接暴露在普通用戶面前,大大減少了管理平臺被攻擊的幾率。目前,諸如華為、H3C、oracle公司的虛擬化產(chǎn)品都采取了管理網(wǎng)絡(luò)和業(yè)務(wù)網(wǎng)絡(luò)分離的架構(gòu),用以保障其虛擬化管理平臺的安全。
在身份認證方面,在虛擬化環(huán)境中使用雙身份認證手段來鑒別用戶身份是較為普遍的安全手段。很多企事業(yè)單位都建立了本單位或本系統(tǒng)的域,通過域控制器集中管理用戶賬號信息,用戶在訪問單位應(yīng)用系統(tǒng)時首先需要經(jīng)過域控制器進行身份認證,但由于密碼可能被竊取或泄露,僅使用用戶名+密碼的方式進行身份認證并不安全。如果使用域認證+Ukey認證的雙重身份認證方式,則可以大為降低身份認證方面的安全風險。對于像政府機構(gòu)、大型企業(yè)這類辦公地點分散,虛擬化平臺的用戶可能不在單位內(nèi)部局域網(wǎng)的企事業(yè)單位,則還必須通過VPN加密的方式來驗證遠端用戶的合法性,降低被攻擊的可能性。
3 總結(jié)
本文列舉了虛擬化平臺可能存在的安全問題,并著重從虛擬機本身的安全和虛擬化管理平臺的安全兩方面進行了初步探討。私有云下的服務(wù)器虛擬化平臺面臨的安全問題雖然沒有公有云下那么明顯,但由于數(shù)量多、總體規(guī)模龐大,依然必須引起高度重視。隨著私有云技術(shù)的深入發(fā)展,基于云平臺的安全技術(shù)和安全防護產(chǎn)品也在不斷發(fā)展,只要找準了虛擬化平臺中的安全漏洞與風險,有針對性地實施安全管理措施,就能保證單位私有云虛擬化平臺的安全,確保業(yè)務(wù)工作的順利開展。
參考文獻:
[1] 張志國.服務(wù)器虛擬化安全風險及其對策研究[J].晉中學(xué)院學(xué)報,2010,27(3):83-85.
[2] 殷志越.服務(wù)器虛擬化安全解決方案及部署策略[J].技術(shù)交流,2014,12:19-21.
[3] 房晶.云計算的虛擬化安全問題[J].電信科學(xué),2012,28 (4):135-140.