虛擬化已經在數據中心證明了它的價值,但它能在戰術環境中工作嗎?是的,但前提是它是安全的。
允許移動數據的計算能力的發展為將戰術車輛轉變為滾動數據中心鋪平了道路。這些令人印象深刻的機器為作戰人員主宰戰場提供了寶貴的資源。不幸的是,盡管將悍馬或坦克與實時智能計算設備打包有明顯的好處,但這些功能的代價并不那么明顯:犧牲了寶貴的動力、冷卻能力和后勤空間來容納新設備。例如,太多的計算機可能會對能見度產生不利影響或在已經灼熱的環境中產生額外的熱量,使士兵的反應時間變慢,并可能增加健康和安全風險。
有趣的是,這些滾動數據中心正在經歷許多與當今企業數據中心相同的挑戰 - 再次,功耗,冷卻不足和空間不足。為了應對這些挑戰,數據中心經理已轉向虛擬化來執行物理到虛擬服務器的整合,定期實現 10:1 或更高的優化。數據中心虛擬化的經驗教訓是否也能使戰術車輛環境受益?包含不同分類級別內容的戰術車輛的特殊安全要求如何?了解虛擬化和物理服務器整合之間的獨特挑戰和相似之處,以及開源社區取得的一些安全虛擬化進步至關重要,這些進步可以直接應用于幫助作戰人員。
虛擬化的好處
在現場和數據中心部署虛擬化有幾個好處,包括整合、統一性、實時遷移和性能,這可以專門幫助作戰人員并提高前線的效率。
固結
當工作負載通過虛擬化進行整合時,硬件利用率會提高。可以用更少的硬件完成更多工作,從而節省電源、空間和冷卻。在戰術環境中,可以通過計算要求的名義增加來添加功能。通過在更少的物理系統上整合工作負載,新可用的空間可以重新用于額外的任務功能、更多的子彈,并為機組人員提供更多的肘部空間。
均勻
虛擬化允許數據中心管理員從操作系統中抽象硬件。這使數據中心經理能夠以盡可能低的價格獲得性能最佳的硬件,而無需重新認證軟件堆棧。硬件供應商可以相互競爭以提供最佳價值。在戰術環境中,這種優勢更加深遠,不需要每個應用程序都有自己的計算機,具有異國情調的外形、電源要求、專有連接器等。因此,可以更輕松地添加新功能,并且可以更快地進行硬件更新,因為如前所述,重新認證時間縮短了。此外,并非每輛車都需要相同的功能,因此無論是否使用該功能,都需要嚴格預算功率、空間和冷卻。最后,統一性使戰士更加靈活。
實時遷移
如果在數據中心的虛擬機管理程序上檢測到即將發生的硬件故障,則可以實時遷移工作負載,而無需停機。即使虛擬機監控程序意外失敗,在其上運行的虛擬機也可以在其他硬件上重新啟動,而無需用戶干預。在戰術環境中,導致計算機損失的戰斗損壞可能會導致戰斗激烈時所需的關鍵能力的損失。通過直接在物理硬件上運行工作負載,在作戰人員返回進行維修的車輛之前,該功能可能無法恢復,這可能為時已晚。如果工作負載是虛擬化的,則可以將其實時遷移到車輛中其他位置的功能服務器上或在計算機上重新啟動,而無需作戰人員干預。因此,作戰人員在長時間的戰斗中失去關鍵任務組件的可能性降低。
性能
某些需要在系統之間進行低延遲或高帶寬通信的工作負載在同一硬件上進行虛擬化時實際上運行得更快。這是因為虛擬網絡通信是通過系統背板完成的,而不是通過更慢、延遲更高的網絡基礎結構從一個物理系統到另一個物理系統。這種提高的性能和更低的延遲可以幫助作戰人員在激烈的戰斗中更快地做出反應。
虛擬化安全嗎?
不是本身。如果虛擬機管理程序遭到入侵,不僅該虛擬機受到威脅,在其上運行的虛擬機以及連接到虛擬機管理程序的虛擬機磁盤文件也會受到威脅,這些虛擬機管理程序可能在其上運行、在另一個虛擬機管理程序上運行或處于靜態狀態。發生虛擬機管理程序攻擊時,需要從已知的可靠備份還原所有虛擬磁盤文件。如果無法確定漏洞利用時間,則可能需要從頭開始完全重新安裝。許多虛擬化安全解決方案為虛擬機提供了相互通信的可靠方法,但在虛擬機管理程序遭到入侵時,這些工具不提供保護。如果要在戰術環境中部署虛擬化,虛擬機管理程序必須是安全的,以便作戰人員可以信任支持任務的組件的完整性。那么,是否存在防止此類漏洞利用的技術呢?是的,感謝開源社區。
使用 sVirt 進行安全虛擬化:sVirt 是一個安全的虛擬化開源項目,建立在 NSA 和商業軟件行業開創的經過時間考驗的 SELinux 開源項目之上,該項目可追溯到 1999 年。sVirt 用于安全地將 KVM(或基于內核的虛擬機)與虛擬機管理程序隔離,以及彼此之間。在我們進入sVirt的細節之前,讓我們快速回顧一下SELinux和KVM:
SELinux 早于基于 x86 的虛擬化,最初用于鎖定物理系統,以防止流氓應用程序相互傷害以及主系統。SELinux 是關于標簽的。SELinux 系統上的每個對象都根據其功能進行標記。這包括進程、用戶、文件、硬件設備、網絡端口和適配器等。SELinux 策略允許具有某些標簽的對象顯式訪問具有其他標簽的對象并拒絕其他所有內容。例如,如果流氓 Web 服務器進程想要讀取密碼文件,SELinux 將阻止并記錄訪問,因為 SELinux 策略沒有明確允許具有 Web 服務器標簽的進程訪問標記為密碼文件的文件。SELinux 不是 Linux 的附加組件 - 它是內置的。自 2007 年以來,SELinux 已在主流企業 Linux 發行版中默認啟用。
KVM 是一個開源項目,于 2006 年出現,并于 2007 年在上游 Linux 內核中被接受,如今可以在許多 Linux 發行版中找到。KVM 的獨特之處在于所有 KVM 虛擬機都是 Linux 進程。因此,KVM 非常精簡,因為它可以利用久經考驗的 Linux 操作系統來管理虛擬機、執行硬件支持,并利用電源效率和性能方面的進步,僅舉幾例。作為一個巨大的副作用,就像 Web 服務器進程可以用 SELinux 策略限制一樣,前面提到的帶有 SELinux 策略的 KVM 虛擬機進程(稱為 sVirt)也可以受到限制。
在高層次上,sVirt 的工作原理是在虛擬機周圍放置 SELinux“力場”,這限制了它們可以做的事情。 sVirt 甚至可以保護沒有 SELinux 內置保護(如 Windows)的虛擬機來賓,如圖 1 所示。
圖1:具有 sVirt 保護的 KVM 的高級概述
當虛擬來賓啟動時,sVirt會給KVM Linux進程一個唯一的SELinux標簽。相應地,該虛擬機的虛擬磁盤文件被賦予一個匹配的標簽。除了進程和虛擬磁盤文件之外,系統上沒有其他對象具有相同的標簽。當第二個虛擬機啟動時,第二個虛擬機的 KVM Linux 進程和虛擬磁盤文件會被賦予自己唯一但匹配的標簽。這一切都如圖 2 所示。
圖2:sVirt 獨特的虛擬機進程和磁盤文件動態標記
如果虛擬機能夠執行虛擬機管理程序攻擊并獲得管理員訪問權限,則內核級別的 sVirt 將虛擬機限制為 sVirt SELinux 策略允許的內容,即查看自己的磁盤文件(而不是其他文件),使用虛擬機嚴格允許的其他資源,而不是其他資源。
聽起來不錯,但 sVirt 真的有效嗎?實際上,是的。在2011年美國黑帽大會上,Nelson Elhage提出了一種破壞KVM的方法,但使用sVirt挫敗了他的方法。
旁注:有趣的是,sVirt創建的標簽是多類別安全(MCS)標簽。MCS(和多級安全或MLS)標簽是直接源自NSA和其他機構推動的安全計算工作的概念。令人著迷的是,這展示了具有分類數據要求的機構如何幫助開源社區將其需求從利基市場轉變為主流。通過利用 SELinux 經過驗證的 MCS 功能,使用 sVirt 對 KVM 進行通用標準認證變得更加容易。
Red Hat 是 sVirt 和 KVM 項目以及 SELinux 的貢獻者,利用其 Red Hat Enterprise Linux 和 Red Hat Enterprise Virtualization 產品。
今后的工作
事情總是可以變得更好、更安全。集成到虛擬化中的另一個概念是資源控制組或 cgroups 的概念。就像 SELinux 可以限制 Linux 進程的訪問一樣,cgroups 用于控制 Linux 進程消耗的 CPU、網絡、內存和其他資源。由于 KVM 虛擬機是 Linux 進程,它們也可以像被 svirt 限制一樣被 cgroups 限制。這為虛擬化多租戶的資源公平性鋪平了道路。一個集成商的虛擬機不會過度消耗其公平的系統資源份額,這可能會對同一虛擬機監控程序上的另一個集成商的虛擬機產生負面影響。從安全角度來看,cgroups 還可用于防止對一個虛擬機的拒絕服務攻擊導致整個虛擬機監控程序癱瘓。
另一個正在考慮的開源努力是可信計算。隨著包含敏感數據的計算資源越來越深入戰場,啟動和信任數據中心中未鎖定和受保護的聯合系統的安全方法變得至關重要。開源社區以及政府機構以及硬件和軟件供應商正在積極研究可信計算技術來滿足這些需求。由于KVM是Linux進程,因此快速采用這些新興的可信計算方法的能力變得更加簡單,而不是發明全新的東西。
審核編輯:郭婷
-
數據中心
+關注
關注
16文章
4798瀏覽量
72199 -
虛擬化
+關注
關注
1文章
373瀏覽量
29816
發布評論請先 登錄
相關推薦
評論