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: Alla versioner av Windows Server som stöds
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.