Jak uzyskać certyfikaty SSL z serwera certyfikatów systemu Windows dla środowiska Hyper-V
Hyper-V posiada wbudowane narzędzia do replikacji maszyn wirtualnych z jednego hosta Hyper-V na drugi. Jest to przydatne w Trybie failover. Często replikację Hyper-V konfiguruje się na serwerach Hyper-V podłączonych do domeny Active Directory i w ramach klastra. Możliwe jest jednak skonfigurowanie replikacji Hyper-V również wtedy, gdy serwery z Hyper-V znajdują się w grupie roboczej. W tym celu potrzebne są certyfikaty.
W tym wpisie na blogu wyjaśniono, jak utworzyć certyfikaty w celu skonfigurowania replikacji Hyper-V w grupie roboczej przy użyciu wbudowanych narzędzi systemu Windows Server 2016.
Dlaczego warto korzystać z certyfikatów w Hyper-V
Replikacja oparta na certyfikatach pozwala na replikację maszyn wirtualnych bez konieczności dodawania hostów Hyper-V do domeny Windows lub klastra. Funkcja ta jest szczególnie przydatna dla małych firm, które posiadają trzy lub cztery serwery i nie chcą wdrażać klastra ani konfigurować domeny przy użyciu usługi Active Directory.
Kolejnym powodem, dla którego warto korzystać z replikacji Hyper-V z certyfikatami w grupach roboczych, jest bezpieczeństwo. Jeśli serwery Hyper-V uczestniczące w procesie replikacji maszyn wirtualnych są członkami domeny, można je w pełni kontrolować, o ile użytkownik posiada poświadczenia do konta administracyjnego usługi Active Directory. W niektórych niepożądanych scenariuszach, takich jak ataki oprogramowania wymuszającego okup, posiadając poświadczenia administratora domeny AD, osoby atakujące mogą zniszczyć wszystkie informacje znajdujące się na zasobach, do których mają dostęp. Dlatego w niektórych przypadkach bezpieczniej jest pozostawić serwery Hyper-V wykorzystywane do replikacji maszyn wirtualnych w grupie roboczej.
Obsługa Hyper-V obejmuje dwa rodzaje uwierzytelniania: Kerberos i certyfikaty HTTPS. Protokół Kerberos jest używany w przypadku komputerów w domenie Active Directory, natomiast certyfikaty HTTPS stosuje się w środowiskach niedomenowych. Żądanie certyfikatu SSL jest wysyłane, gdy używane jest bezpieczne połączenie HTTPS.
Przegląd głównych kroków
Zanim przejdziemy do szczegółowego omówienia przebiegu pracy, wymienimy główne kroki, które należy wykonać, aby skonfigurować replikację Hyper-V w grupie roboczej przy użyciu certyfikatów.
- Skonfiguruj nazwy hostów na obu serwerach Hyper-V. Należy włączyć rolę serwera Hyper-V.
- Włącz ruch HTTPS i wymagane połączenia przychodzące w zaporze systemu Windows.
- Utwórz i skonfiguruj certyfikaty na pierwszym serwerze. Wyeksportuj/zaimportuj certyfikaty.
- Skopiuj certyfikaty na drugi serwer
- Skonfiguruj replikację na drugim serwerze przy użyciu certyfikatów.
- Skonfiguruj replikację na pierwszym serwerze. Maszyny wirtualne nie mogą mieć żadnych punktów kontrolnych.
W naszym wpisie na blogu korzystamy z dwóch maszyn z systemem Windows Server 2016, na których zainstalowano rolę Hyper-V.
Konfigurowanie nazw hostów na serwerach
Zacznijmy od edycji nazw hostów. Skonfiguruj nazwy DNS dla serwera źródłowego (serwera głównego) oraz serwera replikacyjnego (drugiego serwera lub serwera docelowego). Należy dodać główny sufiks DNS. Korzystanie z certyfikatów wymaga użycia w pełni kwalifikowanych nazw domen (FQDN). W naszym przykładzie nazwy serwerów to: Hyper-v-prim.test.net – główny serwer (pierwszy serwer)
Hyper-v-repl.test.net – serwer repliki (drugi serwer)
Aby zmienić nazwę hosta, otwórz ustawienia systemowe (kliknij prawym przyciskiem myszy ikonę Mój Komputer lub Ten Komputer) i, w sekcji ustawienia nazwy komputera, domeny i grupy roboczej , kliknij Settings. W zakładce Nazwa Komputera , kliknij Change. Następnie w oknie Zmiany Nazwy Komputera/Domeny , wpisz nazwę komputera, wybierz Workgroup (nie Domenę), kliknij More, i podaj podstawowy sufiks DNS komputera. Jak wspomniano powyżej, pełna nazwa z sufiksem DNS jest wymagana dla hostów Hyper-V do umożliwienia replikacji przy użyciu certyfikatów. W naszym przykładzie sufiks to test.net . Jeśli nazwa hosta to hyper-v-prim , pełna nazwa domeny to Hyper-v-prim.test.net dla naszego głównego serwera.

Na poniższym zrzucie ekranu możesz zobaczyć konfigurację nazwy komputera dla głównego serwera.

Po skonfigurowaniu nazw hostów na obu serwerach, możesz rozpocząć tworzenie certyfikatów na serwerach.
Tworzenie certyfikatów na głównym serwerze
Certyfikaty mogą być tworzone przy użyciu różnych metod. Zwykle w tym celu używa się interfejsu wiersza poleceń. Pierwsza opcja to użycie narzędzia MakeCert do tworzenia samopodpisujących certyfikatów. Teraz narzędzie MakeCert jest przestarzałe i zamierzamy użyć innego rozwiązania.
Użyj polecenia cmdlet New-SelfSignedCertificate jako nowoczesnej alternatywy dla narzędzia MakeCert , aby tworzyć samopodpisujące certyfikaty.
Na głównym hoście ( Hyper-v-prim.test.net ), uruchom następujące polecenia w programie PowerShell (jako Administrator) w celu wygenerowania certyfikatów:
New-SelfSignedCertificate -DnsName "Hyper-v-prim.test.net" -CertStoreLocation "cert:LocalMachineMy" -TestRoot
New-SelfSignedCertificate -DnsName "Hyper-v-repl.test.net" -CertStoreLocation "cert:LocalMachineMy" -TestRoot

Następnie sprawdź utworzone certyfikaty, i kontynuuj konfigurację serwera. Muszą być stworzone trzy certyfikaty po uruchomieniu tych poleceń (dwa certyfikaty serwera i jeden certyfikat główny).
Sprawdzanie utworzonych certyfikatów w konsoli MMC
Otwórz konsolę MMC (Microsoft Management Console) na pierwszym serwerze. Aby otworzyć MMC, wpisz mmc w PowerShell).
Dodaj nowe dodatki w konsoli MMC, aby zarządzać certyfikatami w graficznym interfejsie użytkownika Windows (GUI).
Kliknij File > Add/Remove Snap-in…

W lewym okienku (Dostępne dodatki) otwartego okna, wybierz Certificates, i kliknij Add.

W wyskakującym oknie, wybierz Computer account, i naciśnij Next.

Pozostaw Local computer wybrane (jest wybrane domyślnie), i naciśnij Finish. 
Certyfikaty (Komputer Lokalny) powinny być wyświetlane w prawym panelu (Wybrane przystawki) okna teraz.
W oknie Dodaj lub Usuń Przystawki , naciśnij OK (przystawka została już wybrana).

Możesz zapisać dodaną przystawkę w Konsoli MMC.
Kliknij File > Save as.
Wpisz nazwę pliku, na przykład, Certyfikaty1.msc .
Przejdź do Certificates (Local Computer) / Personal / Certificates. Powinieneś zobaczyć dwa certyfikaty, które utworzyliśmy wcześniej za pomocą PowerShell – Hyper-v-prim.test.net oraz Hyper-v-repl.test.net .

Kliknij dwukrotnie certyfikat, aby zobaczyć szczegóły certyfikatu. Certyfikat dla drugiego serwera ( Hyper-v-repl.test.net ) nie jest teraz zaufany.

Przejdź do Certificates (Local Computer) / Intermediate Certification Authorities / Certificates. Znajdź CertReq Test Root certyfikat, który jest wymagany do poprawnej pracy. Kliknij dwukrotnie ten certyfikat, aby zobaczyć szczegóły. Certyfikat ROOT CA nie jest zaufany.

Skopiuj CertReq Test Root certyfikat z Intermediate Certification Authorities / Certificates do Trusted Root Certification Authorities/Certificates, aby certyfikaty były zaufane. Wybierz certyfikat, naciśnij Ctrl+C , aby skopiować i Ctrl+V , aby wkleić.

CertReq Test Root certyfikat musi być umieszczony w Trusted Root Certification Authorities / Certificates (jak pokazano na zrzucie ekranowym poniżej).

Ponownie sprawdź swoje certyfikaty znajdujące się w Personal/Certificates. Najpierw sprawdzamy certyfikat dla serwera repliki ( Hyper-v-repl.test.net ). Certyfikat jest teraz zaufany i ma datę wygaśnięcia, którą można zobaczyć na karcie Ogólne . Teraz także wiesz, jak sprawdzić datę wygaśnięcia certyfikatu SSL w Windows.

Sprawdź inne parametry certyfikatu na karcie Szczegóły (Użycie rozszerzonego klucza) i na karcie Ścieżka certyfikacji . Ten certyfikat jest OK.

Następnie sprawdzamy certyfikat dla serwera głównego, tak samo, jak sprawdziliśmy certyfikat dla serwera repliki.

Skonfigurowaliśmy certyfikaty dla serwera głównego ( Hyper-v-prim.test.net ), a teraz musimy skonfigurować certyfikat na drugim serwerze. Musimy skopiować wymagane certyfikaty na drugi serwer ( Hyper-v-repl.test.net ), gdzie repliki będą przechowywane. Aby to zrobić, wyeksportuj certyfikaty.
Eksportowanie certyfikatu z pierwszego serwera
Na pierwszym serwerze wybierz certyfikat potrzebny dla drugiego serwera ( Hyper-v-repl.test.net ), który znajduje się w Personal/Certificates. Kliknij prawym przyciskiem myszy certyfikat, a następnie w menu kontekstowym kliknij All Tasks > Export.

Uruchamia się Kreator Eksportu Certyfikatu.
1. Welcome. Na ekranie powitania nie ma nic do konfiguracji. Naciśnij Next na każdym kroku, aby kontynuować.
2. Export Private Key. Wybierz Yes, export the private key.
3. Export File Format. Wybierz Personal Information Exchange – PKCS #12 (.PFX), i wybierz Include all certificates in the certification path if possible.

4. Security. Wprowadź hasło, aby zachować bezpieczeństwo i chronić klucz prywatny.
5. File to Export. Określ nazwę i lokalizację pliku, który chcesz wyeksportować, na przykład C:tempHyper-v-repl.pfx

6. Completing the Certificate Export Wizard. Sprawdź konfigurację i naciśnij Finish.
Powinien pojawić się komunikat: Eksport zakończony powodzeniem . Oznacza to, że wszystko jest OK.
Eksport certyfikatu root z pierwszego serwera
Dwa certyfikaty zostały wyeksportowane. Teraz powinieneś eksportować certyfikat root w ten sam sposób. Działania są wykonywane na pierwszym serwerze ( Hyper-v-prim.test.net ).
Wybierz certyfikat CertReq Test Root, znajdujący się w Trusted Root Certification Authorities / Certificates.
Kliknij prawym przyciskiem myszy na certyfikacie; kliknij All Tasks > Export.

Otwiera się Kreator eksportu certyfikatów.
1. Welcome. Naciśnij Next, aby kontynuować.
2. Export File Format. Wybierz format, którego chcesz użyć:
DER encoded binary X.509 (.CER)
3. File to Export. Podaj nazwę pliku i ścieżkę do zapisu pliku, na przykład, C:temptestRoot.cer

4. Completing the Certificate Export Wizard. Sprawdź konfigurację i zakończ eksport.
Certyfikaty są eksportowane do plików Hyper-v-repl.pfx i TestRoot.cer, które są teraz zlokalizowane w C:temp na pierwszym serwerze.

Kopiowanie wyeksportowanych certyfikatów na drugi serwer
Kopiuj dwa wyeksportowane pliki certyfikatów (Hyper-v-repl.pfx i TestRoot.cer) z pierwszego serwera na drugi serwer.
Kopiujemy pliki do C:temp na drugim serwerze.
Możemy użyć ścieżki sieciowej Hyper-v-replC$ lub 192.168.101.213C$, aby skopiować certyfikaty przez sieć (gdzie 192.168.101.213 jest adresem IP serwera repliki w naszym przypadku). Konfiguracja zapory ogniowej musi umożliwiać połączenia dla protokołu SMB.
Importowanie certyfikatów na drugim serwerze
Gdy już skopiujesz certyfikaty na serwer repliki, powinieneś zaimportować te certyfikaty na serwerze repliki.
Otwórz MMC na serwerze repliki (drugi serwer), tak samo jak na serwerze głównym.
Dodaj przystawkę w oknie MMC.
Kliknij File > Add/Remove Snap In.
Wybierz Certificates, click Add.
Wybierz Computer account, i wybierz Local Computer.
Naciśnij OK.
Jako skrót do otwarcia tej przystawki w interfejsie GUI Windows możesz użyć polecenia w Windows CMD lub PowerShell:
certlm.msc
To polecenie otwiera zarządzanie certyfikatami Windows (konsolę do zarządzania certyfikatami) do konfiguracji certyfikatów lokalnej maszyny.
Przejdź do Certificates (Local Computer) / Personal.
Kliknij prawym przyciskiem myszy na puste miejsce i w menu kontekstowym kliknij All tasks > Import.

Otwiera się Kreator importu certyfikatów.
1. Welcome. Wybierz Local machine.
2. File to Import. Przejrzyj plik Hyper-v-repl.pfx . Kliknij Browse, wybierz wyświetlanie wszystkich plików i wybierz Hyper-v-repl.pfx
3. Private key protection. Wprowadź hasło ustawione podczas eksportowania certyfikatu.

4. Certificate Store. Umieść wszystkie certyfikaty w następującym sklepie:
Magazyn certyfikatów: Personal
5. Completing the Certificate Import Wizard. Sprawdź konfigurację, i naciśnij Finish.

Jeśli wszystko jest poprawne, powinien pojawić się komunikat: Import zakończony powodzeniem .
Teraz certyfikat Hyper-v-repl.test.net znajduje się w Certificates (Local Computer) / Personal / Certificates na serwerze repliki (drugim serwerze). W naszym przypadku, certyfikat CertReq Test Root został również zaimportowany do tej lokalizacji.

Certyfikat CertReq Test Root musi znajdować się w Trusted Root Certification Authorities / Certificates. Skopiuj ten certyfikat do potrzebnej lokalizacji. Możesz importować TestRoot.cer ręcznie, tak samo jak importowałeś Hyper-v-repl.pfx

Sprawdzenie odwołania certyfikatu
Pamiętaj, że sprawdzanie odwołania certyfikatu jest domyślnie wymagane, a certyfikaty samopodpisane nie obsługują sprawdzania odwołań w systemie Windows Server 2012. Z tego powodu musisz wyłączyć sprawdzanie odwołań dla certyfikatów testowych. Dodaj ustawienia do rejestru systemu Windows na obu maszynach. Uruchom następujące polecenie w CMD lub PowerShell jako Administrator.
reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
![]()
Możliwe, że będziesz musiał zrestartować maszynę.
Rozwiązywanie nazw hostów
Dodaj wpisy do pliku hosts (C:Windowssystem32driversetchosts) na obu maszynach, aby umożliwić rozwiązywanie nazw hostów na adresy IP, kiedy pracujesz w Workgroup (jeśli maszyny nie są członkami domeny Active Directory). W naszym przypadku dodajemy te linie do pliku hosts na obu serwerach:
192.168.101.209 Hyper-v-prim.test.net
192.168.101.213 Hyper-v-repl.test.net

Konfigurowanie ustawień replikacji na serwerze repliki
Wykonaj następujące działania na drugim serwerze, na którym przechowywane będą repliki maszyn wirtualnych.
Otwórz Menedżera Hyper-V.
Kliknij prawym przyciskiem myszy na serwer repliki ( Hyper-v-repl.test.net w naszym przypadku), i w menu kontekstowym wybierz Hyper-V Settings.
W lewym panelu okna Ustawienia Hyper-V , wybierz Replication Configuration.
Zaznacz te pola wyboru w Replication Configuration:
Enable this computer as a Replica serverUse certificate-based Authentication (HTTPS)
Kliknij Select Certificate.

Okno pop-up Bezpieczeństwo systemu Windows wyświetla informacje o twoim certyfikacie. Kliknij OK, aby wybrać ten certyfikat.

W Konfiguracja replikacji , wybierz opcję Allow replication from the specified servers, i kliknij Add.
Skonfiguruj parametry w oknie Dodaj wpis autoryzacyjny .
Określ serwer główny: Hyper-v-prim.test.net
Określ domyślną lokalizację do przechowywania plików repliki: C:Hyper-VVirtual Hard Disks (to jest przykład – użyj swojej lokalizacji niestandardowej, a nie na dysku C:)
Określ grupę zaufania: replication

Konfigurowanie Zaporę systemu Windows
Skonfiguruj zaporę, aby umożliwić ruch przychodzący. Włącz połączenia TCP przychodzące na porcie 443 na serwerze repliki (lub tymczasowo wyłącz zaporę w celach testowych).
Enable-Netfirewallrule -displayname "Hyper-V Replica HTTPS Listener (TCP-In) "
netsh advfirewall firewall show rule name=all dir=in | find "Hyper-V "
Konfigurowanie Replikacji na Pierwszym Serwerze
Utwórz maszynę wirtualną na głównym serwerze Hyper-V do replikacji. Upewnij się, że źródłowa maszyna wirtualna nie ma żadnych migawek przed włączeniem replikacji. Włącz replikację na pierwszej maszynie, czyli na głównym serwerze ( Hyper-v-prim.test.net w naszym przypadku).
Kliknij prawym przyciskiem myszy maszynę wirtualną i w menu kontekstowym wybierz Enable Replication.

Wskaźnik Włącz replikację otwiera się.
Before you Begin. Kliknij Next, aby kontynuować.
Specify Replica Server. Wprowadź nazwę swojego serwera repliki. W naszym przypadku używamy Hyper-v-repl.test.net jako serwera repliki.

Specify Connection Parameters. Wybierz Use certificate-based authentication (HTTPS) i kliknij Select Certificate.

Po kliknięciu Select Certificate otwiera się okno wyskakujące ze szczegółami dotyczące certyfikatu, który wcześniej skonfigurowałeś. Kliknij OK, aby użyć tego certyfikatu.

Skonfiguruj inne ustawienia replikacji, aby zakończyć konfigurację replikacji na serwerze źródłowym.
Choose Replication VHDs. Wybierz dyski wirtualne maszyn, które muszą być replikowane. Możesz wybrać wszystkie lub tylko niektóre dyski wirtualne maszyn.

Configure Replication Frequency. Wybierz częstotliwość, z jaką zmiany są wysyłane do serwera repliki, na przykład 5 minutes.

Configure additional recovery points for this virtual machine. W naszym przykładzie wybieramy tworzenie dodatkowych godzinowych punktów odzyskiwania. Wybierz opcje, które lepiej odpowiadają Twoim potrzebom. Punkty odzyskiwania są wynikiem przyrostowej replikacji (migawka).

Choose Initial Replication Method. Wybierz Send initial copy over the network.

Kliknij Finish, aby zakończyć konfigurację natywnej replikacji Hyper-V za pomocą certyfikatów w grupie roboczej i zamknij kreator.
Alternatywy dla Natywnej Replikacji Hyper-V
Wbudowana funkcjonalność Hyper-V do wykonywania replikacji jest przydatna. Ale czasami można potrzebować rozszerzonej funkcjonalności do wykonywania replikacji Hyper-V i failovera maszyny wirtualnej. Istnieje dobra alternatywa dla natywnej replikacji Hyper-V.
NAKIVO Backup & Replication to uniwersalne rozwiązanie ochrony danych, które może tworzyć kopie zapasowe maszyn wirtualnych Hyper-V i wykonywać tryb failover maszyn wirtualnych. Produkt obsługuje replikację Hyper-V w domenach Active Directory oraz w grupach roboczych. W zestawie znajduje się poniższa funkcjonalność:
- Replikacja świadoma aplikacji. Dane w replice maszyny wirtualnej są spójne w przypadku replikacji maszyny wirtualnej w stanie uruchomionym dzięki wykorzystaniu usługi Microsoft Volume Shadow Copy (VSS) działającej wewnątrz maszyn wirtualnych.
- Replikacja przyrostowa z wykorzystaniem technologii Resilient Change Tracking (RCT) firmy Microsoft pozwala zaoszczędzić miejsce na dysku i czas. Podczas pierwszego uruchomienia zadania replikacji kopiowane są wszystkie dane źródłowej maszyny wirtualnej, a następnie kopiowane są wyłącznie dane, które uległy zmianie, poprzez utworzenie odpowiednich punktów odzyskiwania dla repliki maszyny wirtualnej.
- Elastyczne ustawienia przechowywania i Polityka przechowywania danych GFS. Utrzymuj szeroki zakres punktów odzyskiwania przez różne okresy czasu i optymalizuj przestrzeń dyskową wykorzystywaną w repozytorium kopii zapasowych.
- Przyspieszenie sieci zwiększa prędkość replikacji dzięki kompresji danych, co pozwala zaoszczędzić czas.
- Obcinanie dziennika dla Microsoft Exchange i SQL w celu zaoszczędzenia przestrzeni dyskowej dla maszyn wirtualnych Hyper-V z uruchomioną bazą danych podczas ich replikacji.
- Zautomatyzowany tryb failover maszyn wirtualnych pozwala na przywrócenie maszyny wirtualnej w krótkim czasie.
- Odzyskiwanie lokacji umożliwia tworzenie złożonych scenariuszy odzyskiwania awaryjnego obejmujących wiele działań, w tym replikację i tryb failover maszyn wirtualnych Hyper-V.
Można przywrócić maszynę z fizycznej kopii zapasowej serwera do maszyny wirtualnej lub przywrócić kopię zapasową maszyny wirtualnej Hyper-V do maszyny wirtualnej VMware. Nie czekaj na awarię — pobierz NAKIVO Backup & Replication i zabezpiecz swoje maszyny wirtualne Hyper-V już dziś!
Wniosek
Replikacja Hyper-V ma kluczowe znaczenie dla ochrony maszyn wirtualnych Hyper-V oraz zapewnienia możliwości przywrócenia danych i obciążeń w krótkim czasie po wystąpieniu jakiejkolwiek awarii. Czasami może zaistnieć potrzeba skonfigurowania replikacji Hyper-V w środowiskach pozadomenowych, gdy serwery Hyper-V nie są członkami domeny Active Directory i należą do grupy roboczej.
Aby replikować maszyny wirtualne Hyper-V w grupie roboczej, należy utworzyć certyfikaty z podpisem własnym i skonfigurować uwierzytelnianie dla serwerów Hyper-V przy użyciu tych certyfikatów. Konfiguracja dotyczy nazw hostów, zapory sieciowej oraz sprawdzania unieważnienia certyfikatów przed skonfigurowaniem Replikacji maszyn wirtualnych Hyper-V na hostach Hyper-V.