将受保护的结构升级到 Windows Server 2019

本文介绍将现有的受保护的结构从 Windows Server 2016、Windows Server 版本 1709 或 Windows Server 版本 1803 升级到 Windows Server 2019 所需的步骤。

Windows Server 2019 中的新增功能

在 Windows Server 2019 上运行受保护的结构时,可以利用几个新功能:

“主机密钥证明”是我们的最新证明模式,旨在让你在 Hyper-V 主机没有可用于 TPM 证明的 TPM 2.0 设备时更轻松地运行受防护的 VM。 主机密钥证明使用密钥对通过 HGS 对主机进行身份验证,从而消除了主机加入 Active Directory 域的要求,消除了 HGS 与企业林之间的 AD 信任,并减少了打开的防火墙端口的数量。 主机密钥证明取代了 Active Directory 证明,后者在 Windows Server 2019 中已弃用。

V2 证明版本 - 为了支持主机密钥证明和未来的新功能,我们向 HGS 引入了版本控制。 在 Windows Server 2019 上以全新方式安装 HGS 将导致服务器使用 v2 证明,这意味着它可以支持 Windows Server 2019 主机的主机密钥证明,并且仍然支持 Windows Server 2016 上的 v1 主机。 就地升级到 2019 将停留在版本 v1,直到你手动启用 v2。 大多数 cmdlet 现在都有一个 -HgsVersion 参数,用于指定是要使用旧版证明策略还是新式证明策略。

支持 Linux 受防护的 VM - 运行 Windows Server 2019 的 Hyper-V 主机可以运行 Linux 受防护的 VM。 虽然 Linux 受防护的 VM 自 Windows Server 版本 1709 以来一直存在,但 Windows Server 2019 是第一个支持它们的长期服务渠道版本。

分支机构改进 - 我们支持脱机受防护的 VM 和 Hyper-V 主机上的回退配置,因此用户可以更轻松地在分支机构中运行受防护的 VM。

TPM 主机绑定 - 对于最安全的工作负荷(你希望受防护的 VM 仅在创建它的第一台主机而不是其他主机上运行),你现在可以使用主机的 TPM 将 VM 绑定到该主机。 这最适用于特权访问工作站和分支机构,而不适用于需要在主机之间迁移的一般数据中心工作负荷。

兼容性矩阵

在将受保护的结构升级到 Windows Server 2019 之前,请查看以下兼容性矩阵,看你的配置是否受支持。

WS2016 HGS WS2019 HGS
WS2016 Hyper-V 主机 支持 支持1
WS2019 Hyper-V 主机 不支持2 支持

1 Windows Server 2016 主机只能使用 v1 证明协议向 Windows Server 2019 HGS 服务器证明。 Windows Server 2016 主机不支持 v2 证明协议中独有的新功能(包括主机密钥证明)。

2 Microsoft 发现了一个问题,该问题阻止使用 TPM 证明的 Windows Server 2019 主机向 Windows Server 2016 HGS 服务器证明。 此限制将在 Windows Server 2016 的未来更新中得到解决。

将 HGS 升级到 Windows Server 2019

建议在升级 Hyper-V 主机之前将 HGS 群集升级到 Windows Server 2019,以确保所有主机(无论它们运行的是 Windows Server 2016 还是 2019)都可以继续成功地进行证明。

升级 HGS 群集会要求你在升级时一次从群集中临时删除一个节点。 这将降低群集响应 Hyper-V 主机请求的能力,并可能导致租户的响应速度变慢或服务中断。 在升级 HGS 服务器之前,确保你有足够的能力来处理证明和密钥发布请求。

若要升级 HGS 群集,请在群集的每个节点上执行以下步骤,一次一个节点:

  1. 通过在提升的 PowerShell 提示符中运行 Clear-HgsServer,从群集中删除 HGS 服务器。 此 cmdlet 将从故障转移群集中删除 HGS 复制的存储、HGS 网站和节点。
  2. 如果 HGS 服务器是域控制器(默认配置),则需在要升级的第一个节点上运行 adprep /forestprepadprep /domainprep,以便准备域进行 OS 升级。 有关详细信息,请参阅 Active Directory 域服务升级文档
  3. 执行到 Windows Server 2019 的就地升级
  4. 运行 Initialize-HgsServer 以将节点重新加入群集。

所有节点都升级到 Windows Server 2019 后,可以选择将 HGS 版本升级到 v2 以支持主机密钥证明之类的新功能。

Set-HgsServerVersion  v2

将 Hyper-V 主机升级到 Windows Server 2019

将 Hyper-V 主机升级到 Windows Server 2019 之前,请确保 HGS 群集已升级到 Windows Server 2019,并且已将所有 VM 移出 Hyper-V 服务器。

  1. 如果在服务器上使用 Windows Defender 应用程序控制代码完整性策略(使用 TPM 证明时总是如此),请确保该策略处于审核模式或禁用状态,然后再尝试升级服务器。 了解如何禁用 WDAC 策略
  2. 按照 Windows Server 升级内容中的指导将主机升级到 Windows Server 2019。 如果 Hyper-V 主机是故障转移群集的一部分,请考虑使用群集操作系统滚动升级
  3. 如果在升级之前启用了 Windows Defender 应用程序控制策略,请测试并重新启用该策略。
  4. 运行 Get-HgsClientConfiguration 以检查 IsHostGuarded 是否为 True,如果是,则意味着主机已成功通过向 HGS 服务器进行的证明。
  5. 如果使用 TPM 证明,则可能需要在升级后重新捕获 TPM 基线或代码完整性策略才能通过证明。
  6. 再次开始在主机上运行受防护的 VM!

切换到主机密钥证明

如果当前正在运行基于 Active Directory 的证明,想要升级到主机密钥证明,请执行以下步骤。 请注意,基于 Active Directory 的证明在 Windows Server 2019 中已弃用,在将来的版本中可能会被删除。

  1. 运行以下命令,确保 HGS 服务器在 v2 证明模式下运行。 即使 HGS 服务器升级到 v2,现有 v1 主机也将继续进行证明。

    Set-HgsServerVersion v2
    
  2. 从每个 Hyper-V 主机生成主机密钥,并将其注册到 HGS。 由于 HGS 仍在 Active Directory 模式下运行,因此你将收到一条警告,指出新的主机密钥不会立即生效。 这是有意为之的,因为你不想在所有主机都可以成功使用主机密钥进行证明之前更改为主机密钥模式。

  3. 为每个主机注册主机密钥后,可以将 HGS 配置为使用主机密钥证明模式:

    Set-HgsServer -TrustHostKey
    

    如果在使用主机密钥模式时遇到问题,需要还原到基于 Active Directory 的证明,请在 HGS 上运行以下命令:

    Set-HgsServer -TrustActiveDirectory