章 4. sVirt

4.1. 簡介

因為 KVM 下的虛擬機器會以 Linux 的程序來運行,因此 KVM 善用了標準 Linux 的安全性模式,以提供隔離與資源控制等功能。Linux kernel 包含了 SELinux(加強安全性的 Linux,Security-Enhanced Linux)- 由美國國家安全局所開發,透過彈性、可客製化的安全性政策,加入了 MAC(強制性存取控制,Mandatory Access Control)功能、MLS(多層次安全性,multi-level security)與 MCS(多類別安全性,multi-category security)。針對執行於 Linux kernel 上方的程序(包括虛擬機器程序),SELinux 提供了嚴謹的資源隔離與限制。sVirt 專案構築於 SELinux 上,更進一步善用虛擬機器的隔離功能、與受控制的分享功能。舉例來說,使用分類細緻的存取權限,可以將虛擬機器分門別類以存取資源。
從安全性角度來看,hypervisor 對攻擊者來說是極具誘惑力的目標,因為入侵 hyvervisor 之後,便有可能存取主機系統上的所有虛擬機器。整合 SELinux 與虛擬技術之後,有助於加強 hypervisor 的安全性,以避免惡意的虛擬機器試圖存取主機系統、或其它虛擬機器。
請參閱以下圖片,圖片顯示了隔離的客座端,限制了已被入侵的 hypervisor(或客座端)進行更進一步的攻擊,或延展到另一個 instance:
Image shows that separate virtual machines are isolated and an attack path coming from one guest can be contained by SELinux.

圖形 4.1. 攻擊路徑已被 SELinux 隔離

注意

欲取得更多有關於 SELinux 的相關資訊,請參閱位於〈https://access.redhat.com/site/documentation/〉的《Red Hat Enterprise Linux SELinux 使用者與管理者指南》。