Udostępnij za pośrednictwem


Zarządzanie certyfikatami dla sieci zdefiniowanej programowo

Dotyczy: Azure Local 2311.2 i nowsze; Windows Server 2022, Windows Server 2019, Windows Server 2016

W tym artykule opisano sposób zarządzania certyfikatami komunikacji kontrolera sieci Northbound i Southbound podczas wdrażania programowalnej sieci zdefiniowanej przez oprogramowanie (SDN) i korzystania z programu System Center Virtual Machine Manager (SCVMM) jako klienta zarządzania sieciĄ SDN.

Uwaga

Aby uzyskać informacje o kontrolerze sieci, zobacz Kontroler sieci.

Jeśli nie używasz protokołu Kerberos do zabezpieczania komunikacji kontrolera sieci, możesz użyć certyfikatów X.509 do uwierzytelniania, autoryzacji i szyfrowania.

SDN w systemach Windows Server 2019 i 2016 Datacenter obsługuje zarówno certyfikaty X.509 z podpisem własnym, jak i Urząd Certyfikacji (CA). Ten temat zawiera instrukcje krok po kroku dotyczące tworzenia tych certyfikatów i ich stosowania do zabezpieczania kanałów komunikacji Northbound kontrolera sieci z klientami zarządzania oraz kanałów komunikacji Southbound z urządzeniami sieciowymi, takimi jak programowy moduł równoważenia obciążenia (SLB).

W przypadku korzystania z uwierzytelniania opartego na certyfikatach należy zarejestrować jeden certyfikat w węzłach kontrolera sieci, który jest używany w następujący sposób.

  1. Szyfrowanie komunikacji północnej za pomocą protokołu Secure Sockets Layer (SSL) między węzłami kontrolera sieci a klientami zarządzania, takimi jak System Center Virtual Machine Manager.
  2. Uwierzytelnianie między węzłami kontrolerów sieci a urządzeniami i usługami typu southbound, takimi jak hosty Hyper-V i programowe moduły równoważenia obciążenia (SLB).

Tworzenie i rejestrowanie certyfikatu X.509

Możesz utworzyć i zarejestrować certyfikat z podpisem własnym lub certyfikat wystawiony przez urząd certyfikacji.

Uwaga

W przypadku wdrażania kontrolera sieci przy użyciu programu SCVMM należy określić certyfikat X.509 używany do szyfrowania komunikacji northbound podczas konfiguracji szablonu usługi kontrolera sieci.

Konfiguracja certyfikatu musi zawierać następujące wartości.

  • Wartość pola tekstowego RestEndPoint musi być w pełni kwalifikowaną nazwą domeny kontrolera sieci (FQDN) lub adresem IP.
  • Wartość restEndPoint musi być zgodna z nazwą podmiotu (Nazwa pospolita, CN) certyfikatu X.509.

Tworzenie certyfikatu X.509 z podpisem własnym

Możesz utworzyć certyfikat X.509 z podpisem własnym i wyeksportować go przy użyciu klucza prywatnego (chronionego hasłem), wykonując następujące kroki dla wdrożeń kontrolera sieci z jednym węzłem i wieloma węzłami.

Podczas tworzenia certyfikatów z podpisem własnym można użyć poniższych wskazówek.

  • Można użyć adresu IP punktu końcowego REST kontrolera sieci dla parametru DnsName — ale nie jest to zalecane, ponieważ wymaga to, aby węzły kontrolera sieci znajdowały się w jednej podsieci zarządzania (na przykład w jednym stojaku)
  • W przypadku wdrożeń kontrolera sieci z wieloma węzłami określona nazwa DNS stanie się FQDN klastra kontrolera sieci. Rekordy DNS typu A są tworzone automatycznie.
  • W przypadku wdrożeń kontrolera sieci z jednym węzłem nazwa DNS może być nazwą hosta kontrolera sieci, a następnie pełną nazwą domeny.

Wiele węzłów

Aby utworzyć certyfikat z podpisem własnym, możesz użyć polecenia New-SelfSignedCertificate środowiska Windows PowerShell.

Składnia

New-SelfSignedCertificate -KeyUsageProperty All -Provider "Microsoft Strong Cryptographic Provider" -FriendlyName "<YourNCComputerName>" -DnsName @("<NCRESTName>")

Przykładowe użycie

New-SelfSignedCertificate -KeyUsageProperty All -Provider "Microsoft Strong Cryptographic Provider" -FriendlyName "MultiNodeNC" -DnsName @("NCCluster.Contoso.com")

Jeden węzeł

Aby utworzyć certyfikat z podpisem własnym, możesz użyć polecenia New-SelfSignedCertificate środowiska Windows PowerShell.

Składnia

New-SelfSignedCertificate -KeyUsageProperty All -Provider "Microsoft Strong Cryptographic Provider" -FriendlyName "<YourNCComputerName>" -DnsName @("<NCFQDN>")

Przykładowe użycie

New-SelfSignedCertificate -KeyUsageProperty All -Provider "Microsoft Strong Cryptographic Provider" -FriendlyName "SingleNodeNC" -DnsName @("SingleNodeNC.Contoso.com")

Tworzenie certyfikatu X.509 podpisanego przez urząd certyfikacji

Aby utworzyć certyfikat przy użyciu urzędu certyfikacji, musisz już wdrożyć infrastrukturę kluczy publicznych (PKI) z usługami certyfikatów Active Directory (AD CS).

Uwaga

Możesz użyć centrów certyfikacji lub narzędzi innych firm, takich jak openssl, aby utworzyć certyfikat do używania z kontrolerem sieciowym, jednakże instrukcje w tym temacie są specyficzne dla usług Active Directory Certificate Services (AD CS). Aby dowiedzieć się, jak używać urzędu certyfikacji lub narzędzia innej firmy, zapoznaj się z dokumentacją używanego oprogramowania.

Tworzenie certyfikatu przez CA obejmuje następujące kroki.

  1. Ty lub administrator domeny lub zabezpieczeń Twojej organizacji konfiguruje szablon certyfikatu.
  2. Ty lub administrator kontrolera sieci albo administrator SCVMM w Twojej organizacji żąda nowego certyfikatu z urzędu certyfikacji.

Wymagania dotyczące konfiguracji certyfikatu

Podczas konfigurowania szablonu certyfikatu w następnym kroku upewnij się, że skonfigurowany szablon zawiera następujące wymagane elementy.

  1. Nazwa podmiotu certyfikatu musi być nazwą FQDN hosta Hyper-V.
  2. Certyfikat należy umieścić w magazynie osobistym komputera lokalnego (My – cert:\localmachine\my).
  3. Certyfikat musi zawierać zarówno uwierzytelnianie serwera (EKU: 1.3.6.1.5.5.7.3.1), jak i uwierzytelnianie klienta (EKU: 1.3.6.1.5.5.7.3.2) zgodnie z zasadami stosowania.

Uwaga

Jeśli magazyn certyfikatów Osobisty (My – cert:\localmachine\my) na hoście funkcji Hyper-V zawiera więcej niż jeden certyfikat X.509, którego nazwą podmiotu (CN) jest w pełni kwalifikowana nazwa domeny hosta (FQDN), upewnij się, że certyfikat, który będzie używany przez SDN, ma dodatkową niestandardową właściwość Rozszerzone użycie klucza z identyfikatorem OID 1.3.6.1.4.1.311.95.1.1.1. W przeciwnym razie komunikacja między kontrolerem sieci a hostem może nie działać.

Aby skonfigurować szablon certyfikatu

Uwaga

Przed wykonaniem tej procedury należy przejrzeć wymagania dotyczące certyfikatu i dostępne szablony certyfikatów w konsoli Szablony certyfikatów. Możesz zmodyfikować istniejący szablon lub utworzyć duplikat istniejącego szablonu, a następnie zmodyfikować kopię szablonu. Zaleca się utworzenie kopii istniejącego szablonu.

  1. Na serwerze, na którym zainstalowano usługę AD CS, w Menedżerze serwera kliknij pozycję Narzędzia, a następnie kliknij pozycję Urząd certyfikacji. Otwiera się Konsola Zarządzania (MMC) Urzędu Certyfikacji Microsoft.
  2. W programie MMC kliknij dwukrotnie nazwę urzędu certyfikacji, kliknij prawym przyciskiem myszy pozycję Szablony certyfikatów, a następnie kliknij polecenie Zarządzaj.
  3. Konsola Szablony certyfikatów otwiera się. Wszystkie szablony certyfikatów są wyświetlane w okienku szczegółów.
  4. W okienku szczegółów kliknij szablon, który chcesz zduplikować.
  5. Kliknij menu Akcja , a następnie kliknij pozycję Duplikuj szablon. Zostanie otwarte okno dialogowe Właściwości szablonu.
  6. W oknie dialogowym Właściwości szablonu na karcie Nazwa podmiotu kliknij pozycję Podaj w żądaniu. (To ustawienie jest wymagane dla certyfikatów SSL kontrolera sieci).
  7. W oknie dialogowym Właściwości szablonu na karcie Obsługa żądań upewnij się, że wybrano opcję Zezwalaj na eksportowanie klucza prywatnego . Upewnij się również, że wybrano cel Podpis i szyfrowanie .
  8. W oknie dialogowym Właściwości szablonu na karcie Rozszerzenia wybierz pozycję Użycie klucza, a następnie kliknij przycisk Edytuj.
  9. W obszarze Podpis upewnij się, że wybrano opcję Podpis cyfrowy .
  10. W oknie dialogowym Właściwości szablonu na karcie Rozszerzenia wybierz pozycję Zasady aplikacji, a następnie kliknij przycisk Edytuj.
  11. W obszarze Zasady aplikacji upewnij się, że na liście są wyświetlane uwierzytelnianie klienta i uwierzytelnianie serwera .
  12. Zapisz kopię szablonu certyfikatu o unikatowej nazwie, takiej jak szablon kontrolera sieci.

Aby zażądać certyfikatu od urzędu certyfikacji

Aby zażądać certyfikatów, możesz użyć przystawki Certyfikaty. Możesz zażądać dowolnego typu certyfikatu, który został wstępnie skonfigurowany i udostępniony przez administratora urzędu certyfikacji, który przetwarza żądanie certyfikatu.

Użytkownicy lub lokalni administratorzy są minimalnym członkostwem grupy wymaganym do wykonania tej procedury.

  1. Otwórz przystawkę Certyfikaty dla komputera.
  2. W drzewie konsoli kliknij pozycję Certyfikaty (komputer lokalny). Wybierz osobisty magazyn certyfikatów.
  3. W menu Akcja wybierz opcję **Wszystkie zadania, a następnie kliknij **Zażądaj nowego certyfikatu, aby uruchomić kreatora rejestracji certyfikatów. Kliknij przycisk Dalej.
  4. Wybierz zasady rejestracji certyfikatów Skonfigurowane przez twojego administratora, a następnie kliknij Dalej.
  5. Wybierz Zasady Rejestracji w Active Directory (na podstawie szablonu urzędu certyfikacji skonfigurowanego w poprzedniej sekcji).
  6. Rozwiń sekcję Szczegóły i skonfiguruj następujące elementy.
  7. Upewnij się, że użycie klucza obejmuje zarówno podpis cyfrowy **, jak i **szyfrowanie klucza.
  8. Upewnij się, że zasady aplikacji obejmują uwierzytelnianie serwera (1.3.6.1.5.5.7.3.1) i uwierzytelnianie klienta (1.3.6.1.5.5.7.3.2).
  9. Kliknij pozycję Właściwości.
  10. Na karcie Temat w polu Nazwa podmiotu w polu Typ wybierz pozycję Nazwa pospolita. W polu Wartość określ punkt końcowy REST kontrolera sieci.
  11. Kliknij przycisk Zastosuj, a następnie kliknij przycisk OK.
  12. Kliknij pozycję Zarejestruj.

W konsoli MMC certyfikatów kliknij magazyn osobisty, aby wyświetlić certyfikat, do którego się zapisałeś z urzędu certyfikacji.

Eksportowanie i kopiowanie certyfikatu do biblioteki SCVMM

Po utworzeniu certyfikatu z podpisem własnym lub podpisanego przez urząd certyfikacji należy wyeksportować certyfikat z kluczem prywatnym (w formacie PFX) i bez klucza prywatnego (w formacie Base-64 .cer) z przystawki Certyfikaty.

Następnie należy skopiować dwa wyeksportowane pliki do ServerCertificate.cr i NCCertificate.cr folderów określonych w momencie zaimportowania szablonu usługi NC.

  1. Otwórz przystawkę Certyfikaty (certlm.msc) i znajdź certyfikat w magazynie certyfikatów osobowych dla komputera lokalnego.
  2. Kliknij prawym przyciskiem myszy certyfikat, kliknij pozycję Wszystkie zadania, a następnie kliknij polecenie Eksportuj. Kreator eksportu certyfikatów jest otwarty. Kliknij przycisk Dalej.
  3. Wybierz pozycję Tak, wyeksportuj opcję klucza prywatnego, kliknij przycisk Dalej.
  4. Wybierz pozycję Wymiana informacji osobistych — PKCS #12 (. PFX) i zaakceptuj ustawienie domyślne , aby uwzględnić wszystkie certyfikaty w ścieżce certyfikacji, jeśli to możliwe.
  5. Przypisz użytkowników/grupy i hasło do eksportowanego certyfikatu, kliknij przycisk Dalej.
  6. Na stronie Plik do wyeksportowania przejrzyj lokalizację, w której chcesz umieścić wyeksportowany plik, i nadaj mu nazwę.
  7. Podobnie wyeksportuj certyfikat w formacie .cer. Uwaga: Aby wyeksportować do formatu .CER, usuń zaznaczenie opcji Tak, wyeksportuj klucz prywatny.
  8. Skopiuj plik .PFX do folderu ServerCertificate.cr.
  9. Skopiuj plik .CER do folderu NCCertificate.cr.

Po zakończeniu odśwież te foldery w bibliotece SCVMM i upewnij się, że te certyfikaty zostały skopiowane. Kontynuuj konfigurowanie i wdrażanie szablonu usługi kontrolera sieci.

Uwierzytelnianie urządzeń i usług dla ruchu południowego

Komunikacja kontrolera sieci z hostami i urządzeniami MUX SLB używa certyfikatów do uwierzytelniania. Komunikacja z hostami odbywa się za pośrednictwem protokołu OVSDB, podczas gdy komunikacja z urządzeniami SLB MUX odbywa się za pośrednictwem protokołu WCF.

Komunikacja hosta Hyper-V z Kontrolerem Sieci

W celu komunikacji z hostami Hyper-V za pośrednictwem OVSDB, kontroler sieci musi przedstawić certyfikat maszynom hostów. Domyślnie program SCVMM pobiera certyfikat SSL skonfigurowany na kontrolerze sieci i używa go do komunikacji southbound z hostami.

Jest to powód, dla którego certyfikat SSL musi mieć skonfigurowaną EKU uwierzytelniania klienta. Ten certyfikat jest skonfigurowany w zasobie REST "Serwery" ( hostyHyper-V są reprezentowane w kontrolerze sieci jako zasób serwera) i można je wyświetlić, uruchamiając polecenie programu Windows PowerShell Get-NetworkControllerServer.

Poniżej znajduje się częściowy przykład zasobu REST serwera.

   "resourceId": "host31.fabrikam.com",
      "properties": {
        "connections": [
          {
            "managementAddresses": [
               "host31.fabrikam.com"
            ],
            "credential": {
              "resourceRef": "/credentials/a738762f-f727-43b5-9c50-cf82a70221fa"
            },
            "credentialType": "X509Certificate"
          }
        ],

W przypadku wzajemnego uwierzytelniania host Hyper-V musi również mieć certyfikat do komunikacji z Kontrolerem sieci.

Możesz zarejestrować certyfikat z urzędu certyfikacji. Jeśli na maszynie hosta nie znaleziono certyfikatu opartego na urzędzie certyfikacji, program SCVMM tworzy certyfikat z podpisem własnym i aprowizuje go na maszynie hosta.

Kontroler sieciowy i certyfikaty hosta Hyper-V muszą sobie ufać nawzajem. Certyfikat główny hosta Hyper-V musi znajdować się w magazynie zaufanych głównych urzędów certyfikacji kontrolera sieci dla lokalnego komputera, a certyfikat główny kontrolera sieci musi znajdować się w magazynie zaufanych głównych urzędów certyfikacji hosta Hyper-V.

Kiedy korzystasz z certyfikatów z podpisem własnym, program SCVMM zapewnia, że wymagane certyfikaty znajdują się w Magazynie Zaufanych Głównych Urzędów Certyfikacji dla komputera lokalnego.

Jeśli używasz certyfikatów wystawionych przez urząd certyfikacji dla hostów Hyper-V, należy upewnić się, że certyfikat główny urzędu certyfikacji jest obecny w magazynie Zaufanych głównych urzędów certyfikacji kontrolera sieci na komputerze lokalnym.

Komunikacja programowego modułu równoważenia obciążenia MUX z kontrolerem sieci

Programowy moduł równoważenia obciążenia Multiplexor (MUX) i kontroler sieci komunikują się za pośrednictwem protokołu WCF przy użyciu certyfikatów na potrzeby uwierzytelniania.

Domyślnie program SCVMM pobiera certyfikat SSL skonfigurowany na kontrolerze sieci i używa go do komunikacji southbound z urządzeniami Mux. Ten certyfikat jest skonfigurowany w zasobie REST "NetworkControllerLoadBalancerMux" i można go wyświetlić, wykonując polecenie cmdlet programu PowerShell Get-NetworkControllerLoadBalancerMux.

Przykładowy zasób REST MUX (częściowy):

      "resourceId": "slbmux1.fabrikam.com",
      "properties": {
        "connections": [
          {
            "managementAddresses": [
               "slbmux1.fabrikam.com"
            ],
            "credential": {
              "resourceRef": "/credentials/a738762f-f727-43b5-9c50-cf82a70221fa"
            },
            "credentialType": "X509Certificate"
          }
        ],

W przypadku wzajemnego uwierzytelniania należy również mieć certyfikat na urządzeniach SLB MUX. Ten certyfikat jest automatycznie konfigurowany przez program SCVMM podczas wdrażania programowego modułu równoważenia obciążenia przy użyciu programu SCVMM.

Ważne

Na hoście i węzłach SLB ważne jest, aby magazyn certyfikatów zaufanych głównych urzędów certyfikacji nie zawierał żadnego certyfikatu, w którym "Wystawiono dla" nie jest takie samo jak "Wystawiony przez". W takim przypadku komunikacja między kontrolerem sieci a urządzeniem typu southbound zakończy się niepowodzeniem.

Kontroler sieci i certyfikaty MUX SLB muszą sobie ufać nawzajem (główny certyfikat SLB MUX musi znajdować się w magazynie Zaufanych głównych urzędów certyfikacji maszyn Kontrolera Sieci i na odwrót również). Kiedy korzystasz z certyfikatów z podpisem własnym, program SCVMM zapewnia, że wymagane certyfikaty znajdują się w Magazynie Zaufanych Głównych Urzędów Certyfikacji dla komputera lokalnego.