可以使用 ESXCLI 命令列出安全 ESXi 組態復原金鑰、輪替復原金鑰,以及變更 TPM 原則 (例如,強制執行 UEFI 安全開機)。

列出安全 ESXi 組態復原金鑰的內容

可以使用 ESXCLI 顯示安全 ESXi 組態復原金鑰的內容。

此工作僅適用於具有 TPM 的 ESXi 主機。一般而言,可以列出安全 ESXi 組態復原金鑰的內容以建立備份,或作為輪替復原金鑰的一部分。

必要條件

  • 可以存取 ESXCLI 命令集。您可以遠端執行 ESXCLI 命令,或在 ESXi Shell 中執行。
  • 使用 ESXCLI 獨立版本或透過 PowerCLI 的所需權限:主機.組態.設定

程序

  1. ESXi 主機上執行下列命令。
    esxcli system settings encryption recovery list
  2. 如果您必須復原安全組態,請將輸出儲存在安全的遠端位置作為備份。

結果

此時會顯示復原金鑰識別碼和金鑰。

範例: 列出安全 ESXi 組態復原金鑰

[root@host1] esxcli system settings encryption recovery list

Recovery ID                             Key
--------------------------------------  ---
{2DDD5424-7F3F-406A-8DA8-D62630F6C8BC}  478269-039194-473926-430939-686855-231401-642208-184477-602511
-225586-551660-586542-338394-092578-687140-267425

輪替安全 ESXi 組態復原金鑰

可以使用 ESXCLI 輪替安全 ESXi 組態復原金鑰。

此工作僅適用於具有 TPM 的 ESXi 主機。在安全性最佳做法中,您可以輪替 ESXi 安全組態復原金鑰。

必要條件

  • 可以存取 ESXCLI 命令集。您可以遠端執行 ESXCLI 命令,或在 ESXi Shell 中執行。
  • 使用 ESXCLI 獨立版本或透過 PowerCLI 的所需權限:主機.組態.設定

程序

  1. 列出復原金鑰。
  2. 執行下列命令。
    esxcli system settings encryption recovery rotate [-k keyID] -u uuid

    在此命令中,選擇性 keyID 是 VMkernel 金鑰快取中的金鑰識別碼,而 uuid 是復原識別碼 (透過 esxcli system settings encryption recovery list 命令取得)。如果不提供選擇性金鑰識別碼,ESXi 會將舊復原金鑰取代為隨機產生的新復原金鑰。

結果

如果提供,則復原金鑰現已設定為金鑰識別碼所參考金鑰的內容。否則,ESXi 提供新的金鑰識別碼。

安全 ESXi 組態的疑難排解和復原

您可以對可能遇到的安全 ESXi 組態的開機問題進行疑難排解和復原。

如果清除了 TPM (即重設 TPM 中的種子值),或者 TPM 失敗,或者您無法更換主機板和/或 TPM 裝置,則必須採取步驟來復原 ESXi 安全組態。您必須具有復原金鑰,才能復原組態。在復原組態之前,ESXi 主機將無法開機。請參閱復原安全 ESXi 組態

雖然此情況並不常見,但 ESXi 主機可能無法還原或解密安全組態,從而使主機無法開機。可能的情況包括:

  • 變更為安全開機設定 (或其他原則)
  • 實際竄改
  • 復原金鑰無法使用

若要對這些狀況進行疑難排解,請參閱 VMware 知識庫文章,網址為 https://kb.vmware.com/s/article/81446

復原安全 ESXi 組態

如果 TPM 出現故障或如果您清除 TPM,則必須復原安全 ESXi 組態。在復原組態之前,ESXi 主機將無法開機。

復原安全 ESXi 組態指的是下列情況:
  • 已清除 TPM (即,TPM 中的種子已重設)。
  • TPM 出現了故障。
  • 您已更換主機板和/或 TPM 裝置。

若要對其他安全 ESXi 組態問題進行疑難排解,請參閱 VMware 知識庫文章,網址為 https://kb.vmware.com/s/article/81446

手動執行復原。請勿在執行安裝或升級指令碼的過程中進行復原。

必要條件

取得復原金鑰。您先前應已列出並儲存復原金鑰。請參閱 列出安全 ESXi 組態復原金鑰的內容

程序

  1. (選擇性) 如果 TPM 出現故障,請將磁碟 (具有開機區) 移至具有 TPM 的另一個主機。
  2. 啟動 ESXi 主機。
  3. 出現 ESXi 安裝程式視窗時,按 Shift+O 即可編輯開機選項。
  4. 若要復原組態,請在命令提示字元處將以下開機選項附加到任何現有開機選項。
    encryptionRecoveryKey=recovery_key
    安全 ESXi 組態隨即復原,並且 ESXi 主機開機。
  5. 若要保留變更,請輸入以下命令:
    /sbin/auto-backup.sh

下一步

輸入復原金鑰時,該金鑰會暫時顯示在不受信任的環境中,並且位於記憶體中。儘管並非必要,但最佳做法是透過將主機重新開機從記憶體中移除金鑰的殘留痕跡。或者,可以輪替金鑰。請參閱輪替安全 ESXi 組態復原金鑰

啟用或停用安全開機強制執行以確保安全的 ESXi 組態

您可以選擇啟用 UEFI 安全開機強制執行,或停用先前啟用的 UEFI 安全開機強制執行。必須使用 ESXCLI,才能變更 ESXi 主機上 TPM 中的設定。

此工作僅適用於具有 TPM 的 ESXi 主機。UEFI 安全開機是一種韌體設定,用於確保由韌體啟動的軟體受到信任。若要瞭解詳細資訊,請參閱ESXi 主機的 UEFI 安全開機。每次開機後,都可以使用 TPM 強制啟用 UEFI 安全開機。

必要條件

  • 可以存取 ESXCLI 命令集。您可以遠端執行 ESXCLI 命令,或在 ESXi Shell 中執行。
  • 使用 ESXCLI 獨立版本或透過 PowerCLI 的所需權限:主機.組態.設定

程序

  1. 列出 ESXi 主機上的目前設定。
    esxcli system settings encryption get
       Mode: TPM
       Require Executables Only From Installed VIBs: false
       Require Secure Boot: true
    如果安全開機強制執行已啟用,則 [需要安全開機] 會顯示為 true。如果安全開機強制執行已停用,則 [需要安全開機] 會顯示為 false。
    如果模式顯示為 NONE,您必須在主機的韌體中啟用 TPM,並透過執行以下命令設定模式:
    esxcli system settings encryption set --mode=TPM
  2. 啟用或停用安全開機強制執行。
    選項 說明
    啟動
    1. 正常關閉主機。

      例如,在 vSphere Client 中的 ESXi 主機上按一下滑鼠右鍵,然後選取電源 > 關閉

    2. 在主機的韌體中啟用安全開機。

      請參閱特定的廠商硬體說明文件。

    3. 重新啟動主機。
    4. 執行下列 ESXCLI 命令。
      esxcli system settings encryption set --require-secure-boot=T
    5. 驗證變更。
      esxcli system settings encryption get
         Mode: TPM
         Require Executables Only From Installed VIBs: false
         Require Secure Boot: true

      確認 [需要安全開機] 顯示為 true。

    6. 若要儲存設定,請執行下列命令。
      /bin/backup.sh 0
    停用
    1. 執行下列 ESXCLI 命令。
      esxcli system settings encryption set --require-secure-boot=F
    2. 驗證變更。
      esxcli system settings encryption get
         Mode: TPM
         Require Executables Only From Installed VIBs: false
         Require Secure Boot: false

      確認 [需要安全開機] 顯示為 false。

    3. 若要儲存設定,請執行下列命令。
      /bin/backup.sh 0

      您可以選擇在主機的韌體中停用安全開機,但此時無法再設定韌體設定和 TPM 強制執行之間的相依性。

結果

ESXi 主機會在啟用或停用安全開機強制執行的情況下執行,視您的選擇而定。
備註:
如果在安裝或升級至 vSphere 7.0 Update 2 或更新版本時未啟用 TPM,可以稍後使用下列命令執行此操作。
esxcli system settings encryption set --mode=TPM
啟用 TPM 後,便無法復原設定。

即使為主機啟用了 TPM,esxcli system settings encryption set 命令也會在某些 TPM 上失敗。

  • 在 vSphere 7.0 Update 2 中:來自 NationZ (NTZ) 的 TPM、來自 Infineon Technologies (IFX) 的 TPM 以及來自 Nuvoton Technologies Corporation (NTC) 的某些新型號 (例如 NPCT75x)
  • 在 vSphere 7.0 Update 3 中:來自 NationZ (NTZ) 的 TPM

如果安裝或升級 vSphere 7.0 Update 2 或更新版本在首次開機期間無法使用 TPM,則安裝或升級將繼續,並且模式預設為 [無] (即,--mode=NONE)。由此產生的行為就像未啟用 TPM 一樣。

啟用或停用 execInstalledOnly 強制執行以確保安全的 ESXi 組態

您可以選擇啟用 execInstalledOnly 強制執行,或停用先前啟用的 execInstalledOnly 強制執行。必須使用 ESXCLI,才能變更 ESXi 主機上 TPM 中的設定。必須先啟用 UEFI 安全開機強制執行,然後才能啟用 execInstalledOnly 強制執行。

此工作僅適用於具有 TPM 的 ESXi 主機。execInstalledOnly 進階 ESXi 開機選項設定為 TRUE 時,可保證 VMkernel 僅執行作為 VIB 一部分進行封裝和簽署的二進位檔案。每次開機後,都可以使用 TPM 強制啟用此開機選項。

必要條件

  • 若要啟用 execInstalledOnly 強制執行,您必須先啟用 UEFI 安全開機強制執行。execInstalledOnly 強制執行建立於 UEFI 安全開機強制執行之上。請參閱啟用或停用安全開機強制執行以確保安全的 ESXi 組態
  • 可以存取 ESXCLI 命令集。您可以遠端執行 ESXCLI 命令,或在 ESXi Shell 中執行。
  • 使用 ESXCLI 獨立版本或透過 PowerCLI 的所需權限:主機.組態.設定

程序

  1. 列出 ESXi 主機上的目前設定。
    esxcli system settings encryption get
       Mode: TPM
       Require Executables Only From Installed VIBs: false
       Require Secure Boot: true
    如果 execInstalledOnly 強制執行已啟用,則 Require Executables Only From Installed VIBs 會顯示為 true。如果 execInstalledOnly 強制執行已停用,則 Require Executables Only From Installed VIBs 會顯示為 false。若要啟用 execInstalledOnly 強制執行,則安全開機強制執行必須處於啟用狀態,並且 Require Secure Boot 在此案例中顯示為 true。
    如果模式顯示為 NONE,您必須在主機的韌體中啟用 TPM,並透過執行以下命令設定模式:
    esxcli system settings encryption set --mode=TPM
    此外,如果 [需要安全開機] 顯示為 False,請參閱 啟用或停用安全開機強制執行以確保安全的 ESXi 組態以啟用實作。
  2. 啟用或停用 execInstalledOnly 強制執行。
    選項 說明
    啟動
    1. 確認已啟用安全開機選項。
      esxcli system settings encryption get
         Mode: TPM
         Require Executables Only From Installed VIBs: false
         Require Secure Boot: true

      確認 Require Secure Boot 顯示為 true。若非如此,請參閱啟用或停用安全開機強制執行以確保安全的 ESXi 組態

    2. 若要將 execInstalledOnly 開機選項的執行階段值設定為 TRUE,請執行下列 ESXCLI 命令。
      esxcli system settings kernel set -s execInstalledOnly -v TRUE
    3. 正常關閉主機。

      例如,在 vSphere Client 中的 ESXi 主機上按一下滑鼠右鍵,然後選取電源 > 關閉

    4. 重新啟動主機。
    5. 若要設定 execInstalledOnly 強制執行,請執行下列 ESXCLI 命令。
      esxcli system settings encryption set --require-exec-installed-only=T 
    6. 驗證變更。
      esxcli system settings encryption get
         Mode: TPM
         Require Executables Only From Installed VIBs: true
         Require Secure Boot: true

      確認 Require Executables Only From Installed VIBs 顯示為 true。

    7. 若要儲存設定,請執行下列命令。
      /bin/backup.sh 0
    停用
    1. 執行下列 ESXCLI 命令。
      esxcli system settings encryption set --require-exec-installed-only=F
    2. 驗證變更。
      esxcli system settings encryption get
         Mode: TPM
         Require Executables Only From Installed VIBs: false
         Require Secure Boot: true

      確認 Require Executables Only From Installed VIBs 顯示為 false。

    3. 若要儲存設定,請執行下列命令。
      /bin/backup.sh 0

      TPM 不再強制執行 execInstalledOnly 開機選項。

結果

ESXi 主機會在啟用或停用 execInstalledOnly 強制執行的情況下執行,視您的選擇而定。