可以使用 ESXCLI 命令列出 ESXi 安全配置恢复密钥、轮换恢复密钥以及更改 TPM 策略(例如,强制执行 UEFI 安全引导)。

列出 ESXi 安全配置恢复密钥的内容

可以使用 ESXCLI 显示 ESXi 安全配置恢复密钥的内容。

此任务仅适用于具有 TPM 的 ESXi 主机。通常,您可以列出 ESXi 安全配置恢复密钥的内容以创建备份或轮换恢复密钥。

前提条件

  • 有权访问 ESXCLI 命令集。可以远程或在 ESXi Shell 中运行 ESXCLI 命令。
  • 具有使用 ESXCLI 独立版本或 PowerCLI 所需的特权:主机.配置.设置

过程

  1. ESXi 主机上运行以下命令。
    esxcli system settings encryption recovery list
  2. 将输出保存在安全的远程位置作为备份,以防出现必须恢复安全配置的情况。

结果

将显示恢复密钥 ID 和密钥。

示例: 列出 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 命令集。可以远程或在 ESXi Shell 中运行 ESXCLI 命令。
  • 具有使用 ESXCLI 独立版本或 PowerCLI 所需的特权:主机.配置.设置

过程

  1. 列出恢复密钥。
  2. 运行下列命令。
    esxcli system settings encryption recovery rotate [-k keyID] -u uuid

    在此命令中,可选的 keyID 是 VMkernel 密钥缓存中的密钥 ID,uuid 是恢复 ID(从 esxcli system settings encryption recovery list 命令获取)。如果不提供可选密钥 ID,ESXi 会将旧恢复密钥替换为随机生成的新恢复密钥。

结果

恢复密钥现在设置为密钥 ID 引用的密钥的内容(如果已提供)。否则,ESXi 提供新的密钥 ID。

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 命令集。可以远程或在 ESXi Shell 中运行 ESXCLI 命令。
  • 具有使用 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 命令集。可以远程或在 ESXi Shell 中运行 ESXCLI 命令。
  • 具有使用 ESXCLI 独立版本或 PowerCLI 所需的特权:主机.配置.设置

过程

  1. 列出 ESXi 主机的当前设置。
    esxcli system settings encryption get
       Mode: TPM
       Require Executables Only From Installed VIBs: false
       Require Secure Boot: true
    如果已激活 execInstalledOnly 实施,则“需要仅来自已安装 VIB 的可执行文件”会显示 true。如果已停用 execInstalledOnly 实施,则“需要仅来自已安装 VIB 的可执行文件”会显示 false。要激活 execInstalledOnly 实施,必须激活安全引导实施,在这种情况下,“需要安全引导”显示 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

      确认“需要安全引导”显示 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

      确认“需要仅来自已安装 VIB 的可执行文件”显示 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

      确认“需要仅来自已安装 VIB 的可执行文件”显示 false。

    3. 要保存设置,请运行以下命令。
      /bin/backup.sh 0

      TPM 不再强制执行 execInstalledOnly 引导选项。

结果

ESXi 主机以激活还是停用 execInstalledOnly 实施方式运行,取决于您的选择。