Udostępnij za pośrednictwem


Rozwiązywanie problemów z hostami chronionymi

W tym artykule opisano rozwiązania typowych problemów występujących podczas wdrażania lub obsługi chronionego hosta funkcji Hyper-V w chronionej sieci szkieletowej.

Dotyczy: Windows Server 2022, Windows Server 2019, Windows Server 2016

Jeśli nie masz pewności co do charakteru problemu, najpierw spróbuj uruchomić diagnostykę chronionej sieci szkieletowej na hostach funkcji Hyper-V, aby zawęzić potencjalne przyczyny.

Funkcja hosta chronionego

Jeśli występują problemy z hostem funkcji Hyper-V, najpierw upewnij się, że jest zainstalowana funkcja pomocy technicznej funkcji Hyper-V ochrona hosta . Bez tej funkcji na hoście funkcji Hyper-V brakuje niektórych krytycznych ustawień konfiguracji i oprogramowania, które umożliwiają przekazywanie zaświadczania i aprowizowania chronionych maszyn wirtualnych.

Aby sprawdzić, czy funkcja jest zainstalowana, użyj Menedżer serwera lub uruchom następujące polecenie cmdlet w oknie programu PowerShell z podwyższonym poziomem uprawnień:

Get-WindowsFeature HostGuardian

Jeśli funkcja nie jest zainstalowana, zainstaluj ją przy użyciu następującego polecenia cmdlet programu PowerShell:

Install-WindowsFeature HostGuardian -Restart

Błędy zaświadczania

Jeśli host nie przekazuje zaświadczania do usługi Ochrona hosta, nie może uruchomić chronionych maszyn wirtualnych. Dane wyjściowe polecenia Get-HgsClientConfiguration na tym hoście zawierają informacje o przyczynach niepowodzenia zaświadczania tego hosta.

W poniższej tabeli wyjaśniono wartości, które mogą pojawić się w polu AttestationStatus , oraz potencjalne kolejne kroki, jeśli to konieczne.

AttestationStatus Objaśnienie
Wygasła Host przeszedł zaświadczenie wcześniej, ale wystawiony certyfikat kondycji wygasł. Upewnij się, że czas hosta i usługi HGS jest zsynchronizowany.
InsecureHostConfiguration Host nie przeszedł zaświadczania, ponieważ nie jest zgodny z zasadami zaświadczania skonfigurowanymi w usłudze HGS. Aby uzyskać więcej informacji, zobacz tabelę AttestationSubStatus.
Nieskonfigurowane Host nie jest skonfigurowany do używania usługi HGS do zaświadczania i ochrony kluczy. Zamiast tego jest skonfigurowany dla trybu lokalnego. Jeśli ten host znajduje się w chronionej sieci szkieletowej, użyj polecenia Set-HgsClientConfiguration , aby udostępnić adresy URL serwera HGS.
Przekazywane Host przeszedł zaświadczenie.
Błąd przejściowy Ostatnia próba zaświadczania nie powiodła się z powodu błędu sieci, usługi lub innego błędu tymczasowego. Spróbuj ponownie wykonać ostatnią operację.
TpmError Host nie mógł ukończyć ostatniej próby zaświadczania z powodu błędu modułu TPM. Aby uzyskać więcej informacji, zobacz dzienniki modułu TPM.
Brak autoryzacji Host nie przeszedł zaświadczania, ponieważ nie był autoryzowany do uruchamiania chronionych maszyn wirtualnych. Upewnij się, że host należy do grupy zabezpieczeń zaufanej przez usługę HGS w celu uruchamiania chronionych maszyn wirtualnych.
Unknown Host nie próbował jeszcze potwierdzić usługi HGS.

Gdy parametr AttestationStatus jest zgłaszany jako InsecureHostConfiguration, co najmniej jeden powód jest wypełniany w polu AttestationSubStatus . W poniższej tabeli wyjaśniono możliwe wartości attestationSubStatus oraz wskazówki dotyczące sposobu rozwiązania problemu.

AttestationSubStatus Co to znaczy i co robić
Funkcją bitlocker Wolumin systemu operacyjnego hosta nie jest szyfrowany za pomocą funkcji BitLocker. Aby rozwiązać ten problem, włącz funkcję BitLocker na woluminie systemu operacyjnego lub wyłącz zasady funkcji BitLocker w usłudze HGS.
CodeIntegrityPolicy Host nie jest skonfigurowany do używania zasad integralności kodu lub nie używa zasad zaufanych przez serwer usługi HGS. Upewnij się, że skonfigurowano zasady integralności kodu, że host został uruchomiony ponownie, a zasady są rejestrowane na serwerze usługi HGS. Aby uzyskać więcej informacji, zobacz Tworzenie i stosowanie zasad integralności kodu.
DumpsEnabled Host jest skonfigurowany tak, aby zezwalał na zrzuty awaryjne lub zrzuty pamięci na żywo, co nie jest dozwolone przez zasady usługi HGS. Aby rozwiązać ten problem, wyłącz zrzuty na hoście.
DumpEncryption Host jest skonfigurowany do zezwalania na zrzuty awaryjne lub zrzuty pamięci na żywo, ale nie szyfruje tych zrzutów. Wyłącz zrzuty na hoście lub skonfiguruj szyfrowanie zrzutu.
DumpEncryptionKey Host jest skonfigurowany do zezwalania na zrzuty i szyfrowania ich, ale nie używa certyfikatu znanego usłudze HGS do ich szyfrowania. Aby rozwiązać ten problem, zaktualizuj klucz szyfrowania zrzutu na hoście lub zarejestruj klucz w usłudze HGS.
FullBoot Host został wznowiony ze stanu uśpienia lub hibernacji. Uruchom ponownie hosta, aby umożliwić czysty, pełny rozruch.
HibernacjaEnabled Host jest skonfigurowany tak, aby zezwalał na hibernację bez szyfrowania pliku hibernacji, co nie jest dozwolone przez zasady usługi HGS. Wyłącz hibernację i uruchom ponownie hosta lub skonfiguruj szyfrowanie zrzutu.
HypervisorEnforcedCodeIntegrityPolicy Host nie jest skonfigurowany do używania zasad integralności kodu wymuszanych przez funkcję hypervisor. Sprawdź, czy integralność kodu jest włączona, skonfigurowana i wymuszana przez funkcję hypervisor. Aby uzyskać więcej informacji, zobacz Przewodnik wdrażania funkcji Device Guard.
Iommu Funkcje zabezpieczeń oparte na wirtualizacji hosta nie są skonfigurowane tak, aby wymagały urządzenia IOMMU w celu ochrony przed atakami bezpośredniego dostępu do pamięci zgodnie z wymaganiami zasad usługi HGS. Sprawdź, czy host ma moduł IOMMU, że jest włączony i czy funkcja Device Guard jest skonfigurowana do wymagania ochrony DMA podczas uruchamiania usługi VBS.
PagefileEncryption Szyfrowanie plików stron nie jest włączone na hoście. Aby rozwiązać ten problem, uruchom polecenie fsutil behavior set encryptpagingfile 1 , aby włączyć szyfrowanie plików stron. Aby uzyskać więcej informacji, zobacz zachowanie fsutil.
SecureBoot Bezpieczny rozruch nie jest włączony na tym hoście lub nie jest używany szablon bezpiecznego rozruchu firmy Microsoft. Włącz bezpieczny rozruch za pomocą szablonu bezpiecznego rozruchu firmy Microsoft, aby rozwiązać ten problem.
SecureBootSettings Punkt odniesienia modułu TPM na tym hoście nie jest zgodny z żadnym z tych, które są zaufane przez usługę HGS. Może to wystąpić, gdy władze uruchamiania INTERFEJSU UEFI, zmienna DBX, flaga debugowania lub niestandardowe zasady bezpiecznego rozruchu zostaną zmienione przez zainstalowanie nowego sprzętu lub oprogramowania. Jeśli ufasz bieżącej konfiguracji sprzętu, oprogramowania układowego i oprogramowania tej maszyny, możesz przechwycić nowy punkt odniesienia modułu TPM i zarejestrować go w usłudze HGS.
TcgLogVerification Nie można uzyskać ani zweryfikować dziennika TCG (punkt odniesienia modułu TPM). Może to wskazywać na problem z oprogramowaniem układowym hosta, modułem TPM lub innymi składnikami sprzętowymi. Jeśli host jest skonfigurowany do próby rozruchu środowiska PXE przed uruchomieniem systemu Windows, nieaktualny program net boot program (NBP) może również powodować ten błąd. Upewnij się, że wszystkie NBP są aktualne po włączeniu rozruchu środowiska PXE.
VirtualSecureMode Funkcje zabezpieczeń oparte na wirtualizacji nie są uruchomione na hoście. Upewnij się, że usługa VBS jest włączona i że system spełnia skonfigurowane funkcje zabezpieczeń platformy. Aby uzyskać więcej informacji na temat wymagań dotyczących usługi VBS, zobacz dokumentację funkcji Device Guard.

Nowoczesny protokół TLS

Jeśli wdrożono zasady grupy lub w inny sposób skonfigurowano hosta funkcji Hyper-V, aby uniemożliwić korzystanie z protokołu TLS 1.0, podczas próby uruchomienia chronionej maszyny wirtualnej może wystąpić błąd "Klient usługi ochrony hosta nie może odpakować ochrony klucza w imieniu procesu wywoływania". Jest to spowodowane domyślnym zachowaniem na platformie .NET 4.6, w którym domyślna wersja protokołu TLS systemu nie jest brana pod uwagę podczas negocjowania obsługiwanych wersji protokołu TLS z serwerem HGS.

Aby obejść to zachowanie, uruchom następujące dwa polecenia, aby skonfigurować platformę .NET do używania domyślnych wersji protokołu TLS systemu dla wszystkich aplikacji platformy .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

Ostrzeżenie

Domyślne ustawienie wersji protokołu TLS systemu będzie miało wpływ na wszystkie aplikacje platformy .NET na komputerze. Przed wdrożeniem ich na maszynach produkcyjnych należy przetestować klucze rejestru w izolowanym środowisku.

Aby uzyskać więcej informacji na temat platformy .NET 4.6 i protokołu TLS 1.0, zobacz Rozwiązywanie problemu protokołu TLS 1.0 w wersji 2.