Jak uzyskać certyfikaty SSL z serwera certyfikatów systemu Windows dla środowiska Hyper-V
Hyper-V posiada wbudowane narzędzia do replikacji maszyn wirtualnych między hostami Hyper-V. Jest to przydatne w przypadku Trybu failover. Często replikacja Hyper-V jest konfigurowana na serwerach Hyper-V podłączonych do domeny Active Directory i w ramach klastra. Jednak można skonfigurować replikację Hyper-V, gdy serwery z Hyper-V znajdują się w grupie roboczej. Aby to zrobić, potrzebne są certyfikaty.
Ten wpis na blogu wyjaśnia, 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ć, jeśli użytkownik posiada poświadczenia do konta administracyjnego Active Directory. W niektórych niepożądanych scenariuszach, takich jak ataki oprogramowania wymuszającego okup, posiadając poświadczenia administratora domeny AD, atakujący mogą zniszczyć wszystkie informacje na zasobach, do których mają dostęp. Dlatego w niektórych przypadkach bezpieczniej jest pozostawić serwery Hyper-V używane do replikacji maszyn wirtualnych w grupie roboczej.
Obsługa Hyper-V obejmuje dwa typy uwierzytelniania: Kerberos i certyfikaty HTTPS. Kerberos jest używany dla komputerów w domenie Active Directory, a certyfikaty HTTPS są używane w środowiskach niedomenowych. Żądanie certyfikatu SSL jest wysyłane, gdy używane jest bezpieczne połączenie HTTPS.
Przegląd głównych kroków
Przed rozpoczęciem szczegółowego wyjaśnienia 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. Eksportuj/importuj 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 używamy dwóch maszyn z systemem Windows Server 2016 z zainstalowaną 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) i serwera repliki (drugiego serwera lub serwera docelowego). Należy dodać główny sufiks DNS. Aby korzystać z certyfikatów, wymagane jest użycie w pełni kwalifikowanych nazw domen (FQDN). W naszym przykładzie nazwy serwerów to: Hyper-v-prim.test.net – serwer główny (pierwszy serwer)
Hyper-v-repl.test.net – serwer replikacyjny (drugi serwer)
Aby zmienić nazwę hosta, otwórz ustawienia systemu (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 wprowadź nazwę komputera, wybierz Workgroup (nie domena), kliknij Morei wprowadź główny sufiks DNS komputera. Jak wspomniano powyżej, pełna nazwa z sufiksem DNS jest wymagana dla hostów Hyper-V w celu umożliwienia replikacji przy użyciu certyfikatów. W naszym przykładzie sufiksem jest test.net . Jeśli nazwa hosta to hyper-v-prim , w pełni kwalifikowaną nazwą domeny dla naszego serwera głównego jest Hyper-v-prim.test.net .

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

Po skonfigurowaniu nazw hostów na obu serwerach można rozpocząć tworzenie certyfikatów na serwerach.
Tworzenie certyfikatów na serwerze głównym
Certyfikaty można tworzyć na wiele sposobów. Zazwyczaj do tego celu używa się interfejsu wiersza poleceń. Pierwszą opcją jest użycie narzędzia MakeCert do tworzenia certyfikatów z podpisem własnym. Obecnie narzędzie MakeCert jest przestarzałe, więc użyjemy innego rozwiązania.
Użyj polecenia cmdlet New-SelfSignedCertificate jako nowoczesnej alternatywy dla narzędzia MakeCert do tworzenia certyfikatów z podpisem własnym.
Na hoście głównym ( Hyper-v-prim.test.net ) uruchom następujące polecenia w PowerShell (jako administrator), aby wygenerować certyfikaty:
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. Po uruchomieniu tych poleceń muszą zostać utworzone trzy certyfikaty (dwa certyfikaty serwera i jeden certyfikat główny).
Sprawdzanie utworzonych certyfikatów w MMC
Otwórz MMC (Microsoft Management Console) na pierwszym serwerze. Aby otworzyć MMC, wpisz mmc w PowerShell).
Dodaj nowy moduł w MMC do zarządzania certyfikatami w graficznym interfejsie użytkownika (GUI) systemu Windows.
Kliknij File > Add/Remove Snap-in…

W lewym panelu (Dostępne moduły) otwartego okna wybierz Certificatesi kliknij Add.

W wyskakującym oknie wybierz Computer accounti kliknij Next.

Pozostaw zaznaczoną opcję Local computer (jest ona domyślnie zaznaczona) i kliknij Finish. 
W prawym panelu okna (Wybrane moduły) powinno teraz wyświetlać się okno „Certyfikaty (komputer lokalny)” .
W oknie „ ” (Dodaj lub usuń moduły) kliknij przycisk „ OK ” (moduł został już wybrany).

Dodany moduł można zapisać w MMC.
Kliknij przycisk „ File > Save as”.
Wprowadź nazwę pliku, na przykład Certificates1.msc .
Przejdź do Certificates (Local Computer) / Personal / Certificates. Powinieneś zobaczyć dwa certyfikaty, które utworzyliśmy wcześniej w PowerShell – Hyper-v-prim.test.net oraz Hyper-v-repl.test.net .

Kliknij dwukrotnie certyfikat, aby wyświetlić jego szczegóły. Certyfikat dla drugiego serwera ( Hyper-v-repl.test.net ) nie jest obecnie zaufany.

Przejdź do Certificates (Local Computer) / Intermediate Certification Authorities / Certificates. Znajdź certyfikat CertReq Test Root wymagany do prawidłowego działania. Kliknij dwukrotnie ten certyfikat, aby wyświetlić szczegóły. Certyfikat główny urzędu certyfikacji nie jest zaufany.

Skopiuj certyfikat CertReq Test Root z Intermediate Certification Authorities / Certificates do Trusted Root Certification Authorities/Certificates , aby certyfikaty stały się zaufane. Wybierz certyfikat, naciśnij Ctrl+C , aby skopiować, a następnie Ctrl+V , aby wkleić.

Certyfikat CertReq Test Root musi znajdować się w Trusted Root Certification Authorities / Certificates (jak pokazano na zrzucie ekranu poniżej).

Ponownie sprawdź certyfikaty znajdujące się w Personal/Certificates . Najpierw sprawdzamy certyfikat serwera replikacyjnego ( Hyper-v-repl.test.net ). Certyfikat jest teraz zaufany, a jego datę wygaśnięcia można sprawdzić w zakładce Ogólne . Teraz wiesz już również, jak sprawdzić datę wygaśnięcia certyfikatu SSL w systemie Windows.

Sprawdź pozostałe parametry certyfikatu w zakładce Szczegóły (Rozszerzone wykorzystanie klucza) oraz Ścieżka certyfikacji . Ten certyfikat jest w porządku.

Następnie sprawdź certyfikat dla serwera głównego tak samo, jak sprawdziłeś certyfikat dla serwera replikującego.

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 ), na którym będą przechowywane repliki. 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 certyfikat prawym przyciskiem myszy i w menu kontekstowym kliknij All Tasks > Export.

Otworzy się Kreator eksportu certyfikatu.
1. Welcome. Na ekranie powitalnym nie ma nic do konfiguracji. Na każdym etapie kliknij Next , aby kontynuować.
2. Export Private Key. Wybierz Yes, export the private key.
3. Export File Format. Wybierz Personal Information Exchange – PKCS #12 (.PFX), a następnie Include all certificates in the certification path if possible.

4. Security. Wprowadź hasło, aby zapewnić 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 kliknij Finish.
Powinien pojawić się komunikat: Eksport zakończył się powodzeniem . Oznacza to, że wszystko jest w porządku.
Eksportowanie certyfikatu głównego z pierwszego serwera
Wyeksportowano dwa certyfikaty. Teraz należy wyeksportować certyfikat główny w ten sam sposób. Czynności wykonuje się na pierwszym serwerze ( Hyper-v-prim.test.net ).
Wybierz certyfikat CertReq Test Root znajdujący się w Trusted Root Certification Authorities / Certificates.
Kliknij certyfikat prawym przyciskiem myszy; kliknij All Tasks > Export.

Otworzy 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. Wprowadź nazwę pliku i ścieżkę do zapisania 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 znajdują się teraz w katalogu C:temp na pierwszym serwerze.

Kopiowanie wyeksportowanych certyfikatów na drugi serwer
Skopiuj dwa wyeksportowane pliki certyfikatów (Hyper-v-repl.pfx i TestRoot.cer) z pierwszego serwera na drugi serwer.
Kopiujemy pliki do katalogu C:temp na drugim serwerze.
Możemy użyć ścieżki sieciowej Hyper-v-replC$ lub 192.168.101.213C$ do skopiowania certyfikatów przez sieć (gdzie 192.168.101.213 to w naszym przypadku adres IP serwera repliki). Konfiguracja zapory sieciowej musi zezwalać na połączenia dla protokołu SMB.
Importowanie certyfikatów na drugi serwer
Po skopiowaniu certyfikatów na serwer repliki należy je zaimportować na ten serwer.
Otwórz MMC na serwerze repliki (drugim serwerze) tak samo, jak zrobiłeś to na serwerze głównym.
Dodaj przystawkę w oknie MMC.
Kliknij File > Add/Remove Snap In.
Wybierz Certificates, click Add.
Wybierz Computer account, a następnie wybierz Local Computer.
Naciśnij OK.
Jako skrót do otwarcia tej przystawki w graficznym interfejsie Windows, możesz użyć polecenia w Windows CMD lub PowerShell:
certlm.msc
To polecenie otwiera menedżera certyfikatów Windows (konsolę zarządzania certyfikatami) w celu skonfigurowania certyfikatów lokalnego komputera.
Przejdź do Certificates (Local Computer) / Personal.
Kliknij prawym przyciskiem myszy puste miejsce i w menu kontekstowym kliknij All tasks > Import.

Otworzy się Kreator importowania certyfikatów.
1. Welcome. Wybierz Local machine.
2. File to Import. Przejdź do pliku Hyper-v-repl.pfx . Kliknij Browse, wybierz opcję wyświetlania 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 magazynie:
Magazyn certyfikatów: Personal
5. Completing the Certificate Import Wizard. Sprawdź konfigurację i kliknij Finish.

Jeśli wszystko jest poprawne, powinien pojawić się komunikat: Import zakończył się powodzeniem .
Teraz certyfikat Hyper-v-repl.test.net znajduje się w Certificates (Local Computer) / Personal / Certificates na serwerze replikującym (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 odpowiedniej lokalizacji. Możesz zaimportować TestRoot.cer ręcznie, tak samo jak zaimportowałeś Hyper-v-repl.pfx

Sprawdzanie unieważnienia certyfikatu
Pamiętaj, że sprawdzanie unieważnienia certyfikatu jest domyślnie obowiązkowe, a certyfikaty z podpisem własnym nie obsługują sprawdzania unieważnienia w systemie Windows Server 2012. Z tego powodu musisz wyłączyć sprawdzanie unieważnienia certyfikatu 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że być konieczne ponowne uruchomienie komputera.
Rozpoznawanie nazw hostów
Dodaj wpisy do pliku hosts (C:Windowssystem32driversetchosts) na obu komputerach, aby umożliwić rozpoznawanie nazw hostów na adresy IP podczas pracy w grupie roboczej (gdy komputery nie są członkami domeny Active Directory). W naszym przypadku dodajemy te wiersze do pliku hostów 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 replik
Wykonaj następujące czynności na drugim serwerze, na którym mają być przechowywane repliki maszyn wirtualnych.
Otwórz Menedżera Hyper-V.
Kliknij prawym przyciskiem myszy serwer replik ( 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.

W oknie Windows Security wyświetlą się informacje o Twoim certyfikacie. Kliknij OK, aby wybrać ten certyfikat.

W Replication Configuration wybierz opcję Allow replication from the specified serversi kliknij Add.
Skonfiguruj parametry w oknie Add Authorization Entry .
Określ serwer główny: Hyper-v-prim.test.net
Określ domyślną lokalizację do przechowywania plików replik: C:Hyper-VVirtual Hard Disks (to jest przykład — użyj własnej lokalizacji, nie na dysku C:)
Określ grupę zaufania: replication

Konfiguracja zapory systemu Windows
Skonfiguruj zaporę tak, aby zezwalała na ruch przychodzący. Włącz przychodzące połączenia TCP na porcie 443 na serwerze replikacyjnym (lub tymczasowo wyłącz zaporę na potrzeby testów).
Enable-Netfirewallrule -displayname "Hyper-V Replica HTTPS Listener (TCP-In) "
netsh advfirewall firewall show rule name=all dir=in | find "Hyper-V "
Konfiguracja replikacji na pierwszym serwerze
Utwórz maszynę wirtualną na głównym serwerze Hyper-V, która ma być replikowana. Przed włączeniem replikacji upewnij się, że maszyna źródłowa nie zawiera żadnych migawek. Włącz replikację na pierwszym komputerze, który jest serwerem głównym ( Hyper-v-prim.test.net w naszym przypadku).
Kliknij prawym przyciskiem myszy maszynę wirtualną i w menu kontekstowym wybierz Enable Replication.

Otworzy się kreator Włącz replikację .
Before you Begin. Kliknij Next , aby kontynuować.
Specify Replica Server. Wprowadź nazwę serwera replikacyjnego. W naszym przypadku jako serwer replikacyjny używamy Hyper-v-repl.test.net .

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

Po kliknięciu Select Certificateotworzy się okno pop-up z informacjami o certyfikacie, który skonfigurowałeś wcześniej. Kliknij OK , aby użyć tego certyfikatu.

Skonfiguruj pozostałe ustawienia replikacji w zwykły sposób, aby zakończyć konfigurację replikacji na serwerze źródłowym.
Choose Replication VHDs. Wybierz dyski wirtualne maszyn, które mają być replikowane. Możesz wybrać wszystkie dyski wirtualne maszyn lub tylko niektóre z nich.

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

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

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

Kliknij Finish , aby zakończyć konfigurację natywnej replikacji Hyper-V przy użyciu certyfikatów w grupie roboczej, a następnie zamknij kreatora.
Alternatywy dla natywnej replikacji Hyper-V
Wbudowana funkcja Hyper-V do wykonywania replikacji jest przydatna. Czasami jednak może być potrzebna rozszerzona funkcja do wykonywania replikacji Hyper-V i Trybu failover maszyn wirtualnych. Istnieje dobra alternatywa dla natywnej replikacji Hyper-V.
NAKIVO Backup & Replication to uniwersalne rozwiązanie do ochrony danych, które umożliwia wykonywanie kopii zapasowych maszyn wirtualnych Hyper-V oraz Tryb failover dla maszyn wirtualnych. Produkt obsługuje replikację Hyper-V w domenach Active Directory i grupach roboczych. Zawiera następujące funkcje:
- Replikacja spójna z aplikacją. 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 maszyny źródłowej, a następnie kopiowane są wyłącznie dane, które uległy zmianie, poprzez tworzenie odpowiednich punktów odzyskiwania dla repliki maszyny wirtualnej.
- Elastyczne ustawienia przechowywania i Zasady przechowywania danych w systemie GFS. Zachowaj szeroki zakres punktów odzyskiwania na różne okresy czasu i zoptymalizuj miejsce na dysku wykorzystywane w repozytorium kopii zapasowych.
- Przyspieszenie sieci zwiększa szybkość replikacji dzięki kompresji danych, co pozwala zaoszczędzić czas.
- Obcinanie dziennika dla Microsoft Exchange i SQL w celu zaoszczędzenia miejsca na dysku dla maszyn wirtualnych Hyper-V z uruchomioną bazą danych podczas ich replikacji.
- Zautomatyzowany tryb failover maszyn wirtualnych pozwala na szybkie odzyskiwanie maszyny wirtualnej.
- Odzyskiwanie lokacji umożliwia tworzenie złożonych scenariuszy odzyskiwania awaryjnego z wieloma działaniami, w tym replikacją i trybem failover maszyn wirtualnych Hyper-V.
Możesz odzyskać maszynę z fizycznej kopii zapasowej serwera fizycznego do maszyny wirtualnej lub odzyskać 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.