Dela via


Felsöka skyddade värdar

Den här artikeln beskriver lösningar på vanliga problem som uppstår när du distribuerar eller använder en skyddad Hyper-V-värd i din skyddade infrastrukturresurs.

Gäller för: Windows Server 2022, Windows Server 2019, Windows Server 2016

Om du är osäker på problemets art kan du först prova att köra den skyddade infrastrukturdiagnostiken på Hyper-V-värdarna för att begränsa de potentiella orsakerna.

Skyddad värdfunktion

Om du har problem med Hyper-V-värden kontrollerar du först att Hyper-V-supportfunktionen för Värdskydd är installerad. Utan den här funktionen saknar Hyper-V-värden vissa viktiga konfigurationsinställningar och programvara som gör att den kan skicka attestering och etablera avskärmade virtuella datorer.

Om du vill kontrollera om funktionen är installerad använder du Serverhanteraren eller kör följande cmdlet i ett upphöjt PowerShell-fönster:

Get-WindowsFeature HostGuardian

Om funktionen inte är installerad installerar du den med följande PowerShell-cmdlet:

Install-WindowsFeature HostGuardian -Restart

Attesteringsfel

Om en värd inte skickar attestering med tjänsten Värdskydd kan den inte köra avskärmade virtuella datorer. Utdata från Get-HgsClientConfiguration på värden visar information om varför värddatorn misslyckades med attesteringen.

Tabellen nedan förklarar de värden som kan visas i fältet AttestationStatus och potentiella nästa steg, om det är lämpligt.

AttestationStatus Förklaring
Upphörd Värden passerade attesteringen tidigare, men hälsocertifikatet som utfärdades har upphört att gälla. Kontrollera att värden och HGS-tiden är synkroniserade.
InsecureHostConfiguration Värden klarade inte attesteringen eftersom den inte uppfyllde de attesteringsprinciper som konfigurerats på HGS. Mer information finns i tabellen AttestationSubStatus.
NotConfigured Värden är inte konfigurerad för att använda en HGS för attestering och nyckelskydd. Den är konfigurerad för lokalt läge i stället. Om den här värden finns i en skyddad infrastrukturresurs använder du Set-HgsClientConfiguration för att förse den med URL:erna för HGS-servern.
Godkänd Värden har godkänt attesteringen.
TransientError Det senaste attesteringsförsöket misslyckades på grund av ett nätverks-, tjänst- eller annat tillfälligt fel. Försök igen den senaste åtgärden.
TpmError Det gick inte att slutföra det senaste attesteringsförsöket på grund av ett fel med din TPM. Mer information finns i TPM-loggarna.
UnauthorizedHost Värden klarade inte attesteringen eftersom den inte hade behörighet att köra avskärmade virtuella datorer. Se till att värden tillhör en säkerhetsgrupp som är betrodd av HGS för att köra avskärmade virtuella datorer.
Okänt Värden har inte försökt att intyga med HGS ännu.

När AttestationStatus rapporteras som InsecureHostConfiguration fylls en eller flera orsaker i fältet AttestationSubStatus . I tabellen nedan beskrivs möjliga värden för AttestationSubStatus och tips om hur du löser problemet.

AttestationSubStatus Vad det innebär och vad man ska göra
BitLocker Värdens OS-volym krypteras inte av BitLocker. Lös problemet genom att aktivera BitLocker på OS-volymen eller inaktivera BitLocker-principen på HGS.
CodeIntegrityPolicy Värden är inte konfigurerad för att använda en kodintegritetsprincip eller använder inte en princip som är betrodd av HGS-servern. Kontrollera att en kodintegritetsprincip har konfigurerats, att värden har startats om och att principen har registrerats med HGS-servern. Mer information finns i Skapa och tillämpa en kodintegritetsprincip.
DumpsEnabled Värden är konfigurerad för att tillåta kraschdumpar eller direktminnesdumpar, vilket inte tillåts av dina HGS-principer. Lös problemet genom att inaktivera dumpar på värden.
DumpEncryption Värden är konfigurerad för att tillåta kraschdumpar eller direktminnesdumpar men krypterar inte dessa dumpar. Inaktivera antingen dumpar på värden eller konfigurera dumpkryptering.
DumpEncryptionKey Värden är konfigurerad för att tillåta och kryptera dumpar, men använder inte ett certifikat som är känt för HGS för att kryptera dem. Lös problemet genom att uppdatera krypteringsnyckeln för dumpar på värden eller registrera nyckeln med HGS.
FullBoot Värden återupptogs från ett viloläge eller viloläge. Starta om värden för att tillåta en ren, fullständig start.
VilolägeEnabled Värden är konfigurerad för att tillåta viloläge utan att kryptera vilolägesfilen, vilket inte tillåts av dina HGS-principer. Inaktivera viloläge och starta om värden eller konfigurera dumpkryptering.
HypervisorEnforcedCodeIntegrityPolicy Värden är inte konfigurerad för att använda en kodintegritetsprincip med hypervisor-framtvingas. Kontrollera att kodintegriteten är aktiverad, konfigurerad och framtvingad av hypervisor-programmet. Mer information finns i Distributionsguide för Device Guard.
Iommu Värdens virtualiseringsbaserade säkerhetsfunktioner är inte konfigurerade för att kräva en IOMMU-enhet för skydd mot direkt minnesåtkomstattacker, vilket krävs av dina HGS-principer. Kontrollera att värden har en IOMMU, att den är aktiverad och att Device Guard har konfigurerats för att kräva DMA-skydd när du startar VBS.
PagefileEncryption Sidfilkryptering är inte aktiverat på värden. Lös problemet genom att köra fsutil behavior set encryptpagingfile 1 för att aktivera sidfilkryptering. Mer information finns i fsutil-beteende.
SecureBoot Säker start är antingen inte aktiverat på den här värden eller så använder du inte Microsoft Secure Boot-mallen. Lös problemet genom att aktivera säker start med Microsoft Secure Boot-mallen.
SecureBootSettings TPM-baslinjen på den här värden matchar inte någon av de som är betrodda av HGS. Detta kan inträffa när dina UEFI-startmyndigheter, DBX-variabel, felsökningsflagga eller anpassade principer för säker start ändras genom att installera ny maskinvara eller programvara. Om du litar på den aktuella maskinvaru-, inbyggda programvaran och programvarukonfigurationen för den här datorn kan du registrera en ny TPM-baslinje och registrera den med HGS.
TcgLogVerification TCG-loggen (TPM-baslinjen) kan inte hämtas eller verifieras. Detta kan tyda på ett problem med värdens inbyggda programvara, TPM eller andra maskinvarukomponenter. Om värden är konfigurerad för att försöka starta PXE innan windows startas kan ett inaktuellt Net Boot Program (NBP) också orsaka det här felet. Kontrollera att alla NBP:er är uppdaterade när PXE-start är aktiverat.
VirtualSecureMode Virtualiseringsbaserade säkerhetsfunktioner körs inte på värden. Kontrollera att VBS är aktiverat och att systemet uppfyller de konfigurerade plattformssäkerhetsfunktionerna. Mer information om VBS-krav finns i Device Guard-dokumentationen.

Modern TLS

Om du har distribuerat en grupprincip eller på annat sätt konfigurerat Hyper-V-värden för att förhindra användning av TLS 1.0 kan det hända att felen "Värdskyddstjänstklienten misslyckades med att packa upp ett nyckelskydd för en anropsprocess" när du försökte starta en skärmad virtuell dator. Detta beror på ett standardbeteende i .NET 4.6 där systemets standard-TLS-version inte beaktas när TLS-versioner som stöds förhandlas med HGS-servern.

Du kan kringgå det här beteendet genom att köra följande två kommandon för att konfigurera .NET att använda systemets standard-TLS-versioner för alla .NET-appar.

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

Varning

Systemets standardinställning för TLS-versioner påverkar alla .NET-appar på datorn. Se till att testa registernycklarna i en isolerad miljö innan du distribuerar dem till dina produktionsdatorer.

Mer information om .NET 4.6 och TLS 1.0 finns i Lösa TLS 1.0-problemet, andra utgåvan.