服務器虛擬化技術在過去幾年獲得了長足發展。它只需要較少的硬件資源就能運行多種應用程序和操作系統,能允許用戶根據自身需求快速調配新的資源。服務器虛擬化的優勢已經從多方面論述過了,但對hypervisor安全缺陷的關注還不夠。如果您由于不小心或缺少經驗,就會很容易遇到安全問題。有專家警告說,虛擬服務器相對物理服務器而言更容易收到攻擊,這也是管理程序技術開發過程中面臨的新的隱患。
每臺物理機執行多個工作負載同時也存在風險。每個實例之間必須相互隔離以免有意或無意相互干涉。hypervisor或虛擬機監控器VMM是虛擬硬件的軟件,提供子機之間的隔離。但是面對相對較新的非主機虛擬化和處理密集工作負載的需求,hypervisor安全愈發重要。Gartner預測60%以上計劃在2012年用虛擬服務器代理物理服務器的環境,安全性降低了。
更多企業轉向虛擬化來降低成本和增加靈活性,同時又帶來了虛擬化和hypervisor安全方面的花費。如今市面上有各式各樣的虛擬化hypervisor,該如何選擇才能在既降低成本的同時保護安全呢?
首先,hypervisor的代碼越少就意味著受攻擊的點越少。基于內核的虛擬機KVM hypervisor內置于Linux內核,利用Linux自身的調度器進行管理,所以其核心源碼很少。KVM是裸機管理程序,無需修改操作系統直接運行于硬件系統之上,屬于Type 1 hypervisor。由于Type 1管理程序以簡化層的方式向虛擬機提交虛擬化后的硬件資源,因此它可以提供更好的性能和可擴展性。從而減少了運行管理程序本身所需的花銷。
其次,在虛擬環境中,一個軟件實例服務于多個客戶端,這就涉及到子機隔離的問題。客戶信任hypervisor。毫無疑問,hypervisor上面的子操作系統必須阻止安全漏洞的發生。并且,客戶端數據的訪問必須受到保護。由于KVM屬于Linux一部分,所以遵循Linux進程隔離。在內核中,自主訪問控制DAC阻止用戶訪問未授權的資源或其他進程。
同樣,基于硬件的隔離也很重要。KVM使用專為虛擬化打造的處理器指令,確保在hypervisor之間子機的隔離。英特爾虛擬機擴展VMX技術與AMD安全虛擬機SVM說明添加了第三層隔離與保護。
與傳統DAC對應就是MAC,即強制訪問控制。除了DAC隔離,通過SELinux,KVM還集成了MAC。有了MAC,是管理員而不是處理器擁有者去決定哪些用戶可以對哪些對象進行哪些操作類型的訪問。sVirt API在SELinux中集成了MAC與Linux虛擬化,是紅帽RHEL 6的一個默認選項。此外,在IBM系統上采用KVM的紅帽RHEL通過了通用標準評估保準級別4+(EAL4+)認證,達到政府安全標準。
最后,KVM是由一個大型的、活躍的開放社區共同開發的,該社區的重要成員包括紅帽、IBM、SUSE以及很多其它的IT領先廠商。這種基于開源技術的開發方法使得KVM能夠獲得更為快速的功能和版本升級。