请遵循虚拟机加密最佳做法,以避免以后(例如,在生成 vm-support 包时)遇到问题。

一般最佳做法

请遵循以下一般最佳做法以避免遇到问题。

  • 不要加密任何 vCenter Server Appliance 虚拟机。
  • 如果 ESXi 主机发生故障,请尽快检索支持包。要生成使用密码的支持包或解密核心转储,主机密钥必须可用。如果重新引导主机,主机密钥可能会更改。如果发生这种情况,则无法再生成包含密码的支持包,或使用主机密钥解密支持包中的核心转储。
  • 谨慎管理 KMS 群集名称。如果已在使用的 KMS 的 KMS 群集名称发生更改,则使用此 KMS 中的密钥加密的虚拟机在打开电源或进行注册时将进入锁定状态。在这种情况下,请从 vCenter Server 中移除该 KMS,然后为其添加最初使用的群集名称。
  • 不要编辑 VMX 文件和 VMDK 描述符文件。这些文件包含加密包。所做更改可能会使虚拟机不可恢复,并且可能无法修复恢复问题。
  • 加密过程在将主机上的数据写入到存储之前会对其进行加密。后端存储功能(如去重和压缩)可能对加密的虚拟机无效。使用 vSphere 虚拟机加密时会权衡考虑存储。
  • 加密会占用大量 CPU。AES-NI 可以大幅提高加密性能。在您的 BIOS 中启用 AES-NI。

加密核心转储的最佳做法

请遵循以下最佳做法以避免在想要检查核心转储以诊断问题时遇到问题。

  • 建立有关核心转储的策略。核心转储会进行加密,因为它们可能包含敏感信息(例如密钥)。解密核心转储时,将其视为敏感信息进行处理。ESXi核心转储可能包含用于 ESXi 主机以及该主机上的虚拟机的密钥。考虑在解密核心转储后更改主机密钥并重新加密已加密的虚拟机。您可以使用 vSphere API 执行这两项任务。

    有关详细信息,请参见vSphere 虚拟机加密和核心转储

  • 在收集 vm-support 包时,始终应使用密码。通过 vSphere Client 或使用 vm-support 命令生成支持包时,您可以指定密码。

    密码会重新加密使用内部密钥的核心转储,以便使用基于该密码的密钥。您可以在以后使用该密码来解密支持包中可能包含的任何加密核心转储。使用密码选项不会影响未加密的核心转储和日志。

  • 在创建 vm-support 包期间指定的密码不会保留在 vSphere 组件中。您需要负责跟踪支持包的密码。
  • 在更改主机密钥前,生成包含密码的虚拟机支持包。稍后可以使用该密码访问可能已使用旧主机密钥进行加密的任何核心转储。

密钥生命周期管理最佳做法

请实施可保证 KMS 可用性并监控 KMS 上的密钥的最佳做法。
  • 您需要负责实施可确保 KMS 可用性的策略。

    如果 KMS 不可用,则要求 vCenter Server 从 KMS 请求密钥的虚拟机操作将无法进行。这意味着正在运行的虚拟机将继续运行,您可以打开和关闭这些虚拟机的电源,还可以重新配置这些虚拟机。但是,无法将虚拟机重定位到不具有密钥信息的主机。

    大多数 KMS 解决方案都包含高可用性功能。您可以使用 vSphere Client 或 API 来指定 KMS 群集和关联的 KMS 服务器。

  • 您需要负责跟踪密钥,以及在现有虚拟机的密钥不处于“活动”状态时执行修复。
    KMIP 标准定义了以下密钥状态。
    • 活动前
    • 活动
    • 已取消激活
    • 已泄漏
    • 已破坏
    • 已破坏且已泄漏

    “vSphere 虚拟机加密”仅使用活动密钥进行加密。如果密钥处于“活动前”状态,“vSphere 虚拟机加密”会激活该密钥。如果密钥处于“已取消激活”、“已泄漏”、“已破坏”或“已破坏且已泄漏”状态,则无法使用该密钥对虚拟机或虚拟磁盘进行加密。

    如果密钥处于其他状态,使用这些密钥的虚拟机将继续工作。克隆或迁移操作能否成功取决于密钥是否已存在于主机上。
    • 如果密钥位于目标主机上,则即使该密钥在 KMS 上不处于“活动”状态,操作也会成功。
    • 如果所需的虚拟机密钥和虚拟磁盘密钥不位于目标主机上,则 vCenter Server 必须从 KMS 获取密钥。如果密钥处于“已取消激活”、“已泄漏”、“已破坏”或“已破坏且已泄漏”状态,则 vCenter Server 会显示错误,并且操作将不成功。

    如果密钥已存在于主机上,则克隆或迁移操作将成功。如果 vCenter Server 必须从 KMS 提取密钥,则操作将失败。

    如果不处于“活动”状态,请使用 API 执行重新生成密钥操作。请参见《vSphere Web Services SDK 编程指南》

备份和还原最佳做法

请设置有关备份和还原操作的策略。
  • 并非所有备份架构均受支持。请参见虚拟机加密互操作性
  • 请为还原操作设置策略。由于备份始终以明文方式进行,因此请计划在还原完成后立即对虚拟机进行加密。您可以指定在还原操作的过程中对虚拟机进行加密。如果可能,请在还原过程中对虚拟机进行加密,以避免暴露敏感信息。要更改与虚拟机关联的任何磁盘的加密策略,请更改该磁盘的存储策略。
  • 由于虚拟机主页文件已加密,请确保加密密钥在还原时可用。

性能最佳做法

  • 加密性能取决于 CPU 和存储速度。
  • 对现有虚拟机进行加密所需的时间比在创建虚拟机期间对其进行加密更多。请尽可能在创建虚拟机期间对其进行加密。

存储策略最佳做法

不要修改捆绑的虚拟机加密示例存储策略。相反,应克隆该策略并对克隆进行编辑。
注: 没有任何自动方法可用于将虚拟机加密策略恢复为其原始设置。

有关自定义存储策略的详细信息,请参见《vSphere 存储》文档。