Delen via


Certificaten voor software-gedefinieerde netwerken beheren

Van toepassing op: Azure Stack HCI, versies 23H2 en 22H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

In dit artikel wordt beschreven hoe u certificaten voor netwerkcontroller northbound en southbound communicatie beheert wanneer u SDN (Software Defined Networking) implementeert en wanneer u System Center Virtual Machine Manager (SCVMM) als uw SDN-beheerclient gebruikt.

Notitie

Zie Netwerkcontroller voor overzichtsinformatie over netwerkcontroller.

Als u kerberos niet gebruikt voor het beveiligen van de netwerkcontrollercommunicatie, kunt u X.509-certificaten gebruiken voor verificatie, autorisatie en versleuteling.

SDN in Windows Server 2019 en 2016 Datacenter ondersteunt zowel zelfondertekende als door certificeringsinstantie (CA) ondertekende X.509-certificaten. Dit onderwerp bevat stapsgewijze instructies voor het maken van deze certificaten en het toepassen ervan op beveiligde netwerkcontroller Northbound-communicatiekanalen met beheerclients en Southbound-communicatie met netwerkapparaten, zoals de Software Load Balancer (SLB).

Wanneer u verificatie op basis van certificaten gebruikt, moet u één certificaat inschrijven op netwerkcontrollerknooppunten die op de volgende manieren worden gebruikt.

  1. Northbound Communication met SSL (Secure Sockets Layer) versleutelen tussen netwerkcontrollerknooppunten en beheerclients, zoals System Center Virtual Machine Manager.
  2. Verificatie tussen netwerkcontrollerknooppunten en southbound-apparaten en -services, zoals Hyper-V-hosts en Software Load Balancers (SLBs).

Een X.509-certificaat maken en inschrijven

U kunt een zelfondertekend certificaat of een certificaat dat is uitgegeven door een CA maken en inschrijven.

Notitie

Wanneer u SCVMM gebruikt om netwerkcontroller te implementeren, moet u het X.509-certificaat opgeven dat wordt gebruikt voor het versleutelen van northbound-communicatie tijdens de configuratie van de servicesjabloon netwerkcontroller.

De certificaatconfiguratie moet de volgende waarden bevatten.

  • De waarde voor het tekstvak RestEndPoint moet de FQDN (Fully Qualified Domain Name) of het IP-adres van de netwerkcontroller zijn.
  • De restEndPoint-waarde moet overeenkomen met de onderwerpnaam (Algemene naam, CN) van het X.509-certificaat.

Een zelfondertekend X.509-certificaat maken

U kunt een zelfondertekend X.509-certificaat maken en dit exporteren met de persoonlijke sleutel (beveiligd met een wachtwoord) door deze stappen te volgen voor implementaties met één knooppunt en meerdere knooppunten van netwerkcontroller.

Wanneer u zelfondertekende certificaten maakt, kunt u de volgende richtlijnen gebruiken.

  • U kunt het IP-adres van het REST-eindpunt van de netwerkcontroller gebruiken voor de parameter DnsName, maar dit wordt niet aanbevolen omdat hiervoor vereist is dat de netwerkcontrollerknooppunten zich allemaal in één beheersubnet bevinden (bijvoorbeeld op één rek)
  • Voor implementaties van netwerkcontrollers met meerdere knooppunten wordt de DNS-naam die u opgeeft de FQDN van het netwerkcontrollercluster (DNS-host A-records worden automatisch gemaakt.)
  • Voor implementaties van netwerkcontrollers met één knooppunt kan de DNS-naam de hostnaam van de netwerkcontroller zijn, gevolgd door de volledige domeinnaam.

Meerdere knooppunten

U kunt de opdracht New-SelfSignedCertificate Windows PowerShell gebruiken om een zelfondertekend certificaat te maken.

Syntaxis

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

Voorbeeld van gebruik

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

Eén knooppunt

U kunt de opdracht New-SelfSignedCertificate Windows PowerShell gebruiken om een zelfondertekend certificaat te maken.

Syntaxis

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

Voorbeeld van gebruik

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

Een door ca ondertekend X.509-certificaat maken

Als u een certificaat wilt maken met behulp van een CA, moet u al een PKI (Public Key Infrastructure) met Active Directory Certificate Services (AD CS) hebben geïmplementeerd.

Notitie

U kunt externe CA's of hulpprogramma's, zoals openssl, gebruiken om een certificaat te maken voor gebruik met netwerkcontroller, maar de instructies in dit onderwerp zijn specifiek voor AD CS. Zie de documentatie voor de software die u gebruikt voor meer informatie over het gebruik van een certificeringsinstantie of hulpprogramma van derden.

Het maken van een certificaat met een CA omvat de volgende stappen.

  1. U of de domein- of beveiligingsbeheerder van uw organisatie configureert de certificaatsjabloon.
  2. U of de netwerkcontrollerbeheerder of SCVMM-beheerder van uw organisatie vraagt een nieuw certificaat aan bij de CA.

Vereisten voor certificaatconfiguratie

Wanneer u in de volgende stap een certificaatsjabloon configureert, moet u ervoor zorgen dat de sjabloon die u configureert de volgende vereiste elementen bevat.

  1. De onderwerpnaam van het certificaat moet de FQDN van de Hyper-V-host zijn
  2. Het certificaat moet worden geplaatst in het persoonlijke archief van de lokale computer (Mijn – cert:\localmachine\my)
  3. Het certificaat moet zowel serververificatie (EKU: 1.3.6.1.5.5.7.3.1) als clientverificatie (EKU: 1.3.6.1.5.5.7.3.2) toepassingsbeleid hebben.

Notitie

Als het certificaatarchief Persoonlijk (Mijn – cert:\localmachine\my) op de Hyper-V-host meer dan één X.509-certificaat heeft met onderwerpnaam (CN) als de FQDN (Fully Qualified Domain Name) van de host, controleert u of het certificaat die wordt gebruikt door SDN heeft een extra aangepaste eigenschap Enhanced Key Usage met de OID 1.3.6.1.4.1.311.95.1.1.1. Anders werkt de communicatie tussen de netwerkcontroller en de host mogelijk niet.

De certificaatsjabloon configureren

Notitie

Voordat u deze procedure uitvoert, moet u de certificaatvereisten en de beschikbare certificaatsjablonen in de console Certificaatsjablonen controleren. U kunt een bestaande sjabloon wijzigen of een duplicaat van een bestaande sjabloon maken en vervolgens uw kopie van de sjabloon wijzigen. Het maken van een kopie van een bestaande sjabloon wordt aanbevolen.

  1. Klik op de server waarop AD CS is geïnstalleerd in Serverbeheer op Extra en klik vervolgens op Certificeringsinstantie. De Microsoft Management Console (MMC) van de certificeringsinstantie wordt geopend.
  2. Dubbelklik op de CA-naam in de MMC, met de rechtermuisknop op Certificaatsjablonen, en klik vervolgens op beheren.
  3. De console Certificaatsjablonen wordt geopend. Alle certificaatsjablonen worden weergegeven in het detailvenster.
  4. Klik in het detailvenster op de sjabloon die u wilt dupliceren.
  5. Klik op de actie menu en klik vervolgens op sjabloon dupliceren. De sjabloon eigenschappen in het dialoogvenster wordt geopend.
  6. Klik in het dialoogvenster Eigenschappen van sjabloon op het tabblad Onderwerpnaam op Opgeven in de aanvraag. (Deze instelling is vereist voor SSL-certificaten van netwerkcontroller.)
  7. Zorg ervoor dat in het dialoogvenster Eigenschappen van sjabloon op het tabblad Aanvraagafhandeling de optie Toestaan dat persoonlijke sleutel wordt geëxporteerd is geselecteerd. Zorg er ook voor dat het doel Handtekening en versleuteling is geselecteerd.
  8. Selecteer in het dialoogvenster Eigenschappen van sjabloon op het tabblad Extensies de optie Sleutelgebruik en klik vervolgens op Bewerken.
  9. Controleer in Handtekening of Digitale handtekening is geselecteerd.
  10. Selecteer in het dialoogvenster Eigenschappen van sjabloon op het tabblad Extensies de optie Toepassingsbeleid en klik vervolgens op Bewerken.
  11. Zorg ervoor dat clientverificatie en serververificatie worden vermeld in Toepassingsbeleid.
  12. Sla de kopie van de certificaatsjabloon op met een unieke naam, zoals de sjabloon Netwerkcontroller.

Een certificaat aanvragen bij de CA

U kunt de module Certificaten gebruiken om certificaten aan te vragen. U kunt elk type certificaat aanvragen dat vooraf is geconfigureerd en beschikbaar is gesteld door een beheerder van de CA die de certificaataanvraag verwerkt.

Gebruikers of lokale beheerders is het minimale groepslidmaatschap dat vereist is om deze procedure te voltooien.

  1. Open de module Certificaten voor een computer.
  2. Klik in de consolestructuur op Certificaten (lokale computer). Selecteer het persoonlijke certificaatarchief.
  3. Wijs in het menu Actie de optie ** Alle taken aan en klik vervolgens op **Nieuw certificaat aanvragen om de wizard Certificaatinschrijving te starten. Klik op Volgende.
  4. Selecteer geconfigureerd door het certificaatinschrijvingsbeleid van de beheerder en klik op Volgende.
  5. Selecteer het Active Directory-inschrijvingsbeleid (op basis van de CA-sjabloon die u in de vorige sectie hebt geconfigureerd).
  6. Vouw de sectie Details uit en configureer de volgende items.
  7. Zorg ervoor dat sleutelgebruik zowel digitale handtekening **als **Sleutelcodering omvat.
  8. Zorg ervoor dat toepassingsbeleid zowel serververificatie (1.3.6.1.5.5.7.3.1) als clientverificatie (1.3.6.1.5.5.7.3.2) omvat.
  9. Klik op Eigenschappen.
  10. Selecteer op het tabblad Onderwerp in Onderwerpnaam in Typede optie Algemene naam. Geef bij Waarde het REST-eindpunt van netwerkcontroller op.
  11. Klik op Toepassen en klik vervolgens op OK.
  12. Klik op Inschrijven.

Klik in de MMC Certificaten op het persoonlijke archief om het certificaat weer te geven dat u hebt ingeschreven bij de CA.

Het certificaat exporteren en kopiëren naar de SCVMM-bibliotheek

Nadat u een zelfondertekend of ca-ondertekend certificaat hebt gemaakt, moet u het certificaat exporteren met de persoonlijke sleutel (in PFX-indeling) en zonder de persoonlijke sleutel (in Base-64 .cer-indeling) uit de module Certificaten.

Vervolgens moet u de twee geëxporteerde bestanden kopiëren naar de ServerCertificate.cr en NCCertificate.cr mappen die u hebt opgegeven op het moment dat u de NC-servicesjabloon importeerde.

  1. Open de module Certificaten (certlm.msc) en zoek het certificaat in het persoonlijke certificaatarchief voor de lokale computer.
  2. Klik met de rechtermuisknop op het certificaat, klik op Alle taken en klik vervolgens op Exporteren. De wizard Certificaat exporteren wordt geopend. Klik op Volgende.
  3. Selecteer Ja, de optie Persoonlijke sleutel exporteren en klik op Volgende.
  4. Kies Personal Information Exchange - PKCS #12 (. PFX) en accepteer indien mogelijk de standaardinstelling Alle certificaten opnemen in het certificeringspad .
  5. Wijs de gebruikers/groepen en een wachtwoord toe voor het certificaat dat u exporteert en klik op Volgende.
  6. Ga op de pagina Te exporteren bestand naar de locatie waar u het geëxporteerde bestand wilt plaatsen, en geef een naam op.
  7. Op dezelfde manier exporteert u het certificaat in . CER-indeling. Opmerking: als u wilt exporteren naar de CER-indeling, schakelt u de optie Ja, de persoonlijke sleutel exporteren uit.
  8. Kopieer het .PFX-bestand naar de map ServerCertificate.cr.
  9. Kopieer het .CER-bestand naar de map NCCertificate.cr.

Wanneer u klaar bent, vernieuwt u deze mappen in de SCVMM-bibliotheek en zorgt u ervoor dat u deze certificaten hebt gekopieerd. Ga verder met de configuratie en implementatie van de servicesjabloon voor de netwerkcontroller.

Southbound-apparaten en -services verifiëren

Netwerkcontrollercommunicatie met hosts en SLB MUX-apparaten maakt gebruik van certificaten voor verificatie. Communicatie met de hosts verloopt via het OVSDB-protocol, terwijl communicatie met de SLB MUX-apparaten verloopt via het WCF-protocol.

Hyper-V-hostcommunicatie met netwerkcontroller

Voor communicatie met de Hyper-V-hosts via OVSDB moet de netwerkcontroller een certificaat presenteren aan de hostmachines. Standaard neemt SCVMM het SSL-certificaat dat is geconfigureerd op de netwerkcontroller op en gebruikt het voor zuidkomende communicatie met de hosts.

Dat is de reden waarom voor het SSL-certificaat de clientverificatie-EKU moet zijn geconfigureerd. Dit certificaat is geconfigureerd op de REST-resource 'Servers' (Hyper-V-hosts worden weergegeven in netwerkcontroller als een serverbron) en kan worden weergegeven door de Windows PowerShell opdracht Get-NetworkControllerServer uit te voeren.

Hieronder volgt een gedeeltelijk voorbeeld van de server-REST-resource.

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

Voor wederzijdse verificatie moet de Hyper-V-host ook een certificaat hebben om te communiceren met de netwerkcontroller.

U kunt het certificaat inschrijven bij een certificeringsinstantie (CA). Als er geen CA-certificaat wordt gevonden op de hostcomputer, maakt SCVMM een zelfondertekend certificaat en richt dit in op de hostcomputer.

Netwerkcontroller en de Hyper-V-hostcertificaten moeten door elkaar worden vertrouwd. Het basiscertificaat van het Hyper-V-hostcertificaat moet aanwezig zijn in het archief vertrouwde basiscertificeringsinstanties van de netwerkcontroller voor de lokale computer en vice versa.

Wanneer u zelfondertekende certificaten gebruikt, zorgt SCVMM ervoor dat de vereiste certificaten aanwezig zijn in het archief vertrouwde basiscertificeringsinstanties voor de lokale computer.

Als u CA-certificaten voor de Hyper-V-hosts gebruikt, moet u ervoor zorgen dat het CA-basiscertificaat aanwezig is in het archief vertrouwde basiscertificeringsinstanties van de netwerkcontroller voor de lokale computer.

Software Load Balancer MUX-communicatie met netwerkcontroller

De Software Load Balancer Multiplexor (MUX) en netwerkcontroller communiceren via het WCF-protocol, met behulp van certificaten voor verificatie.

Standaard haalt SCVMM het SSL-certificaat op dat is geconfigureerd op de netwerkcontroller en gebruikt het voor zuidkomende communicatie met de Mux-apparaten. Dit certificaat is geconfigureerd in de REST-resource NetworkControllerLoadBalancerMux en kan worden weergegeven door de PowerShell-cmdlet Get-NetworkControllerLoadBalancerMux uit te voeren.

Voorbeeld van MUX REST-resource (gedeeltelijk):

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

Voor wederzijdse verificatie moet u ook een certificaat hebben op de SLB MUX-apparaten. Dit certificaat wordt automatisch geconfigureerd door SCVMM wanneer u een software load balancer implementeert met behulp van SCVMM.

Belangrijk

Op de host- en SLB-knooppunten is het essentieel dat het certificaatarchief van vertrouwde basiscertificeringsinstanties geen certificaat bevat waarbij 'Uitgegeven aan' niet hetzelfde is als 'Uitgegeven door'. Als dit gebeurt, mislukt de communicatie tussen de netwerkcontroller en het apparaat in het zuiden.

Netwerkcontroller en de SLB MUX-certificaten moeten door elkaar worden vertrouwd (het basiscertificaat van het SLB MUX-certificaat moet aanwezig zijn in het archief vertrouwde basiscertificeringsinstanties van de netwerkcontrollercomputer en vice versa). Wanneer u zelfondertekende certificaten gebruikt, zorgt SCVMM ervoor dat de vereiste certificaten aanwezig zijn in het archief vertrouwde basiscertificeringsinstanties voor de lokale computer.