Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Autoren: Jitesh Thakur, Meera Mohideen, Technische Berater mit der Windows-Gruppe. Ankit Tyagi, Support-Ingenieur im Windows-Team
Zusammenfassung
Dieser Artikel enthält schrittweise Anleitungen zum Implementieren des Zertifikatregistrierungsrichtlinienwebdiensts (Certificate Enrollment Policy Web Service, CEP) und des Zertifikatregistrierungswebdiensts (Certificate Enrollment Web Service, CES) auf einem anderen Port als 443 für die zertifikatschlüsselbasierte Erneuerung, um die Vorteile der automatischen Verlängerungsfunktion von CEP und CES zu nutzen.
In diesem Artikel wird auch erläutert, wie CEP und CES funktionieren und Einrichtungsrichtlinien bereitstellen.
Hinweis
Der Workflow, der in diesem Artikel enthalten ist, gilt für ein bestimmtes Szenario. Derselbe Workflow funktioniert möglicherweise nicht für eine andere Situation. Die Prinzipien bleiben jedoch unverändert.
Haftungsausschluss: Dieses Setup wird für eine bestimmte Anforderung erstellt, in der Sie Port 443 nicht für die standardmäßige HTTPS-Kommunikation für CEP- und CES-Server verwenden möchten. Obwohl diese Einrichtung möglich ist, hat sie eingeschränkte Unterstützung. Kundendienste und Support können Sie am besten unterstützen, wenn Sie diesen Leitfaden sorgfältig befolgen, indem Sie die minimale Abweichung von der bereitgestellten Webserverkonfiguration verwenden.
Szenario
In diesem Beispiel basieren die Anweisungen auf einer Umgebung, die die folgende Konfiguration verwendet:
Eine Gesamtstruktur für Contoso.com mit einer Public Key-Infrastruktur (PKI) von Active Directory-Zertifikatdienste (AD CS)
Zwei CEP/CES-Instanzen, die auf einem Server konfiguriert sind, der unter einem Dienstkonto ausgeführt wird. Eine Instanz verwendet Benutzernamen und Kennwort für die erstregistrierung. Bei der anderen wird die zertifikatsbasierte Authentifizierung für die schlüsselbasierte Erneuerung im Nur-Erneuerungen-Modus verwendet.
Ein Benutzer verfügt über eine Arbeitsgruppe oder nicht in eine Domäne eingebundene Computer, um das Computerzertifikat mithilfe von Benutzernamen- und Kennwortanmeldeinformationen zu registrieren.
Die Verbindung vom Benutzer zu CEP und CES über HTTPS erfolgt auf einem benutzerdefinierten Port wie 49999. (Dieser Port wird aus einem dynamischen Portbereich ausgewählt und wird von keinem anderen Dienst als statischer Port verwendet.)
Wenn sich die Zertifikatlebensdauer dem Ende nähert, verwendet der Computer zertifikatbasierte CES-schlüsselbasierte Verlängerung, um das Zertifikat über denselben Kanal zu verlängern.
Konfigurationsanweisungen
Überblick
Konfigurieren Sie die Vorlage für die schlüsselbasierte Verlängerung.
Konfigurieren Sie als Voraussetzung einen CEP- und CES-Server für die Benutzernamen- und Kennwortauthentifizierung. In dieser Umgebung bezeichnen wir die Instanz als "CEPCES01".
Konfigurieren Sie eine weitere CEP- und CES-Instanz mithilfe von PowerShell für die zertifikatbasierte Authentifizierung auf demselben Server. Die CES-Instanz verwendet ein Dienstkonto.
In dieser Umgebung bezeichnen wir die Instanz als "CEPCES02". Das verwendete Dienstkonto lautet "cepcessvc".
Konfigurieren sie clientseitige Einstellungen.
Konfiguration
Dieser Abschnitt enthält die Schritte zum Konfigurieren der erstregistrierung.
Hinweis
Sie können auch jedes Benutzerkonto, MSA oder GMSA konfigurieren, damit CES funktioniert.
Als Voraussetzung müssen Sie CEP und CES auf einem Server mithilfe der Benutzernamen- und Kennwortauthentifizierung konfigurieren.
Konfigurieren der Vorlage für die schlüsselbasierte Verlängerung
Sie können eine vorhandene Computervorlage duplizieren und die folgenden Einstellungen der Vorlage konfigurieren:
Stellen Sie auf der Registerkarte "Betreffname" der Zertifikatvorlage sicher, dass die Optionen Angabe in der Anforderung und Verwendung von Antragstellerinformationen aus vorhandenen Zertifikaten für die automatische Verlängerungsregistrierung ausgewählt sind.
Wechseln Sie zur Registerkarte Ausstellungsvoraussetzungen, und aktivieren Sie das Kontrollkästchen Genehmigung von Zertifikatverwaltung der Zertifizierungsstelle.
Weisen Sie dem Cepcessvc-Dienstkonto die Berechtigung "Lesen und Registrieren" für diese Vorlage zu.
Veröffentlichen Sie die neue Vorlage in der Zertifizierungsstelle.
Hinweis
Stellen Sie sicher, dass die Kompatibilitätseinstellungen für die Vorlage auf Windows Server 2012 R2 festgelegt sind, da ein bekanntes Problem vorliegt, bei dem die Vorlagen nicht sichtbar sind, wenn die Kompatibilität auf Windows Server 2016 oder höher festgelegt ist. Weitere Informationen finden Sie unter „Windows Server 2016“-CA-kompatible Zertifikatvorlagen von Windows Server 2016 oder höher basierenden CAs oder CEP-Servern können nicht ausgewählt werden.
Konfigurieren der CEPCES01-Instanz
Schritt 1: Installieren der Instanz
Verwenden Sie eine der folgenden Methoden, um die CEPCES01-Instanz zu installieren.
Methode 1:
In den folgenden Artikeln finden Sie schrittweise Anleitungen zum Aktivieren von CEP und CES für die Authentifizierung mit Benutzername und Kennwort:
Leitfaden für den Zertifikatregistrierungsrichtlinien-Webdienst (CEP)
Richtlinien für den Zertifikatregistrierungswebdienst
Hinweis
Stellen Sie sicher, dass Sie die Option "Key-Based Verlängerung aktivieren" nicht auswählen, wenn Sie sowohl CEP- als auch CES-Instanzen der Benutzernamen- und Kennwortauthentifizierung konfigurieren.
Methode 2:
Sie können die folgenden PowerShell-Cmdlets verwenden, um die CEP- und CES-Instanzen zu installieren:
Import-Module ServerManager
Add-WindowsFeature Adcs-Enroll-Web-Pol
Add-WindowsFeature Adcs-Enroll-Web-Svc
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Username -SSLCertThumbprint "sslCertThumbPrint"
Mit diesem Befehl wird der Zertifikatregistrierungsrichtlinienwebdienst (Certificate Enrollment Policy Web Service, CEP) installiert, indem angegeben wird, dass ein Benutzername und ein Kennwort für die Authentifizierung verwendet werden.
Hinweis
In diesem Befehl ist <SSLCertThumbPrint> der Fingerabdruck des Zertifikats zum Binden von IIS.
Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Username
Mit diesem Befehl wird der Dienst zur Registrierung von Zertifikaten (Certificate Enrollment Web Service, CES) installiert, um die Zertifizierungsstelle für einen Computernamen von CA1.contoso.com und einen gemeinsamen Namen der Zertifizierungsstelle von contoso-CA1-CA zu verwenden. Die Identität der CES wird als Standardidentität des Anwendungspools angegeben. Der Authentifizierungstyp ist Benutzername. SSLCertThumbPrint ist der Fingerabdruck des Zertifikats zum Binden von IIS.
Schritt 2: Überprüfen der IIS-Manager-Konsole (InternetInformationsdienste)
Nach einer erfolgreichen Installation erwarten Sie, dass die folgende Anzeige in der IIS-Manager-Konsole (InternetInformationsdienste) angezeigt wird.
Wählen Sie unter "Standardwebsite" ADPolicyProvider_CEP_UsernamePassword aus, und öffnen Sie dann "Anwendungseinstellungen". Notieren Sie sich die ID und den URI.
Sie können zu Verwaltungszwecken einen Anzeigenamen hinzufügen.
Konfigurieren der CEPCES02-Instanz
Schritt 1: Installieren Sie den CEP und die CES für die schlüsselbasierte Verlängerung auf demselben Server.
Führen Sie den folgenden Befehl in PowerShell aus:
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Certificate -SSLCertThumbprint "sslCertThumbPrint" -KeyBasedRenewal
Dieser Befehl installiert den Zertifikatregistrierungsrichtlinienwebdienst (Certificate Enrollment Policy Web Service, CEP) und gibt an, dass ein Zertifikat für die Authentifizierung verwendet wird.
Hinweis
In diesem Befehl ist <SSLCertThumbPrint> der Fingerabdruck des Zertifikats, um es an IIS anzubinden.
Mithilfe der schlüsselbasierten Verlängerung können Zertifikatclients ihre Zertifikate mithilfe des Schlüssels ihres vorhandenen Zertifikats für die Authentifizierung erneuern. Im schlüsselbasierten Verlängerungsmodus gibt der Dienst nur Zertifikatvorlagen zurück, die für die schlüsselbasierte Verlängerung festgelegt sind.
Install-AdcsEnrollmentWebService -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Certificate -ServiceAccountName "Contoso\cepcessvc" -ServiceAccountPassword (read-host "Set user password" -assecurestring) -RenewalOnly -AllowKeyBasedRenewal
Mit diesem Befehl wird der Dienst zur Registrierung von Zertifikaten (Certificate Enrollment Web Service, CES) installiert, um die Zertifizierungsstelle für einen Computernamen von CA1.contoso.com und einen gemeinsamen Namen der Zertifizierungsstelle von contoso-CA1-CA zu verwenden.
In diesem Befehl wird die Identität des Zertifikatregistrierungswebdiensts als cepcessvc-Dienstkonto angegeben. Der Authentifizierungstyp ist Zertifikat. SSLCertThumbPrint ist der Fingerabdruck des Zertifikats zum Binden von IIS.
Mit dem Cmdlet RenewalOnly kann CES nur im Verlängerungsmodus ausgeführt werden. Das Cmdlet AllowKeyBasedRenewal gibt außerdem an, dass die CES schlüsselbasierte Verlängerungsanforderungen für den Registrierungsserver akzeptiert. Dies sind gültige Clientzertifikate für die Authentifizierung, die nicht direkt einem Sicherheitsprinzipal zugeordnet sind.
Hinweis
Das Dienstkonto muss Teil IIS_IUSRS Gruppe auf dem Server sein.
Schritt 2 Überprüfen der IIS-Manager-Konsole
Nach einer erfolgreichen Installation erwarten Sie, dass die folgende Anzeige in der IIS-Manager-Konsole angezeigt wird.
Wählen Sie KeyBasedRenewal_ADPolicyProvider_CEP_Certificate unter Standard-Webseite aus und öffnen Sie Anwendungseinstellungen. Notieren Sie sich die ID und den URI. Sie können zu Verwaltungszwecken einen Anzeigenamen hinzufügen.
Hinweis
Wenn die Instanz auf einem neuen Server installiert ist, überprüfen Sie die ID, um sicherzustellen, dass die ID identisch ist, die in der CEPCES01 Instanz generiert wurde. Sie können den Wert direkt kopieren und einfügen, wenn er anders ist.
Abschließen der Konfiguration des Zertifikatregistrierungs-Webdiensts
Um das Zertifikat für die Funktionalität von CEP und CES zu registrieren, müssen Sie das Computerkonto der Arbeitsgruppe in Active Directory konfigurieren und dann die eingeschränkte Delegierung für das Dienstkonto konfigurieren.
Schritt 1: Erstellen eines Computerkontos des Arbeitsgruppencomputers in Active Directory
Dieses Konto wird für die Authentifizierung bei der schlüsselbasierten Verlängerung und der Option "In Active Directory veröffentlichen" in der Zertifikatvorlage verwendet.
Hinweis
Für den Clientcomputer ist kein Domänenbeitritt erforderlich.
Schritt 2: Konfigurieren des Dienstkontos für eingeschränkte Delegierung (S4U2Self)
Führen Sie den folgenden PowerShell-Befehl aus, um die eingeschränkte Delegierung (S4U2Self oder ein beliebiges Authentifizierungsprotokoll) zu aktivieren:
Get-ADUser -Identity cepcessvc | Set-ADAccountControl -TrustedToAuthForDelegation $True
Set-ADUser -Identity cepcessvc -Add @{'msDS-AllowedToDelegateTo'=@('HOST/CA1.contoso.com','RPCSS/CA1.contoso.com')}
Hinweis
In diesem Befehl <ist cepcessvc> das Dienstkonto, und <CA1.contoso.com> ist die Zertifizierungsstelle.
Von Bedeutung
Wir aktivieren für die Zertifizierungsstelle in dieser Konfiguration nicht das Flag RENEWALONBEHALOF, da wir die eingeschränkte Delegierung verwenden, die diese Aufgabe für uns übernimmt. Auf diese Weise können wir vermeiden, die Berechtigung für das Dienstkonto zu den Sicherheitsmaßnahmen der Zertifizierungsstelle hinzuzufügen.
Schritt 3: Konfigurieren eines benutzerdefinierten Ports auf dem IIS-Webserver
Wählen Sie in der IIS-Manager-Konsole die Option "Standardwebsite" aus.
Wählen Sie im Bereich „Aktion“ die Option „Websitebindung bearbeiten“ aus.
Ändern Sie die Standardporteinstellung von 443 in Ihren benutzerdefinierten Port. Der Screenshot zeigt eine Port-Einstellung von 49999.
Schritt 4: Bearbeiten des Registrierungsdienstobjekts für die Zertifizierungsstelle in Active Directory
Öffnen Sie auf einem Domänencontroller adsiedit.msc.
Stellen Sie eine Verbindung mit der Konfigurationspartition her, und navigieren Sie zum Objekt der Zertifizierungsdienste der CA:
CN=ENTCA,CN=Registrierungsdienste,CN=Public Key-Dienste,CN=Dienste,CN=Konfiguration,DC=contoso,DC=com
Klicken Sie mit der rechten Maustaste, und bearbeiten Sie das CA-Objekt. Ändern Sie das Attribut "msPKI-Enrollment-Servers ", indem Sie den benutzerdefinierten Port mit ihren CEP- und CES-Server-URIs verwenden, die in den Anwendungseinstellungen gefunden wurden. Beispiel:
140https://cepces.contoso.com:49999/ENTCA_CES_UsernamePassword/service.svc/CES0 181https://cepces.contoso.com:49999/ENTCA_CES_Certificate/service.svc/CES1
Konfigurieren des Clientcomputers
Richten Sie auf dem Clientcomputer die Registrierungsrichtlinien und die Richtlinie für die automatische Registrierung ein. Gehen Sie dazu wie folgt vor:
Wählen Sie "Start>ausführen" aus, und geben Sie dann "gpedit.msc" ein.
Wechseln Sie zu denSicherheitseinstellungen für die > von>, und klicken Sie dann auf "Richtlinien für öffentliche Schlüssel".
Aktivieren Sie den Zertifikatdienste-Client – Richtlinie für die automatische Registrierung , um den Einstellungen im folgenden Screenshot zu entsprechen.
Aktivieren des Zertifikatdiensteclients – Zertifikatregistrierungsrichtlinie.
a) Klicken Sie auf "Hinzufügen ", um eine Registrierungsrichtlinie hinzuzufügen, und geben Sie den CEP-URI mit UsernamePassword ein, den wir in ADSI bearbeitet haben.
b. Wählen Sie für den Authentifizierungstyp"Benutzername/Kennwort" aus.
Abschnitt c. Legen Sie eine Priorität von 10 fest, und überprüfen Sie dann den Richtlinienserver.
Hinweis
Stellen Sie sicher, dass die Portnummer dem URI hinzugefügt und in der Firewall zulässig ist.
Registrieren Sie das erste Zertifikat für den Computer über certlm.msc.
Wählen Sie die KBR-Vorlage aus, und registrieren Sie das Zertifikat.
Öffnen Sie "gpedit.msc " erneut. Bearbeiten Sie den Zertifikatdiensteclient – Zertifikatregistrierungsrichtlinie, und fügen Sie dann die schlüsselbasierte Registrierungsrichtlinie für die Verlängerung hinzu:
a) Klicken Sie auf "Hinzufügen", geben Sie den CEP-URI mit dem Zertifikat ein, das wir in ADSI bearbeitet haben.
b. Legen Sie eine Priorität von 1 fest, und überprüfen Sie dann den Richtlinienserver. Sie werden aufgefordert, sich zu authentifizieren und das Zertifikat auszuwählen, das wir zuerst registriert haben.
Hinweis
Stellen Sie sicher, dass der Prioritätswert der Registrierungsrichtlinie für die schlüsselbasierte Verlängerung niedriger ist als die Priorität der Registrierungsrichtlinie für Benutzernamenkennworte. Die erste Einstellung wird der niedrigsten Priorität zugewiesen.
Testen des Setups
Um sicherzustellen, dass die automatische Verlängerung funktioniert, überprüfen Sie, ob die manuelle Verlängerung funktioniert, indem Sie das Zertifikat mit demselben Schlüssel mit mmc verlängern. Außerdem sollten Sie aufgefordert werden, während der Verlängerung ein Zertifikat auszuwählen. Sie können das Zertifikat auswählen, das wir zuvor registriert haben. Die Eingabeaufforderung wird erwartet.
Öffnen Sie den Persönlichen Zertifikatspeicher des Computers, und fügen Sie die Archivierte Zertifikatansicht hinzu. Fügen Sie dazu das Snap-In für das lokale Computerkonto zu mmc.exehinzu, markieren Sie Zertifikate (lokaler Computer), indem Sie darauf klicken, klicken Sie auf der Registerkarte "Aktion" rechts oder oben auf "mmc", klicken Sie auf "Ansichtsoptionen", wählen Sie "Archivierte Zertifikate" aus, und klicken Sie dann auf "OK".
Methode 1
Führen Sie den folgenden Befehl aus:
certreq -machine -q -enroll -cert <thumbprint> renew
Methode 2
Ändern Sie Uhrzeit und Datum auf dem Clientcomputer in den Erneuerungszeitpunkt der Zertifikatsvorlage.
Die Zertifikatvorlage verfügt beispielsweise über eine 2-Tage-Gültigkeitseinstellung und eine 8-Stunden-Verlängerungseinstellung. Das Beispielzertifikat wurde am 18. Tag des Monats um 4:00 Uhr ausgestellt und läuft am 20. um 4:00 Uhr ab. Das Modul für die automatische Registrierung wird beim Neustart und in jedem 8-Stunden-Intervall (ungefähr) ausgelöst.
Wenn Sie also die Zeit auf 20:10 Uhr am 19. vorverlegen (da unser Erneuerungszeitfenster in der Vorlage auf 8 Stunden festgelegt wurde), wird durch die Ausführung von „Certutil -pulse“ (zum Auslösen der Engine für automatische Registrierung) das Zertifikat für Sie registriert.
Nachdem der Test abgeschlossen ist, setzen Sie die Zeiteinstellung auf den ursprünglichen Wert zurück, und starten Sie dann den Clientcomputer neu.
Hinweis
Der vorherige Screenshot ist ein Beispiel, um zu veranschaulichen, dass das Modul für die automatische Registrierung erwartungsgemäß funktioniert, da das Ca-Datum noch auf den 18. festgelegt ist. Daher gibt es weiterhin Zertifikate aus. In einer realen Lebenssituation wird diese hohe Anzahl an Erneuerungen nicht vorkommen.
Verweise
Testlaborleitfaden: Demonstration der Zertifikat Key-Based-Erneuerung
Webdienste für die Zertifikatregistrierung
Install-AdcsEnrollmentPolicyWebService
Install-AdcsEnrollmentWebService
Siehe auch
Windows Server-Sicherheitsforum
Windows PKI-Dokumentationsreferenz und -Bibliothek
Windows PKI Blog