Udostępnij za pośrednictwem


Omówienie chronionej infrastruktury i chronionych maszyn wirtualnych

Zabezpieczenia wirtualizacji to główny obszar inwestycyjny w funkcji Hyper-V. Oprócz ochrony hostów lub innych maszyn wirtualnych przed maszyną wirtualną z uruchomionym złośliwym oprogramowaniem musimy również chronić maszyny wirtualne przed naruszonym hostem. Jest to podstawowe zagrożenie dla każdej platformy wirtualizacji, niezależnie czy chodzi o Hyper-V, VMware czy jakąkolwiek inną. Jeśli maszyna wirtualna wydostaje się z organizacji (złośliwie lub przypadkowo), ta maszyna wirtualna może zostać uruchomiona w dowolnym innym systemie. Ochrona zasobów o wysokiej wartości w organizacji, takich jak kontrolery domeny, poufne serwery plików i systemy KADR, jest priorytetem.

Aby ułatwić ochronę przed zagrożeniem dla infrastruktury wirtualizacji, system Windows Server 2016 Hyper-V wprowadził chronione maszyny wirtualne. Chroniona maszyna wirtualna to maszyna wirtualna generacji 2 (obsługiwana w systemie Windows Server 2012 lub nowszym), która ma wirtualny moduł TPM, jest szyfrowana przy użyciu funkcji BitLocker i może działać tylko na hostach w dobrej kondycji i zatwierdzonych hostach w sieci szkieletowej. Chronione maszyny wirtualne i chroniona sieć szkieletowa umożliwiają dostawcom usług w chmurze lub administratorom chmury prywatnej przedsiębiorstwa zapewnienie bezpieczniejszego środowiska dla maszyn wirtualnych dzierżawcy.

Chroniona sieć szkieletowa składa się z następujących elementów:

  • 1 Usługa ochrona hosta (HGS) (zazwyczaj klaster z 3 węzłami).
  • Co najmniej 1 chroniony host.
  • Zestaw chronionych maszyn wirtualnych. Na poniższym diagramie pokazano, w jaki sposób Usługa Host Guardian używa zaświadczania, aby zapewnić, że tylko znane i prawidłowe hosty mogą uruchamiać osłonięte maszyny wirtualne, oraz ochrona kluczy, aby bezpiecznie zwolnić klucze dla osłoniętych maszyn wirtualnych.

Kiedy najemca tworzy chronione maszyny wirtualne działające w chronionej sieci szkieletowej, hosty Hyper-V i same chronione maszyny wirtualne są zabezpieczone przez usługę HGS. Usługa HGS zapewnia dwie odrębne usługi: zaświadczanie i ochronę klucza. Usługa zaświadczania zapewnia, że tylko zaufane hosty Hyper-V mogą uruchamiać chronione maszyny wirtualne, podczas gdy usługa ochrony kluczy udostępnia klucze niezbędne do ich włączenia i migracji na żywo do innych chronionych hostów.

Diagram chronionej infrastruktury hosta.

Aby uzyskać więcej informacji, obejrzyj ten film na temat Wprowadzenie do chronionych maszyn wirtualnych.

Tryby zaświadczania w rozwiązaniu Chroniona sieć szkieletowa

Usługa HGS obsługuje różne tryby zaświadczania dla chronionej sieci szkieletowej:

  • Zaświadczenie zaufane przez moduł TPM (oparte na sprzęcie)
  • Zaświadczanie klucza hosta (na podstawie par kluczy asymetrycznych)

Zalecane jest zaufane poświadczenie oparte na TPM, ponieważ zapewnia silniejsze gwarancje, jak wyjaśniono w poniższej tabeli, ale wymaga, aby Twoje hosty Hyper-V posiadały moduł TPM 2.0. Jeśli obecnie nie masz TPM 2.0 ani żadnego TPM, możesz skorzystać z weryfikacji klucza hosta. Jeśli zdecydujesz się przejść na zaświadczanie zaufane przez TPM w momencie nabycia nowego sprzętu, możesz przełączyć tryb zaświadczania w Host Guardian Service z niewielkim zakłóceniem lub całkowicie bez przerw w działaniu infrastruktury.

Tryb zaświadczania, który wybierasz dla hostów zapewnienia hosta
zaświadczania zaufanego przez moduł TPM: oferuje najsilniejszą możliwą ochronę, ale także wymaga wykonania większej liczby kroków konfiguracji. Sprzęt hosta i oprogramowanie układowe muszą zawierać moduł TPM 2.0 i interfejs UEFI 2.3.1 z włączonym bezpiecznym rozruchem (Secure Boot). Hosty chronione są zatwierdzane na podstawie tożsamości modułu TPM, sekwencji mierzonego rozruchu i zasad integralności kodu, aby upewnić się, że uruchamiają tylko zatwierdzony kod.
zaświadczanie klucza hosta: Przeznaczone do obsługi istniejącego sprzętu hosta, w którym moduł TPM 2.0 jest niedostępny. Wymaga mniejszej liczby kroków konfiguracji i jest zgodna ze sprzętem serwera commonplace. Hosty chronione są zatwierdzane na podstawie posiadania klucza.

Inny tryb o nazwie zaświadczania zaufanego przez administratora jest przestarzały począwszy od systemu Windows Server 2019. Ten tryb był oparty na chronionym członkostwie hosta w wyznaczonej grupie zabezpieczeń usług Domenowych Active Directory (AD DS). Zaświadczanie klucza hosta zapewnia podobną identyfikację hosta i jest łatwiejsze do skonfigurowania.

Gwarancje zapewniane przez usługę Ochrona hosta

Usługa HGS wraz z metodami tworzenia chronionych maszyn wirtualnych pomaga zapewnić następujące gwarancje.

typ zapewnienia dla maszyn wirtualnych zapewnienia dotyczące chronionych maszyn wirtualnych, z Usługi Ochrony Kluczy i z metod tworzenia chronionych maszyn wirtualnych
dyski szyfrowane BitLockerem (dyski systemu operacyjnego i dyski danych) Chronione maszyny wirtualne używają funkcji BitLocker do ochrony dysków. Klucze funkcji BitLocker potrzebne do rozruchu maszyny wirtualnej i odszyfrowywania dysków są chronione przez wirtualny moduł TPM chronionej maszyny wirtualnej przy użyciu sprawdzonych w branży technologii, takich jak bezpieczny mierzony rozruch. Chociaż chronione maszyny wirtualne automatycznie szyfrują i chronią dysk systemu operacyjnego, można szyfrować dyski danych dołączone do chronionej maszyny wirtualnej.
Wdrażanie nowych chronionych maszyn wirtualnych z "zaufanych" obrazów/dysków szablonów Podczas wdrażania nowych chronionych maszyn wirtualnych dzierżawcy mogą określić, którym dyskom szablonowym ufają. Dyski szablonów chronione mają podpisy obliczane w momencie, gdy ich zawartość jest uznawana za godną zaufania. Sygnatury dysków są następnie przechowywane w katalogu podpisów, który dzierżawcy bezpiecznie udostępniają sieci szkieletowej podczas tworzenia chronionych maszyn wirtualnych. Podczas aprowizowania chronionych maszyn wirtualnych podpis dysku jest ponownie obliczany i porównywany z zaufanymi podpisami w wykazie. Jeśli podpisy są zgodne, maszyna wirtualna z osłoną zostanie wdrożona. Jeśli podpisy nie są zgodne, osłonięty dysk szablonu zostanie uznany za niezaufany i wdrożenie zakończy się niepowodzeniem.
Ochrona haseł i innych tajemnic podczas tworzenia osłoniętej maszyny wirtualnej Podczas tworzenia maszyn wirtualnych należy upewnić się, że tajne dane maszyny wirtualnej, takie jak zaufane podpisy dysków, certyfikaty RDP i hasło konta lokalnego administratora, nie są ujawniane infrastrukturze. Te tajne informacje są przechowywane w zaszyfrowanym pliku, zwanym plikiem danych osłony (.PDK), który jest chroniony przez klucze najemcy i przesyłany do platformy przez użytkownika. Po utworzeniu chronionej maszyny wirtualnej, dzierżawca wybiera dane ochrony do użycia, które bezpiecznie udostępniają te tajne dane wyłącznie zaufanym składnikom w zabezpieczonej infrastrukturze.
Kontrola najemcy nad miejscem uruchomienia VM Dane osłony zawierają również listę chronionych infrastruktur, na których może działać określona chroniona wirtualna maszyna. Jest to przydatne, na przykład w przypadkach, gdy maszyna wirtualna z osłoną zwykle znajduje się w lokalnej chmurze prywatnej, ale może być konieczna migracja do innej (publicznej lub prywatnej) chmury na potrzeby odzyskiwania po awarii. Docelowa chmura lub sieć szkieletowa musi obsługiwać chronione maszyny wirtualne, a chroniona maszyna wirtualna musi zezwalać tej sieci szkieletowej na jej uruchamianie.

Co to jest ochrona danych i dlaczego jest to konieczne?

Plik danych osłony (nazywany również plikiem danych aprowizacji lub plikiem PDK) jest zaszyfrowanym plikiem tworzonym przez najemcę lub właściciela maszyny wirtualnej w celu ochrony ważnych informacji o konfiguracji maszyny wirtualnej, takich jak hasło administratora, RDP i inne certyfikaty dotyczące tożsamości, poświadczenia przyłączania do domeny itd. Administrator sieci szkieletowej używa pliku danych osłony podczas tworzenia chronionej maszyny wirtualnej, ale nie może wyświetlić ani użyć informacji zawartych w pliku.

Między innymi pliki danych osłony zawierają wpisy tajne, takie jak:

  • Poświadczenia administratora
  • Plik odpowiedzi (unattend.xml)
  • Zasady zabezpieczeń określające, czy maszyny wirtualne utworzone przy użyciu tych danych osłony są skonfigurowane jako chronione lub obsługiwane szyfrowanie
    • Pamiętaj, że maszyny wirtualne skonfigurowane jako osłonięte są zabezpieczone przed administratorami infrastruktury, podczas gdy maszyny wirtualne, które obsługują szyfrowanie, nie są.
  • Certyfikat RDP do zabezpieczania komunikacji pulpitu zdalnego z maszyną wirtualną
  • Katalog sygnatur woluminów zawierający listę zaufanych sygnatur dysków szablonowych, z których można utworzyć nową maszynę wirtualną
  • Funkcja klucza chroniącego (lub KP), która definiuje, na których chronionych środowiskach osłonięta maszyna wirtualna jest autoryzowana do działania

Plik danych osłony (plik PDK) gwarantuje, że maszyna wirtualna zostanie utworzona zgodnie z zamierzeniami dzierżawcy. Na przykład, gdy najemca umieszcza plik odpowiedzi (unattend.xml) w pliku danych zabezpieczających i przesyła go do dostawcy hostingu, dostawca hostingu nie ma możliwości wyświetlania ani wprowadzania zmian w tym pliku odpowiedzi. Podobnie dostawca hostingu nie może zastąpić innego dysku VHDX podczas tworzenia chronionej maszyny wirtualnej, ponieważ plik danych osłony zawiera podpisy zaufanych dysków, na których można utworzyć chronione maszyny wirtualne.

Na poniższej ilustracji przedstawiono plik danych osłony i powiązane elementy konfiguracji.

Ilustracja przedstawiająca plik danych osłony i powiązane elementy konfiguracji.

Jakie są typy maszyn wirtualnych, które mogą być uruchamiane przez chronioną sieć szkieletową?

Chronione sieci szkieletowe mogą uruchamiać maszyny wirtualne na jeden z trzech możliwych sposobów:

  1. Zwyczajna maszyna wirtualna nie zapewnia dodatkowych zabezpieczeń w porównaniu do poprzednich wersji Hyper-V.
  2. Obsługiwana przez szyfrowanie maszyna wirtualna, której zabezpieczenia można skonfigurować przez administratora sieci szkieletowej
  3. Maszyna wirtualna z osłoną, której zabezpieczenia są włączone i nie można jej wyłączyć przez administratora sieci szkieletowej

Maszyny wirtualne obsługiwane przez szyfrowanie są przeznaczone do użycia, gdy administratorzy sieci szkieletowej są w pełni zaufani. Na przykład przedsiębiorstwo może wdrożyć chronioną sieć szkieletową w celu zapewnienia, że dyski maszyn wirtualnych są szyfrowane w spoczynku na potrzeby zgodności. Administratorzy sieci szkieletowej mogą nadal korzystać z wygodnych funkcji zarządzania, takich jak połączenia konsoli maszyny wirtualnej, program PowerShell Direct i inne codzienne narzędzia do zarządzania i rozwiązywania problemów.

Chronione maszyny wirtualne są przeznaczone do użytku w sieciach szkieletowych, w których dane i stan maszyny wirtualnej muszą być chronione zarówno przed administratorami sieci szkieletowej, jak i niezaufanym oprogramowaniem, które może być uruchomione na hostach Hyper-V. Na przykład chronione maszyny wirtualne nigdy nie zezwalają na połączenie konsoli maszyny wirtualnej, podczas gdy administrator może włączyć lub wyłączyć tę ochronę dla maszyn wirtualnych z obsługą szyfrowania.

W poniższej tabeli przedstawiono podsumowanie różnic między maszynami wirtualnymi obsługiwanymi przez szyfrowanie i chronionymi.

Zdolność Obsługiwane szyfrowanie generacji 2 Generacja 2 z osłoną
Bezpieczny rozruch Tak, wymagane, ale konfigurowalne Tak, wymagane i wymuszone
Vtpm Tak, wymagane, ale konfigurowalne Tak, wymagane i wymuszone
Szyfrowanie stanu maszyny wirtualnej i ruchu migracji na żywo Tak, wymagane, ale konfigurowalne Tak, wymagane i wymuszone
Składniki integracji Konfigurowalne przez administratora sieci Niektóre składniki integracji zablokowane (np. wymiana danych, program PowerShell Direct)
Połączenie maszyny wirtualnej (konsola), urządzenia HID (np. klawiatura, mysz) Nie można go wyłączyć Włączone na hostach począwszy od systemu Windows Server w wersji 1803; Wyłączone na wcześniejszych hostach
Porty COM/szeregowe Wsparte Wyłączone (nie można włączyć)
Dołączanie debugera (do procesu maszyny wirtualnej)1 Wsparte Wyłączone (nie można włączyć)

1 Tradycyjne debugery dołączające się bezpośrednio do procesu, takie jak WinDbg.exe, są blokowane w przypadku chronionych maszyn wirtualnych, ponieważ proces roboczy maszyny wirtualnej (VMWP.exe) jest chronionym procesem light (PPL). Alternatywne techniki debugowania, takie jak te używane przez LiveKd.exe, nie są blokowane. W przeciwieństwie do chronionych maszyn wirtualnych, proces roboczy dla maszyn wirtualnych obsługujących szyfrowanie nie jest uruchamiany jako PPL, dlatego tradycyjne debugery, takie jak WinDbg.exe, będą nadal działać normalnie.

Zarówno maszyny wirtualne z osłoną, jak i maszyny wirtualne obsługiwane przez szyfrowanie nadal obsługują typowe możliwości zarządzania siecią szkieletową, takie jak migracja na żywo, replika Hyper-V, punkty kontrolne maszyn wirtualnych itd.

Usługa Ochrona hosta w działaniu: jak jest włączona chroniona maszyna wirtualna

Diagram przepływu pracy pliku danych ochronnych.

  1. Maszyna wirtualna VM01 jest włączona. Zanim chroniony host będzie mógł uruchomić chronioną maszynę wirtualną, najpierw musi zostać potwierdzone, że jest w dobrej kondycji. Aby udowodnić, że jest w dobrej kondycji, musi on przedstawić certyfikat kondycji usłudze Ochrony kluczy (KPS). Certyfikat kondycji jest uzyskiwany za pośrednictwem procesu zaświadczania.

  2. Host żąda zaświadczania. Chroniony host żąda zaświadczania. Tryb zaświadczania jest określany przez usługę Ochrona hosta:

    • zaświadczenie zaufane przez TPM: host Hyper-V wysyła informacje, które obejmują:

      • Informacje identyfikujące moduł TPM (klucz potwierdzenia)

      • Informacje o procesach, które zostały uruchomione podczas ostatniej sekwencji rozruchu (dziennik TCG)

      • Informacje o zasadach integralności kodu,które zostały zastosowane na hoście.

        Weryfikacja następuje po uruchomieniu hosta i co 8 godzin później. Jeśli z jakiegoś powodu host nie posiada certyfikatu uwierzytelnienia, gdy maszyna wirtualna próbuje się uruchomić, powoduje to również rozpoczęcie procesu uwierzytelniania.

    • zaświadczanie klucza hosta: host Hyper-V wysyła publiczną połowę pary kluczy. Usługa HGS sprawdza, czy klucz hosta jest zarejestrowany.

    • Attestacja zaufana przez administratora: Host Hyper-V wysyła bilet protokołu Kerberos, który identyfikuje grupy zabezpieczeń, w których znajduje się host. Usługa HGS sprawdza, czy host należy do grupy zabezpieczeń skonfigurowanej wcześniej przez zaufanego administratora usługi HGS.

  3. Zaświadczenie kończy się powodzeniem (lub niepowodzeniem). Tryb zaświadczania określa, które testy są potrzebne do pomyślnego sprawdzenia, czy host jest w dobrej kondycji. W przypadku zaświadczania zaufanego modułu TPM tożsamość modułu TPM hosta, pomiary rozruchu i zasady integralności kodu są weryfikowane. W przypadku zaświadczania klucza hosta weryfikowana jest tylko rejestracja klucza hosta.

  4. Certyfikat zaświadczania wysyłany do hosta. Przy założeniu, że zaświadczenie zakończyło się pomyślnie, certyfikat kondycji jest wysyłany do hosta, a host jest uznawany za "chroniony" (autoryzowany do uruchamiania chronionych maszyn wirtualnych). Host używa certyfikatu zdrowotnego do autoryzowania usługi ochrony kluczy w celu bezpiecznego udostępnienia kluczy potrzebnych do pracy z osłoniętymi maszynami wirtualnymi.

  5. Host żąda klucza maszyny wirtualnej. Host chroniony nie ma kluczy potrzebnych do włączenia chronionej maszyny wirtualnej (VM01 w tym przypadku). Aby uzyskać niezbędne klucze, zabezpieczony host musi podać następujące informacje:

    • Bieżący certyfikat kondycji
    • Zaszyfrowany sekret (ochrona klucza lub KP) zawierający klucze niezbędne do uruchomienia maszyny wirtualnej VM01. Tajemnica jest szyfrowana przy użyciu innych kluczy, które zna tylko KPS.
  6. Wydanie klucza. KPS sprawdza certyfikat zdrowia, aby określić jego ważność. Certyfikat nie może być przeterminowany, a KPS musi ufać usłudze zaświadczenia, która go wystawiła.

  7. Klucz jest zwracany do hosta. Jeśli certyfikat zdrowia jest ważny, KPS próbuje odszyfrować tajemnicę i bezpiecznie zwrócić klucze potrzebne do włączenia maszyny wirtualnej. Klucze są szyfrowane w języku VBS chronionego hosta.

  8. Host włącza maszynę wirtualną VM01.

Słownik chronionych infrastruktur i izolowanych maszyn wirtualnych

Termin Definicja
Usługa Ochrona hosta (HGS) Rola systemu Windows Server zainstalowana w zabezpieczonym klastrze serwerów typu bare-metal, która umożliwia mierzenie kondycji hosta Hyper-V i wydawanie kluczy do w dobrej kondycji hostów Hyper-V podczas uruchamiania lub migracji na żywo chronionych maszyn wirtualnych. Te dwie możliwości mają podstawowe znaczenie dla rozwiązania maszyny wirtualnej z osłoną i są nazywane odpowiednio usługą zaświadczania i usługą ochrony kluczy .
serwer chroniony Host Hyper-V, na którym mogą być uruchamiane maszyny wirtualne z osłoną. Host może być uważany za zabezpieczony tylko wtedy, gdy zostanie uznany za zdrowy przez usługę zaświadczania HGS. Chronione maszyny wirtualne nie mogą być włączone ani migrowane na żywo do hosta Hyper-V, który jeszcze nie został zweryfikowany lub któremu nie powiodła się weryfikacja.
chroniona sieć szkieletowa Jest to termin zbiorowy używany do opisywania systemu hostów Hyper-V i ich usługi Host Guardian Service, która zarządza i uruchamia chronione maszyny wirtualne.
chroniona maszyna wirtualna Maszyna wirtualna, która może działać tylko na chronionych hostach i jest zabezpieczona przed monitorowaniem, manipulacją i kradzieżą ze strony złośliwych administratorów infrastruktury oraz złośliwego oprogramowania na hoście.
administrator struktury sieciowej Administrator chmury publicznej lub prywatnej, który może zarządzać maszynami wirtualnymi. W kontekście chronionej sieci szkieletowej administrator sieci szkieletowej nie ma dostępu do chronionych maszyn wirtualnych ani zasad określających, na których hostach mogą być uruchamiane chronione maszyny wirtualne.
Administrator usługi HGS Zaufany administrator w chmurze publicznej lub prywatnej, który ma uprawnienia do zarządzania zasadami i materiałami kryptograficznymi chronionymi hostami, czyli hostami, na których może działać chroniona maszyna wirtualna.
plik danych aprowizacji lub plik danych ochrony (plik PDK) Zaszyfrowany plik tworzony przez dzierżawę lub użytkownika w celu przechowywania ważnych informacji o konfiguracji maszyny wirtualnej oraz ochrony tych informacji przed dostępem innych osób. Na przykład plik danych osłony może zawierać hasło, które zostanie przypisane do konta administratora lokalnego podczas tworzenia maszyny wirtualnej.
Zabezpieczenia oparte na wirtualizacji (VBS) Środowisko przetwarzania i przechowywania oparte na Hyper-V, które jest chronione przed administratorami. Wirtualny tryb bezpieczny zapewnia systemowi możliwość przechowywania kluczy systemu operacyjnego, które nie są widoczne dla administratora systemu operacyjnego.
wirtualny moduł TPM Zwirtualizowana wersja modułu TPM (Trusted Platform Module). Począwszy od Hyper-V w systemie Windows Server 2016, można udostępnić wirtualne urządzenie TPM 2.0, aby maszyny wirtualne mogły być szyfrowane, podobnie jak fizyczny moduł TPM umożliwia szyfrowanie maszyny fizycznej.

Dodatkowe referencje