請遵循虛擬機器加密最佳做法,以避免稍後 (例如產生 vm-support 服務包時) 發生問題。
開始使用虛擬機器加密的最佳做法
若要避免在使用虛擬機器加密時出現問題,請遵循以下一般最佳做法。
- 請勿加密任何 vCenter Server Appliance 虛擬機器。
- 如果 ESXi 主機失敗,請儘快擷取支援服務包。主機金鑰必須可用於產生使用密碼的支援服務包或解密核心傾印。如果將主機重新開機,主機金鑰可能會發生變更。如果出現這種情況,您將無法再產生使用密碼的支援服務包或使用主機金鑰解密支援服務包中的核心傾印。
- 請謹慎管理金鑰提供者名稱。如果已在使用中的金鑰伺服器的金鑰提供者名稱發生變更,使用來自該金鑰伺服器的金鑰進行加密的虛擬機器在電源開啟或登錄期間會進入鎖定狀態。在這種情況下,請將該金鑰伺服器從 vCenter Server 中移除並以最初使用的金鑰提供者名稱加以新增。
- 請勿編輯 VMX 檔案和 VMDK 描述元檔案。這些檔案包含加密服務包。您的變更可能會使虛擬機器無法復原,並且該復原問題無法修復。
- vSphere 虛擬機器加密程序會先對主機上的資料進行加密,然後再將資料寫入儲存區。以這種方式加密虛擬機器時,後端儲存區功能 (例如重複資料刪除、壓縮、複寫等) 的有效性可能會受到影響。
- 如果使用多層加密,例如,vSphere 虛擬機器加密和客體內加密 (BitLocker、dm-crypt 等),則虛擬機器的整體性能可能會受到影響,因為加密程序會使用額外的 CPU 和記憶體資源。
- 確保使用 vSphere 虛擬機器加密進行加密之虛擬機器的複寫複本有權在復原站台存取加密金鑰。對於標準金鑰提供者,在 vSphere 外部作為金鑰管理系統設計的一部分進行處理。對於 vSphere Native Key Provider,請確保存在原生金鑰提供者金鑰的備份複本,並受到保護以防遺失。如需詳細資訊,請參閱 備份 vSphere Native Key Provider。
- 加密需要大量 CPU。AES-NI 顯著提升了加密效能。在 BIOS 中啟用 AES-NI。
已加密核心傾印的最佳做法
請遵循下列最佳做法,以避免在您想要檢查核心傾印以診斷問題時發生問題。
- 建立與核心傾印有關的原則。加密核心傾印是因為它們可能包含敏感資訊,例如金鑰。如果要解密核心傾印,請考慮敏感資訊。ESXi 核心傾印可能包含 ESXi 主機及其上虛擬機器的金鑰。在解密核心傾印之後,請考量變更主機金鑰並對已加密的虛擬機器進行雙重加密。您可以透過使用 vSphere API 來執行這兩項工作。
如需詳細資料,請參閱vSphere 虛擬機器加密和核心傾印。
- 在您收集 vm-support 服務包時,一律使用密碼。您可以在透過 vSphere Client 或使用 vm-support 命令產生支援服務包時指定密碼。
該密碼會對使用內部金鑰的核心傾印進行雙重加密,以使用基於密碼的金鑰。您稍後可以使用該密碼來解密可能包含在支援服務包中的任何已加密核心傾印。透過使用密碼選項,未加密的核心傾印和記錄不會受到影響。
- vSphere 元件中不會保存您在 vm-support 服務包建立期間指定的密碼。您將負責追蹤支援服務包的密碼。
- 變更主機金鑰之前,請先產生使用密碼的 vm-support 服務包。您稍後可以使用密碼來存取可能已使用舊主機金鑰加密的任何核心傾印。
金鑰生命週期管理的最佳做法
- 您負責實作可保證金鑰伺服器可用性的原則。
如果金鑰伺服器無法使用,則要求 vCenter Server 從金鑰伺服器請求金鑰的虛擬機器作業將無法進行。這意味著,執行中的虛擬機器會繼續執行,您可以對這些虛擬機器進行開啟電源、關閉電源和重新設定。但是,您無法將這些虛擬機器重新放置到不具金鑰資訊的主機。
大多數金鑰伺服器解決方案都包括高可用性功能。您可以使用 vSphere Client 或 API 來指定金鑰提供者和相關聯的金鑰伺服器。
備註: 從 7.0 Update 2 版本開始,加密的虛擬機器和虛擬 TPM 可以繼續運作,即使金鑰伺服器暫時離線或無法使用也是如此。 ESXi 主機可保存加密金鑰以繼續執行加密和 vTPM 作業。請參閱 ESXi 主機上的 vSphere 金鑰持續性。 - 您將負責追蹤金鑰,並在現有虛擬機器的金鑰未處於 [作用中] 狀態時執行修復。
KMIP 標準定義了下列金鑰狀態。
- 作用前
- 作用中
- 已停用
- 已遭洩露
- 已銷毀
- 已銷毀並遭洩露
vSphere 虛擬機器加密僅使用 [作用中] 金鑰進行加密。如果金鑰為 [作用前],vSphere 虛擬機器加密會將其啟動。如果金鑰狀態為 [已停用]、[已遭洩露]、[已銷毀]、[已銷毀並遭洩露],則無法使用該金鑰加密虛擬機器。
對於處於其他狀態的金鑰,使用這些金鑰的虛擬機器會繼續運作。複製或移轉作業是否成功取決於其金鑰是否已存在於主機上。- 如果金鑰存在於目的地主機上,則表示作業成功執行,即使金鑰在金鑰伺服器上不是 [作用中] 狀態。
- 如果所需的虛擬機器和虛擬磁碟金鑰不在目的地主機上,則 vCenter Server 必須從金鑰伺服器擷取金鑰。如果金鑰狀態為 [已停用]、[已遭洩露]、[已銷毀]、[已銷毀並遭洩露],則 vCenter Server 會顯示錯誤,作業不會成功。
如果金鑰已存在於主機上,則複製或移轉作業成功。如果 vCenter Server 必須從金鑰伺服器提取金鑰,則作業失敗。
如果金鑰不是 [作用中] 狀態,請使用 API 執行重設金鑰作業。請參閱《vSphere Web Services SDK 程式設計指南》。
- 制定金鑰輪替原則,使金鑰在特定時間後淘汰並變換。
- 受信任金鑰提供者:變更受信任金鑰提供者的主要金鑰。
- vSphere Native Key Provider:變更 vSphere Native Key Provider 的
key_id
。
備份和還原的最佳做法
- 並非所有備份架構皆受支援。請參閱虛擬機器加密互通性。
- 針對還原作業設定原則。因為備份一律採用純文字形式,所以請計劃在還原完成後立即加密虛擬機器。您可以指定加密虛擬機器做為還原作業的一部分。如果可能,請在還原程序過程中加密虛擬機器,以避免曝光敏感資訊。若要變更與虛擬機器相關聯的任何磁碟的加密原則,請變更磁碟的儲存區原則。
- 由於虛擬機器主檔案已加密,請確保加密金鑰在還原時可供使用。
加密效能的最佳做法
- 加密效能取決於 CPU 和儲存區速度。
- 加密現有虛擬機器耗用的時間比在虛擬機器建立期間進行加密的時間要久。如果可能,請在建立虛擬機器時對其進行加密。
範例儲存區原則的最佳做法
如需自訂儲存區原則的詳細資料,請參閱 vSphere 儲存區說明文件。
移除加密金鑰的最佳做法
若要確保加密金鑰已從某個叢集移除,請在已加密的虛擬機器刪除、解除登錄或移至另一個 vCenter Server 後,將叢集中的 ESXi 主機重新開機。