Active Directory-Zertifikatsdienste zu SHA-2 und KSP migrieren


    Tags: , ,

    Ursprüngliche Einstellungen der CAEinige Active Directory Certifi­cate Services (AD CS) ver­wenden immer noch SHA-1 für das Sig­nieren von Zerti­fikaten sowie den ver­alteten Cryp­to­graphic Service Pro­vider (CSP). Für mehr Sicher­heit sollte man den Hash-Algo­rithmus auf SHA-2 aktua­lisieren. Dafür benötigt man den CSP-Nach­folger Key Storage Provider (KSP).

    Die nach­stehende Anleitung migriert eine Zertifizierungs­stelle unter Windows Server 2019, auf dem die AD CS mit dem Cryptographic Service Provider (CSP) und SHA-1 laufen. Aktuelle Versionen von Windows Server verwenden zwar standard­mäßig die neuesten Technologien.

    Möglicher­weise wurden aber die Zertifikats­dienste von einem älteren Server migriert und haben die ursprünglichen Ein­stellungen beibehalten. Für KSP benötigt man Windows Server 2012 oder höher.

    Zertifizierungsstelle unter Windows Server 2019 veralteten Kryptografie-Einstellungen

    Wenn Ihre AD CS bereits KDP verwenden und Sie sie nur von SHA-1 auf SHA-2 umstellen müssen, können Sie den Abschnitt über die Migration von CSP auf KDP überspringen und direkt zu Migration des Hash-Algorithmus auf SHA-2 gehen. Dies könnte der Fall sein, wenn die Zertifi­zierungs­stelle (CA) noch auf einem Windows Server 2012 Server läuft.

    Backup der CA

    Im erstgen Schritt erstellen wir ein Backup der Zertifizierungs­stelle, Der Befehl hängt von der Version des Betriebssystems ab.

    Unter Windows Server 2012 sieht er folgendermaßen aus:

    certutil -backup C:\CA-Backup

    Ab Windows Server 2012 R2 sichert man die CA so:

    Backup-CARoleService -path C:\CA-Backup -Password (Read-Host -Prompt "Passwort eingeben: " -AsSecureString)

    Als Nächstes sichern wir die Registry-Schlüssel der Zertifizierungs­stelle mit folgendem Kommando:

    reg export HKLM\SYSTEM\CurrentControlSet\services\CertSvc c:\<Backup directory>\CAregistry.reg

    Anschließend halten wir den Windows-Dienst für die Certificate Services mit diesem PowerShell-Aufruf an:

    Stop-Service certsvc

    Einstellungen der CA analysieren

    Danach wollen wir uns die Details unserer CA-Zertifikate ansehen. Dazu exportieren wir die Informationen in eine Textdatei:

    certutil -store my <CA-common-name> > output.txt

    Der nächste Schritt besteht darin, das vorhandene CA-Zertifikat und den privaten Schlüssel zu löschen. Führen Sie zuerst die folgenden Befehle aus:

    cd cert:\localmachine\my

    Get-ChildItem

    Vergleichen Sie die angezeigten Werte mit der zuvor erstellten Ausgabetextdatei.

    Angaben in der Ausgabedatei mit dem Output des Befehls vergleichen

    Der Thumbprint-Wert, welcher mit jenem in der Datei übereinstimmt, gehört zum Zertifikat, das wir löschen müssen:

    Remove-Item -deletekey <Fingerabdruck>

    CA-Zertifikat löschen

    CA-Zertifikat und privaten Schlüssel auf KSP migrieren

    Jetzt sind wir an dem Punkt, an dem wir das CA-Zertifikat und den privaten Schlüssel in den neueren Key Storage Provider (KSP) übertragen können. Dazu importieren wir das CA-Zertifikat, das wir zu Beginn exportiert haben:

    Certutil -csp "Microsoft Key Storage Provider" -importpfx "<Backup-Ordner>\<Name-der-Datei.p12>

    Migration zum Microsoft Key Storage Provider

    Nun exportiern wir dieses Zertifikat in eine PFX-Datei:

    Certutil -exportpfx my <CA-Common-Name> <Backup-Ordner>\<Backup-Datei.pfx>

    Anschließend stellen wir den Schlüssel aus der PFX-Datei wieder her:

    Certutil -restorekey c:\<Backup-Ordner>\<CA common name>\backup.pfx

    Registry-Einträge importieren

    Zuerst verifizieren wir mit folgendem Befehl, ob die CA tatsächlich SHA-1 verwendet:

    Certutil -v -getreg ca\csp\HashAlgorithm

    Hash-Algorithmus überprüfen

    Wir müssen nun zwei Registrierungs­dateien erstellen, die in die CA importiert werden. Die erste konfiguriert die Einstellungen für den Hash-Algorithmus:

    Als Nächstes verifizieren wir, dass die CA für die Verschlüsselung 3DES nutzt:

    certutil -v -getreg ca\encryptioncsp\EncryptionAlgorithm

    Algorithmus für die Verschlüsselung überprüfen

    Nun erstellen wir einen Registry-Schlüssel mit folgendem Inhalt, wobei Sie den Common Name ihrer CA in den Pfad einsetzen müssen.

    Speichern Sie die Datei und fügen Sie sie in die Registrierung ein.

    Hash-Algorithmus auf SHA-2 ändern

    Der Wechsel zu SHA-2, in diesem Fall zur Hash-Funktion SHA-256, ist recht einfach. Wir können dies mit dem Dienst­programm certuitil tun:

    certutil -setreg ca\csp\CNGHashAlgorithm SHA256

    Mit certutil von SHA-1 auf SHA-2 umstellen

    Auch nach Ausführung des obigen Befehls ist das Stamm­zertifikat aber immer noch auf SHA-1.

    Stammzertifikat der CA

    Daher müssen wir das Zertifikat erneuern. Dies ist nicht obligatorisch, wird aber empfohlen. Das neue Stamm­zertifikat ersetzt nicht das bestehende, das weiterhin alle zuvor ausgestellten Zertifikate validiert. Dazu ist auch das neue in der Lage, solange man das bestehende Schlüsselpaar beibehält.

    Führen Sie unter All Tasks den Befehl Renew CA Certificate aus.

    Zertifikat der Zertifizierungsstelle erneuern

    Um mit diesem Vorgang fortzufahren, müssen Sie den Neustart der Dienste bestätigen. Als Nächstes werden Sie aufgefordert, den Schlüssel zum Signieren der Zertifikate neu zu generieren. Normaler­weise wird man aber kein neues Schlüsselpaar erzeugen.

    Einen neuen Schlüssel generiert man nur in einigen wenigen Fällen, etwa wenn er kompromittiert wurde.

    Nach der Erneuerung des Stamm­zertifikats können Sie im Zertifikat­speicher sehen, dass nun SHA256 als Hash-Algorithmus angezeigt wird.

    Verifizieren, dass das neue Stammzertifikat nun SHA-256 verwendet

    Zum Abschluss müssen die Active Directory-Zertifikatsdienste neu gestartet werden.

    Neue Einstellungen überprüfen

    Folgende Befehle starten die AD CS neu, pingen den Service und verifizieren den Provider sowie den Hash-Algorithmus.

    Wie unten ersichtlich, werden nun der Microsoft Software Key Storage Provider und SHA256 als Algorithmus angezeigt.

    Überprüfen aller Einstellungen nach der Umstellung der Zertifizierungsstelle auf SHA-1 und KSP

    Zusammenfassung

    Wie gezeigt, ist die Migration vom alten Software Cryptographic Service Provider (CSP) und SHA-1 auf den neueren Key Storage Provider und SHA-256 zwar ein mühsamer, aber unkomplizierter Prozess. Dies ist jedoch ein lohnenswertes Unterfangen, da es dazu beiträgt, die Sicherheit der internen Zertifikats­dienste zu stärken.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Brandon Lee

    Brandon Lee ist seit mehr als 18 Jahren in der IT-Branche tätig und konzen­triert sich auf Networking und Virtua­lisie­rung. Er ver­öffent­licht auf ver­schie­denen Blogs und ver­fasst tech­nische Doku­men­ta­tionen, haupt­sächlich auf Virtualizationhowto.com.

    // Kontakt: Web, E-Mail, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    1 Kommentar

    Danke für den Artikel. Mir ist aufgefallen, dass in der Registry Überbleibsel bleiben. Ich meine da ist was mit den Hashes.