Tags: Zertifikate, Verschlüsselung, Migration
Einige Active Directory Certificate Services (AD CS) verwenden immer noch SHA-1 für das Signieren von Zertifikaten sowie den veralteten Cryptographic Service Provider (CSP). Für mehr Sicherheit sollte man den Hash-Algorithmus auf SHA-2 aktualisieren. Dafür benötigt man den CSP-Nachfolger Key Storage Provider (KSP).
Die nachstehende Anleitung migriert eine Zertifizierungsstelle 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 standardmäßig die neuesten Technologien.
Möglicherweise wurden aber die Zertifikatsdienste von einem älteren Server migriert und haben die ursprünglichen Einstellungen beibehalten. Für KSP benötigt man Windows Server 2012 oder höher.
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 Zertifizierungsstelle (CA) noch auf einem Windows Server 2012 Server läuft.
Backup der CA
Im erstgen Schritt erstellen wir ein Backup der Zertifizierungsstelle, 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 Zertifizierungsstelle 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.
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 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>
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
Wir müssen nun zwei Registrierungsdateien 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
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 Dienstprogramm certuitil tun:
certutil -setreg ca\csp\CNGHashAlgorithm SHA256
Auch nach Ausführung des obigen Befehls ist das Stammzertifikat aber immer noch auf SHA-1.
Daher müssen wir das Zertifikat erneuern. Dies ist nicht obligatorisch, wird aber empfohlen. Das neue Stammzertifikat 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.
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. Normalerweise wird man aber kein neues Schlüsselpaar erzeugen.
Nach der Erneuerung des Stammzertifikats können Sie im Zertifikatspeicher sehen, dass nun SHA256 als Hash-Algorithmus angezeigt wird.
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.
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 Zertifikatsdienste zu stärken.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- AD-Zertifikatsdienste (AD CS) von SHA-1 auf SHA-2 migrieren: Gründe und Hindernisse
- BitLocker Network Unlock: PCs mit verschlüsselten Laufwerken remote verwalten
- Active Directory-Zertifikatdienste auf einen neuen Server migrieren
- Zertifikat für BitLocker Recovery Agent ausstellen
- Zertifikat zur Dokumentenverschlüsselung (Cryptographic Message Syntax) ausstellen
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.