面向租户的受保护的构造和受防护的 VM 计划指南

本主题重点介绍希望出于法规遵从性和安全目的保护其虚拟机 (VM) 的虚拟机所有者。 无论虚拟机是在托管提供程序的受保护的结构上运行还是在专用受保护的结构上运行,VM 所有者都需要控制其受防护的虚拟机的安全级别,其中包括根据需要保持解密这些虚拟机的能力。

使用受防护的虚拟机时,需要考虑三个方面:

  • 虚拟机的安全级别
  • 用于保护虚拟机的加密密钥
  • 保护数据 - 用于创建受防护的虚拟机的敏感信息

虚拟机的安全级别

部署受防护的虚拟机时,必须选择以下两个安全级别之一:

  • 受防护
  • 支持的加密

受防护和支持加密的虚拟机都附加了虚拟 TPM,运行 Windows 的虚拟机受 BitLocker 保护。 主要区别在于,受防护的虚拟机会阻止构造管理员进行访问,而支持加密的虚拟机允许结构管理员访问常规虚拟机的相同级别。 有关这些差异的更多详细信息,请参阅受保护的结构和受保护的虚拟机概述

如果你希望保护虚拟机免受受损结构(包括受损管理员)的影响,请选择“受保护的 VM”。 在结构管理员和结构本身不受信任的环境中,应使用受保护的 VM。 如果你希望满足可能需要静态加密和网络加密(例如,在实时迁移期间)的虚拟机的合规性要求,请选择“支持加密的 VM”。

支持加密的虚拟机非常适合结构管理员完全受信任但仍需要加密的环境。

可以在受保护的结构上,甚至在同一 Hyper-V 主机上混合运行常规虚拟机、受保护的虚拟机和支持加密的虚拟机。

虚拟机是受保护还是支持加密取决于在创建虚拟机时选择的保护数据。 虚拟机所有者在创建保护数据时配置安全级别(请参阅保护数据部分)。 请注意,一旦做出此选择,当虚拟机仍在虚拟化结构上时,就不能对其进行更改。

用于受保护虚拟机的加密密钥

使用加密磁盘和各种其他加密元素(只能通过以下方式解密)来保护受保护虚拟机免受虚拟化结构攻击媒介的攻击:

  • 所有者密钥 - 这是由虚拟机所有者维护的加密密钥,通常用于最后的恢复或故障排除。 虚拟机所有者负责将所有者密钥保存在安全位置。
  • 一个或多个保护者(主机保护者密钥)– 每个保护者代表一个虚拟化结构,所有者授权受保护的虚拟机在该结构上运行。 企业通常同时拥有主虚拟化结构和灾难恢复 (DR) 虚拟化结构,并且通常会授权其受保护的虚拟机同时在这两种结构上运行。 在某些情况下,辅助 (DR) 结构可能由公共云提供商托管。 任何受保护的结构的私钥仅在虚拟化结构上维护,而其公钥可以下载并包含在其保护者中。

如何创建所有者密钥? 所有者密钥由两个证书表示。 一个用于加密的证书和一个用于签名的证书。 你可以使用自己的 PKI 基础结构创建这两个证书,也可以从公共证书颁发机构 (CA) 获取 SSL 证书。 出于测试目的,你还可以在从 Windows 10 或 Windows Server 2016 开始的任何计算机上创建自签名证书。

你应该拥有多少个所有者密钥? 你可以使用单个所有者密钥或多个所有者密钥。 最佳做法是建议为共享相同安全、信任或风险级别的一组虚拟机使用单个所有者密钥,并用于管理控制。 你可以为所有加入域的受保护虚拟机共享一个所有者密钥,并托管由域管理员管理的所有者密钥。

我可以使用我自己的钥匙作为主机保护者吗? 是的,你可以自己的密钥提供给托管提供商,并将该密钥用于你的受保护虚拟机。 这使你能够使用你的特定密钥(而不是使用托管提供程序密钥),并且可以在你有需要遵守的特定安全或法规时使用。 出于密钥安全目的,主机保护者密钥应与所有者密钥不同。

保护数据

保护数据包含部署保护或支持加密的虚拟机所需的机密。 在将常规虚拟机转换为受保护虚拟机时,也会使用此选项。

保护数据是使用“保护数据文件向导”创建的,并存储在虚拟机所有者上传到受保护结构的 PDK 文件中。

受防护的虚拟机有助于防范遭到入侵的虚拟化结构的攻击,因此我们需要一种安全机制来传递敏感的初始化数据(例如管理员的密码、域加入凭据或 RDP 证书),而不会将这些数据透露给虚拟化结构本身或其管理员。 此外,保护数据包含以下内容:

  1. 安全级别 – 受保护或支持加密
  2. 可以运行虚拟机的受信任主机保护者的所有者和列表
  3. 虚拟机初始化数据(unattend.xml、RDP 证书)
  4. 用于在虚拟化环境中创建虚拟机的可信签名模板磁盘列表

创建受保护虚拟机或支持加密的虚拟机或转换现有虚拟机时,系统将要求你选择保护数据,而不是提示你输入敏感信息。

我需要多少个保护数据文件? 单个保护数据文件可用于创建每个受保护的虚拟机。 但是,如果给定的保护虚拟机要求四项中的任何一项不同,则需要额外的保护数据文件。 例如,你的 IT 部门可能有一个保护数据文件,而人力资源部门可能有一个不同的保护数据文件,因为它们的初始管理员密码和 RDP 证书不同。

虽然可以为每个受保护的虚拟机使用单独的保护数据文件,但这不一定是最佳选择,一定要有合适的理由才能这样做。 例如,如果每个受保护的虚拟机都需要不同的管理员密码,请考虑使用密码管理服务或工具,如 Microsoft 的本地管理员密码解决方案 (LAPS)

在虚拟化结构上创建受保护的虚拟机

有多个选项可用于在虚拟化结构上创建受保护的虚拟机(以下内容适用于受保护的虚拟机和支持加密的虚拟机):

  1. 在你的环境中创建一个受保护的虚拟机,并将其上传到虚拟化结构
  2. 根据虚拟化构造上的已签名模板新建一个受保护的虚拟机
  3. 屏蔽现有虚拟机(现有虚拟机必须是第 2 代,并且必须运行 Windows Server 2012 或更高版本)

正常做法是根据模板创建新虚拟机。 但是,由于用于创建新的受保护虚拟机的模板磁盘驻留在虚拟化结构上,因此需要采取额外的措施来确保这个模板磁盘没有被恶意结构管理员或在结构上运行的恶意软件篡改。 使用签名模板磁盘可解决此问题 - 签名模板磁盘及其磁盘签名是由受信任的管理员或虚拟机所有者创建。 创建受保护的虚拟机时,会将模板磁盘的签名与指定的保护数据文件中包含的签名进行比较。 如果保护数据文件的任何签名与模板磁盘的签名匹配,则部署过程将继续。 如果找不到匹配项,则部署过程将中止,以确保虚拟机机密不会因不可信的模板磁盘而受到损害。

使用签名模板磁盘创建受保护虚拟机时,有两个选项可用:

  1. 使用虚拟化提供商提供的现有签名模板磁盘。 在这种情况下,虚拟化提供程序将维护签名的模板磁盘。
  2. 将已签名的模板磁盘上载到虚拟化结构。 虚拟机所有者负责维护已签名的模板磁盘。