Solucionar problemas de hosts protegidos

Este artigo descreve resoluções para problemas comuns encontrados ao implantar ou operar um host Hyper-V protegido em sua malha protegida.

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Se você não tiver certeza da natureza do seu problema, primeiro tente executar o diagnóstico de malha protegida em seus hosts Hyper-V para restringir as possíveis causas.

Recurso de host protegido

Se você estiver enfrentando problemas com seu host Hyper-V, primeiro verifique se o recurso Suporte ao Hyper-V do Guardião de Host está instalado. Sem esse recurso, o host Hyper-V não tem algumas definições de configuração críticas e software que permitem que ele passe o atestado e provisione VMs blindadas.

Para verificar se o recurso está instalado, use o Gerenciador do Servidor ou execute o seguinte cmdlet em uma janela do PowerShell com privilégios elevados:

Get-WindowsFeature HostGuardian

Se o recurso não estiver instalado, instale-o com o seguinte cmdlet do PowerShell:

Install-WindowsFeature HostGuardian -Restart

Falhas de atestado

Se um host não passar no atestado com o Serviço Guardião de Host, ele não poderá executar VMs blindadas. A saída de Get-HgsClientConfiguration nesse host mostrará informações sobre por que esse host falhou no atestado.

A tabela a seguir explica os valores que podem aparecer no campo AttestationStatus e as possíveis próximas etapas, se for o caso.

AttestationStatus Explicação
Expirado O host foi aprovado no atestado anteriormente, mas o certificado de integridade que ele foi emitido expirou. Verifique se o host e a hora do HGS estão em sincronia.
InsecureHostConfiguration O host não passou no atestado porque não estava em conformidade com as políticas de atestado configuradas no HGS. Para obter mais informações, consulte a tabela AttestationSubStatus.
NotConfigured O host não está configurado para usar um HGS para atestado e proteção de chave. Em vez disso, ele é configurado para o modo local. Se esse host estiver em uma malha protegida, use Set-HgsClientConfiguration a fim de fornecer as URLs para o servidor HGS.
Aprovado O host foi aprovado pelo atestado.
TransientError A última tentativa de atestado falhou devido a um erro de rede, de serviço ou outro erro temporário. Repita sua última operação.
TpmError O host não pôde concluir sua última tentativa de atestado devido a um erro com o TPM. Para obter mais informações, consulte os logs do TPM.
UnauthorizedHost O host não passou no atestado porque não estava autorizado a executar VMs blindadas. Verifique se o host pertence a um grupo de segurança confiável do HGS para executar VMs blindadas.
Desconhecido O apresentador ainda não tentou atestar com o HGS.

Quando AttestationStatus é relatado como InsecureHostConfiguration, um ou mais motivos são preenchidos no campo AttestationSubStatus . A tabela a seguir explica os valores possíveis para AttestationSubStatus e dicas sobre como resolver o problema.

AttestationSubStatus O que significa e o que fazer
BitLocker O volume do sistema operacional do host não é criptografado pelo BitLocker. Para resolver isso, habilite o BitLocker no volume do sistema operacional ou desabilite a política do BitLocker no HGS.
CodeIntegrityPolicy O host não está configurado para usar uma política de integridade de código ou não está usando uma política confiável do servidor HGS. Verifique se uma política de integridade de código foi configurada, se o host foi reiniciado e se a política está registrada no servidor HGS. Para obter mais informações, confira Criar e aplicar uma política de integridade de código.
DumpsEnabled O host está configurado para permitir despejos de memória ou despejos de memória dinâmica, o que não é permitido pelas políticas do HGS. Para resolver isso, desabilite os despejos no host.
DumpEncryption O host está configurado para permitir despejos de memória ou despejos de memória ao vivo, mas não criptografa esses despejos. Desabilite despejos no host ou configure a criptografia de despejo.
DumpEncryptionKey O host está configurado para permitir e criptografar despejos, mas não está usando um certificado conhecido pelo HGS para criptografá-los. Para resolver isso, atualize a chave de criptografia de despejo no host ou registre a chave no HGS.
FullBoot O host foi retomado de um estado de suspensão ou hibernação. Reinicie o host para permitir uma inicialização completa e limpa.
HibernationEnabled O host está configurado para permitir a hibernação sem criptografar o arquivo de hibernação, o que não é permitido pelas políticas do HGS. Desabilite a hibernação e reinicie o host ou configure a criptografia de despejo.
HypervisorEnforcedCodeIntegrityPolicy O host não está configurado para usar uma política de integridade de código imposta pelo hipervisor. Verifique se a integridade do código está habilitada, configurada e se foi imposta pelo hipervisor. Para obter mais informações, consulte o guia de implantação do Device Guard.
Iommu Os recursos de Segurança Baseada em Virtualização do host não estão configurados para exigir um dispositivo IOMMU para proteção contra ataques de Acesso Direto à Memória, conforme exigido por suas políticas HGS. Verifique se o host tem um IOMMU, se ele está habilitado e se o Device Guard está configurado para exigir proteções de DMA ao iniciar o VBS.
PagefileEncryption A criptografia de arquivo de paginação não está habilitada no host. Para resolver isso, execute fsutil behavior set encryptpagingfile 1 para habilitar a criptografia de arquivo de página. Para obter mais informações, confira comportamento fsutil.
SecureBoot A Inicialização Segura não está habilitada neste host ou não está usando o modelo de Inicialização Segura da Microsoft. Habilite a Inicialização Segura com o modelo de Inicialização Segura da Microsoft para resolver esse problema.
SecureBootSettings A linha de base do TPM neste host não corresponde a nenhuma das confiáveis do HGS. Isso pode ocorrer quando as autoridades de inicialização da UEFI, a variável DBX, o sinalizador de depuração ou as políticas personalizadas de Inicialização Segura são alteradas pela instalação de um novo hardware ou software. Se você confiar na configuração atual de hardware, firmware e software desse computador, poderá capturar uma nova linha de base do TPM e registrá-la no HGS.
TcgLogVerification O log TCG (linha de base do TPM) não pode ser obtido ou verificado. Isso pode indicar um problema com o firmware do host, o TPM ou outros componentes de hardware. Se o host estiver configurado para tentar uma inicialização PXE antes de inicializar o Windows, um NBP (Programa de Inicialização de Rede) desatualizado também poderá causar esse erro. Verifique se todos os NBPs estão atualizados quando a inicialização PXE está habilitada.
VirtualSecureMode Os recursos de segurança baseada em virtualização não estão em execução no host. Verifique se a VBS está habilitada e se o sistema atende aos recursos de segurança da plataforma configurados. Para obter mais informações sobre os requisitos do VBS, consulte a documentação do Device Guard.

TLS moderno

Se você tiver implantado uma política de grupo ou configurado de outra forma seu host Hyper-V para impedir o uso do TLS 1.0, poderá encontrar erros "O Cliente do Serviço Guardião de Host falhou ao desencapsular um Protetor de Chave em nome de um processo de chamada" ao tentar iniciar uma VM blindada. Isso ocorre devido a um comportamento padrão no .NET 4.6 em que a versão TLS padrão do sistema não é considerada ao negociar versões TLS com suporte com o servidor HGS.

Para contornar esse comportamento, execute os dois comandos a seguir a fim de configurar o .NET para usar as versões do TLS padrão do sistema em todos os aplicativos .NET.

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32

Aviso

A configuração de versões do TLS padrão do sistema afetará todos os aplicativos .NET em seu computador. Teste as chaves do Registro em um ambiente isolado antes de implantá-las em seus computadores de produção.

Para obter mais informações sobre o .NET 4.6 e o TLS 1.0, confira Resolvendo o problema do TLS 1.0, 2ª Edição.