SSL-Zertifikate über AD-Zertifizierungsstelle und GPO automatisch ausstellen und erneuern

    Zertifikat-SymbolWenn man Zertifikate für interne Web-Server, RD Web Access oder WSUS über eine Windows-CA ausstellt, dann kann man diesen Prozess auto­matisieren. Dadurch ver­hindert man zudem, dass Services wegen abge­laufener Zertifi­kate aus­fallen. Benötigt werden dafür ent­sprechende Templates und ein GPO.

    Gerade in größeren Umgebungen kann ein manuelles Management der Zertifikate einigen Auf­wand verursachen. Außerdem besteht immer die Gefahr, dass deren Ablaufdatum übersehen wird und Dienste dann zeitweise für die Benutzer nicht mehr zugänglich sind. Das so genannte Autoenrollment schafft hier Abhilfe.

    Dieses Verfahren klappt für Benutzer- und Computer-Zertifikate im Wesentlichen nach dem gleichen Muster. Bei Ersteren sollte man darauf achten, dass durch die automatische Ausstellung der Zertifikate kein Wildwuchs entsteht.

    Das Autoenrollment setzt folgende Komponenten und Aktionen voraus:

    • Zertifikatvorlagen, die für das automatische Ausstellen von Zertifikaten konfiguriert wurden
    • Das Aktivieren der betreffenden Templates
    • Ein GPO, das die Clients für das selbständige Anfordern von Zertifikaten konfiguriert

    Darüber hinaus liegt es auf der Hand, dass die Clients in der Lage sein müssen, sich mit der CA zu verbinden.

    Zertifikatvorlage erstellen

    Da wir in unserem Beispiel SSL-Zertifikate automatisiert ausstellen möchten, wäre es naheliegend, die bereits vorhandene Vorlage Webserver dafür zu verwenden. Diese beruht aber noch auf der Schemaversion 1.0 und eignet sich daher nicht für die automatische Registrierung.

    Daher erstellen wir für unseren Zweck eine Kopie des Webserver-Templates und konfigurieren diese nach unseren Anforderungen. Dazu öffnen wir die Zertifikat­vorlagen­konsole certtmpl.msc und führen aus dem Kontextmenü von Webserver den Befehl Vorlage duplizieren aus.

    Kopie der Vorlage Webserver erstellen

    Daraufhin zeigt das Snap-in die Registerkarte Kompatibilität der neuen Vorlage. Hier kann man die OS-Versionen der Zertifizierungs­stelle und der Zertifikat­empfänger abhängig von der jeweiligen Umgebung festlegen. Mit neueren Versionen von Windows kommen oft weitere Optionen für das Ausstellen von Zertifikaten hinzu.

    Durch die Auswahl einer neueren Windows-Version können weitere Funktionen hinzukommen.

    Anschließend wechselt man zum Tab Allgemein und vergibt dort einen Namen für die neue Vorlage. Hier lässt sich auch der Gültigkeitsdauer ändern. Die Option Zertifikat in Active Directory veröffentlichen bleibt bei SSL-Zertifikaten deaktiviert, sie ist für User-Zertifikate gedacht, die der Verschlüsselung von Mails und des Dateisystems dienen.

    Auf der Registerkarte 'Allgemein' vergibt man den Namen für die neue Vorlage.

    Die Einstellungen unter Anforderungs­verarbeitung kann man so belassen, wie vom Webserver-Template übernommen. Der Export des privaten Schlüssels ist in der Regel nicht erforderlich, weil das Zertifikat nur auf dem Rechner genutzt wird, von dem es angefordert wurde.

    Die Einstellungen unter Anforderungs­verarbeitung kann man in der Regel so belassen wie von Webserver übernommen.

    Unter dem Reiter Antragsteller­name kann man dafür sorgen, dass der Rechner für den Request seinen Namen aus dem Active Directory entnimmt. Voreingestellt ist hier als Format der Allgemeine Name (Common Name), wahlweise wählt man auch den FQDN oder den DNS-Namen. Letzteren kann man zudem für den Subject Alternate Name eintragen.

    Informationen zum Antragsteller (Subject Name und Subject Alternate Name)

    Möchte man nur vorhandene Zertifikate erneuern, dann erweist sich die Option Informationen werden in der Anforderung angegeben als praktisch. Wenn man dort die Checkbox bei Anfrage­informationen aus vorhandenen Zertifikaten für Erneuerungs­anforderungen für die automatische Registrierung verwenden anhakt, dann werden der Antragsteller­name und Subject Alternate Name aus einem Zertifikat übernommen, das auf der gleichen Vorlage beruht.

    Schließlich sind noch die Einstellungen unter Sicherheit von besonderer Bedeutung. Dort muss man den Antragsstellern nicht nur das Recht für Lesen und Registrieren einräumen, sondern auch für Automatisch registrieren.

    Für das automatische Ausstellen von Zertifikaten benötigt der Antragsteller das Recht 'Automatische registrieren.

    Im Fall von SSL-Zertifikaten handelt es sich dabei um Konten für die betreffenden Computer, die man nach Möglichkeit in eine Security Group aufnimmt und diese berechtigt.

    Damit ist die Konfiguration der neuen Vorlage abgeschlossen und man kann sie nun speichern.

    Vorlage aktivieren

    Um die neu erstelle Vorlage einsatzbereit zu machen, muss man sie für die Zertifizierungs­stelle aktivieren. Dazu öffnet man certsrv.msc, wechselt in der linken Navigation zum Eintrag Zertifikat­vorlagen und führt dort aus dem Kontext­menü den Befehl Neu => Auszustellende Zertifikatvorlage aus.

    Neue Vorlage über certsrv.msc aktivieren

    Im anschließenden Dialog wählt man das zuvor neu erstellte Template aus und bestätigt den Vorgang mit Ok.

    Gruppenrichtlinie definieren

    Zum Abschluss benötigen wir noch ein GPO, das betreffenden Rechner veranlasst, Zertifikate automatisch anzufordern. Dazu verknüpft man ein neues Gruppen­richt­linienobjekt mit den gewünschten OUs oder Domänen und öffnet es im GPO-Editor.

    Dort wechselt man zu Computer­konfiguration => Richtlinien => Administrative Vorlagen => Windows-Einstellungen => Sicherheits­einstellungen => Richtlinien für öffentliche Schlüssel und bearbeitet die Einstellung Zertifikatclientdienst - Automatische Registrierung.

    GPO-Einstellung für das automatische Ausstellen und Erneuern von Zertifikaten konfigurieren

    Nachdem man sie unter Konfigurations­modell aktiviert hat, erscheinen die weiteren Optionen. Hier hakt man beide Checkboxen an und legt den verbleibenden Gültigkeits­zeitraum fest, ab dem Warnungen zum Ablaufen eines Zertifikats erscheinen. In der Regel wird man den Vorgabewert von 10 Prozent beibehalten.

    Sobald das GPO auf die Zielrechner angewandt wird, etwa gpupdate, überprüft eine geplante Aufgabe, ob ein Zertifikat angefordert oder erneuert werden muss. Ein solcher Vorgang wird dann beim Neustart des Rechners ausgelöst. Alternativ kann man den Vorgang explizit mit

    certutil -pulse

    anstoßen.

    Im Snap-in für die Zertifizierungsstelle kann man nachvollziehen, ob ein Zertifikat automatisch ausgestellt wurde.

    Zertifikat an Dienste zuordnen

    Wurde ein Zertifikat frisch ausgestellt oder erneuert, dann bleibt immer noch die Aufgabe, dieses den betreffenden Diensten zuzuordnen. Das muss möglicher­weise manuell erfolgen.

    Automatisches Binden von erneuerten Zertifikaten im IIS Manager aktivieren.

    Die IIS unterstützen seit der Version 8.5 ein automatisches Certificate Rebind, wenn das Zertifikat erneuert wurde. Die entsprechende Einstellung findet sich unter Serverzertifikate => Aktionen und heißt Automatische erneute Bindung des erneuerten Zertifikats aktivieren.

    1 Kommentar

    Marc sagt:
    14. September 2020 - 9:04

    Sehr schön. Kurz und knapp.
    Die Info bzgl. IIS und Rebind -> good2know!
    Danke!