分支机构注意事项
本文介绍在分支机构和其他远程场景(Hyper-V 主机在一段时间内与 HGS 的连接受限)中运行受防护的虚拟机的最佳做法。
回退配置
从 Windows Server 版本 1709 开始,可以在 Hyper-V 主机上配置一组额外的主机保护者服务 URL,以便在主 HGS 无响应的情况下使用。 这样,就可以运行用作主服务器的本地 HGS 群集,以便在本地服务器关闭时回退到企业数据中心的 HGS,从而获得更好的性能。
若要使用回退选项,需要设置两个 HGS 服务器。 这两个服务器可以运行 Windows Server 2019 或 Windows Server 2016,并且既可以属于相同群集,也可以属于不同群集。 如果它们是不同的集群,你将需要建立操作实践,以确保证明策略在两个服务器之间保持同步。 它们都需要能够正确授权 Hyper-V 主机运行受防护的 VM,并具有启动受防护的 VM 所需的密钥材料。 可以选择在两个群集之间拥有一对共享加密和签名证书,也可以使用单独的证书并配置受 HGS 防护的 VM,以在防护数据文件中同时授权两个保护者(加密/签名证书对)。
然后将 Hyper-V 主机升级到 Windows Server 版本 1709 或 Windows Server 2019 并运行以下命令:
# Replace https://hgs.primary.com and https://hgs.backup.com with your own domain names and protocols
Set-HgsClientConfiguration -KeyProtectionServerUrl 'https://hgs.primary.com/KeyProtection' -AttestationServerUrl 'https://hgs.primary.com/Attestation' -FallbackKeyProtectionServerUrl 'https://hgs.backup.com/KeyProtection' -FallbackAttestationServerUrl 'https://hgs.backup.com/Attestation'
若要取消配置回退服务器,只需省略这两个回退参数:
Set-HgsClientConfiguration -KeyProtectionServerUrl 'https://hgs.primary.com/KeyProtection' -AttestationServerUrl 'https://hgs.primary.com/Attestation'
为了使 Hyper-V 主机通过主服务器和回退服务器的证明,需要确保证明信息在两个 HGS 群集中都是最新的。 此外,用于解密虚拟机 TPM 的证书需要在两个 HGS 群集中都可用。 可以使用不同的证书配置每个 HGS,并且可将 VM 配置为同时信任这两个证书,或者将一组共享的证书同时添加到这两个 HGS 群集中。
有关使用回退 URL 在分支机构中配置 HGS 的其他信息,请参阅博客文章 Windows Server 版本 1709 中改进了分支机构对受防护 VM 的支持。
脱机模式
脱机模式允许在无法访问 HGS 时打开受防护的 VM,前提是 Hyper-V 主机的安全配置未更改。 脱机模式的工作原理是:在 Hyper-V 主机上缓存特殊版本的 VM TPM 密钥保护程序。 密钥保护器被加密到主机的当前安全配置(使用基于虚拟化的安全身份密钥)。 如果主机无法与 HGS 通信,并且其安全配置未更改,则主机将能够使用缓存的密钥保护器来启动受保护的虚拟机。 当系统上的安全设置发生更改时,例如应用了新的代码完整性策略或禁用了安全引导,缓存的密钥保护器将失效,并且主机必须使用 HGS 进行验证,然后才能再次脱机启动任何受保护的虚拟机。
脱机模式需要主机保护者服务群集和 Hyper-V 主机的 Insider Preview 内部版本 17609 或更高版本。 脱机模式由 HGS 上的策略控制,该策略在默认情况下处于禁用状态。 若要启用对脱机模式的支持,请在 HGS 节点上运行以下命令:
Set-HgsKeyProtectionConfiguration -AllowKeyMaterialCaching:$true
由于可缓存密钥保护器对于每个受保护虚拟机是唯一的,因此在 HGS 上启用此设置后,你需要完全关闭(而不是重新启动)并启动受保护虚拟机以获得可缓存密钥保护器。 如果你的受保护虚拟机迁移到运行旧版本 Windows Server 的 Hyper-V 主机,或者从旧版本 HGS 获取新的密钥保护器,则它将无法在脱机模式下自行启动,但可以在可访问 HGS 时继续在联机模式下运行。