Udostępnij za pośrednictwem


Zarządzanie certyfikatami dla sieci zdefiniowanych programowo

Dotyczy: Azure Stack HCI, wersje 23H2 i 22H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

W tym artykule opisano sposób zarządzania certyfikatami dla komunikacji northbound i southbound kontrolera sieci podczas wdrażania sieci zdefiniowanej programowo (SDN) i używania 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.

Sieci SDN w systemach Windows Server 2019 i 2016 Datacenter obsługują 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 stosowania ich do zabezpieczania kanałów komunikacji northbound kontrolera sieci z klientami zarządzania i komunikacji southbound z urządzeniami sieciowymi, takimi jak oprogramowanie Load Balancer (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 northbound za pomocą protokołu SSL (Secure Sockets Layer) między węzłami kontrolera sieci i klientami zarządzania, takimi jak System Center Virtual Machine Manager.
  2. Uwierzytelnianie między węzłami kontrolera sieci a urządzeniami i usługami typu southbound, takimi jak hosty funkcji 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 w przypadku wdrożeń kontrolera sieci z jednym węzłem i wielu węzłów.

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, 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ę nazwą FQDN klastra kontrolera sieci (rekordy hosta DNS 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 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 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ć urzędów certyfikacji lub narzędzi innych firm, takich jak openssl, do utworzenia certyfikatu do użycia z kontrolerem sieci, jednak instrukcje w tym temacie są specyficzne dla usług AD CS. Aby dowiedzieć się, jak używać urzędu certyfikacji lub narzędzia innej firmy, zobacz dokumentację używanego oprogramowania.

Tworzenie certyfikatu z urzędem certyfikacji obejmuje następujące kroki.

  1. Domena lub administrator zabezpieczeń organizacji konfiguruje szablon certyfikatu.
  2. Administrator kontrolera sieci lub administrator SCVMM w 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 funkcji Hyper-V
  2. Certyfikat należy umieścić w magazynie osobistym komputera lokalnego (My – cert:\localmachine\my)
  3. Certyfikat musi mieć zarówno uwierzytelnianie serwera (EKU: 1.3.6.1.5.5.7.3.1) i uwierzytelnianie klienta (EKU: 1.3.6.1.5.5.7.3.2) Zasady aplikacji.

Uwaga

Jeśli magazyn certyfikatów Personal (My – cert:\localmachine\my) na hoście funkcji Hyper-V ma więcej niż jeden certyfikat X.509 o nazwie podmiotu (CN) jako w pełni kwalifikowana nazwa domeny hosta (FQDN), upewnij się, że certyfikat używana 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 certyfikatów 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żer serwera kliknij pozycję Narzędzia, a następnie kliknij pozycję Urząd certyfikacji. Otwiera certyfikacji urzędu Microsoft Management Console (MMC).
  2. W przystawce programu MMC, kliknij dwukrotnie nazwę urzędu certyfikacji, kliknij prawym przyciskiem myszy szablonów certyfikatów, a następnie kliknij przycisk Zarządzaj.
  3. Otwiera konsolę Szablony certyfikatów. Wszystkie szablony certyfikatów są wyświetlane w okienku szczegółów.
  4. W okienku szczegółów kliknij szablon, który chcesz zduplikować.
  5. Kliknij przycisk akcji menu, a następnie kliknij przycisk Duplikuj szablon. Szablon właściwości zostanie otwarte okno dialogowe.
  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 Podpisu i szyfrowania .
  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 z urzędu certyfikacji

Możesz użyć przystawki Certyfikaty, aby zażądać certyfikatów. 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 administratorzy lokalni to minimalne członkostwo w grupie wymagane do wykonania tej procedury.

  1. Otwórz przystawkę Certyfikaty dla komputera.
  2. W drzewie konsoli kliknij pozycję Certyfikaty (komputer lokalny). Wybierz magazyn certyfikatów osobistych .
  3. W menu Akcja wskaż pozycję** Wszystkie zadania, a następnie kliknij przycisk **Zażądaj nowego certyfikatu, aby uruchomić kreatora rejestracji certyfikatów. Kliknij przycisk Dalej.
  4. Wybierz zasady rejestracji certyfikatów skonfigurowane przez administratora , a następnie kliknij przycisk Dalej.
  5. Wybierz zasady rejestracji usługi 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 programie MMC certyfikatów kliknij magazyn osobisty, aby wyświetlić certyfikat zarejestrowany w urzędzie certyfikacji.

Eksportowanie i kopiowanie certyfikatu do biblioteki SCVMM

Po utworzeniu certyfikatu z podpisem własnym lub podpisanym 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 osobistych dla komputera lokalnego.
  2. Kliknij prawym przyciskiem myszy certyfikat, kliknij pozycję Wszystkie zadania, a następnie kliknij polecenie Eksportuj. Zostanie otwarty Kreator eksportu certyfikatów. Kliknij przycisk Dalej.
  3. Wybierz pozycję Tak, wyeksportuj opcję klucza prywatnego, kliknij przycisk Dalej.
  4. Wybierz pozycję Wymiana informacji osobistych — PKCS #12 (. PLIK PFX) i zaakceptuj wartość domyślną , aby w miarę możliwości uwzględnić wszystkie certyfikaty w ścieżce certyfikacji .
  5. Przypisz użytkowników/grupy i hasło do eksportowanego certyfikatu, kliknij przycisk Dalej.
  6. Na stronie Eksport pliku wskaż lokalizację, w której chcesz umieścić wyeksportowany plik, i nadaj mu nazwę.
  7. Podobnie wyeksportuj certyfikat w pliku . Format CER. Uwaga: aby eksportować do formatu CER, usuń zaznaczenie opcji Tak, eksportuj 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 pracę z konfiguracją i wdrażaniem 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 funkcji Hyper-V z kontrolerem sieci

Do komunikacji z hostami funkcji Hyper-V za pośrednictwem bazy danych OVSDB kontroler sieci musi przedstawić certyfikat maszynom hosta. Domyślnie program SCVMM pobiera certyfikat SSL skonfigurowany na kontrolerze sieci i używa go do komunikacji typu southbound z hostami.

Jest to powód, dla którego certyfikat SSL musi mieć skonfigurowaną funkcję EKU uwierzytelniania klienta. Ten certyfikat jest skonfigurowany w zasobie REST "Serwery" (hosty funkcji Hyper-V są reprezentowane w kontrolerze sieci jako zasób serwera) i można go wyświetlić, uruchamiając polecenie 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"
          }
        ],

Do wzajemnego uwierzytelniania host funkcji Hyper-V musi również mieć certyfikat do komunikacji z kontrolerem sieci.

Możesz zarejestrować certyfikat z urzędu certyfikacji. Jeśli certyfikat oparty na urzędzie certyfikacji nie zostanie znaleziony na maszynie hosta, program SCVMM utworzy certyfikat z podpisem własnym i aprowizuje go na maszynie hosta.

Kontroler sieci i certyfikaty hosta funkcji Hyper-V muszą być zaufane przez siebie nawzajem. Certyfikat główny certyfikatu hosta funkcji Hyper-V musi znajdować się w magazynie zaufanych głównych urzędów certyfikacji kontrolera sieci dla komputera lokalnego i na odwrót.

W przypadku korzystania 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 opartych na urzędach certyfikacji dla hostów funkcji Hyper-V, należy upewnić się, że certyfikat główny urzędu certyfikacji urzędu certyfikacji jest obecny w magazynie zaufanych głównych urzędów certyfikacji kontrolera sieci dla komputera lokalnego.

Komunikacja oprogramowania Load Balancer MUX z kontrolerem sieci

Program Load Balancer Multiplexor (MUX) i kontroler sieci komunikują się za pośrednictwem protokołu WCF przy użyciu certyfikatów do 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ład zasobu REST MUX (częściowe):

      "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 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" nie jest taki sam jak "Wystawiony przez". W takim przypadku komunikacja między kontrolerem sieci a urządzeniem typu southbound zakończy się niepowodzeniem.

Kontroler sieci i certyfikaty SLB MUX muszą być zaufane przez siebie (certyfikat główny certyfikatu SLB MUX musi być obecny w magazynie Zaufanych głównych urzędów certyfikacji kontrolera sieci i na odwrót). W przypadku korzystania 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.