Hallo Admins,
in meiner Testumgebung betreibe ich eine Unternehmens-Stamm-Zertifizierungsstelle (Enterprise Root CA) auf Windows Server 2012 R2. Da es sich bei meiner Umgebung um eine Testumgebung handelt, ist diese bereits auf dem Domänencontroller installiert.
Nun bin ich dabei, meine Umgebung auf Windows Server 2016 zu migrieren, angefangen mit dem Domänencontroller. Ich werde die CA weiterhin auf meinem Domänencontroller bereitstellen, da dieser die größte Konstante in meiner Testumgebung darstellt.
Wie meine Zertifizierungsstelle aufgebaut ist, lest ihr hier: Active Directory Zertifikatsdienste (AD CS) – Grundkonfiguration.
Schritt 1 – Certification Authority (CA) sichern
Zunächst lege ich eine Sicherungskopie meiner Zertifizierungsstelle, dem Privaten Schlüssel und der Konfiguration an. Diese muss dann später auf dem neuen Server-System importiert werden.
- Konsole der Zertifizierungsstelle öffnen
- Rechtsklick auf die Zertifizierungsstelle –> „Alle Aufgaben“ –> „Zertifizierungsstelle sichern“ wählen (Bild 1)
- Es öffnet sich der Sicherungsassistent (Bild 2)
- Im Willkommensbildschirm –> Weiter
- Die zu sichernden Elemente auswählen –> Privater Schlüssel, Zertifikatsdatenbank & Pfad definieren (T:\CABackup) (Bild 3)
- Bei Bedarf wird das Verzeichnis erstellt, es muss ein leeres Verzeichnis sein! (Bild 4)
- Kennwort zum Schutz des privaten Schlüssels hinterlegen (Bild 5)
- Assistenten fertigstellen (Bild 6)
- Fertig
Neben dem eigentlichen Sicherungsassistenten ist es notwendig, die Registrierungseinstellungen der CA zu sichern.
- Start –> Ausführen –> regedit
- Zum Schlüssel „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc“ wechseln
- Den Sub-Key „Configuration“ mittels Rechtsklick exportieren und im Order T:\CABackup speichern (Bild 7)
Schritt 2 – Zertifizierungsstelle auf altem Server deinstallieren
Da die CA auf dem neuen Server unter identischem Namen installiert wird, muss diese nach erfolgreicher Sicherung vom alten System deinstalliert werden.
- Webregistrierung entfernen (Bild 8):
Remove-WindowsFeature ADCS-Web-Enrollment
- Im ADSI-Editor lässt sich übrigens die aktuell registrierte Certification Authority einsehen (Bild 9)
- Zertifizierungsstelle entfernen (Bild 10):
Remove-WindowsFeature ADCS-Cert-Authority
- Server neu starten!
Wer eine Zertifizierungsstelle unter einem alten Server 2003 betreibt, muss diese über die Programmliste des Servers entfernen. Ab Windows 2008 kann die PowerShell verwendet werden.
Schritt 3 – Zertifizierungsstelle auf neuem System installieren
Die Installation gestaltet sich relativ einfach, auch dabei hilft die PowerShell :)
- Zertifizierungsstelle mit Webregistrierung und alle IIS-Komponenten auf Server 2016 installieren (Bild 11):
Install-WindowsFeature ADCS-Cert-Authority,ADCS-Web-Enrollment,Web-Mgmt-Console
- Server-Manager in neuem System öffnen
- Assistenten starten nach Bereitstellung (Bild 12)
- Anmeldeinformationen angeben (Bild 13)
- Rollendienste auswählen (Bild 14)
- Installationstyp angeben – MUSS ZUM ZUVOR INSTALLIERTEN IDENTISCH SEIN – Unternehmens-Zertifizierungsstelle (Bild 15)
- ZS-Typ angeben – MUSS EBENFALLS IDENTISCH SEIN – Stammzertifizierungsstelle (Bild 16)
- Privater Schlüssel – Vorhandenen Privaten Schlüssel verwenden und Zertifikat auswählen (Bild 17)
- Vorhandenes Zertifikat –> Importieren –> Aus dem Ordner CABackup verwenden und Kennwort aus 1.3.4 angeben (Bild 18)
- Sicherstellen, dass es das korrekte Zertifikat ist (Bild 19)
- Zertifikatsdatenbank angeben (Bild 20)
- Bestätigung und Konfigurieren(Bild 21)
- CA Setup erfolgreich abgeschlossen (Bild 22)
- Fertig
Schritt 4 – Zertifizierungsstelle umziehen
Dies ist der eigentliche Migrationsprozess, jetzt wird die Zertifizierungsstelle auf dem neuen System wiederhergestellt :) .
- Zertifizierungsstelle auf dem neuen System öffnen
- Rechtsklick auf <CAName> –> Alle Aufgaben –> Zertifizierungsstelle wiederherstellen (Bild 23)
- Informationsmeldung zum Stopp der CA mit „OK“ bestätigen (Bild 24)
- Assistent zum Wiederherstellen der CA:
- Registrierungsdatei wieder einspielen:
- In das Backup-Verzeichnis wechseln
- Die Datei CAREg.reg ausführen und zusammenführen (Bild 29)
- Die CA neu starten
- Fertig
Schritt 5 – Zertifikatsvorlagen veröffentlichen und testen
Nachdem die Zertifizierungsstelle nun wieder funktionstüchtig ist, müssen die Vorlagen erneut veröffentlicht werden:
- Zertifizierungsstellen-Snap-In öffnen
- Rechtsklick auf „Zertifikatsvorlagen“ –> Neu –> Auszustellende Zertifikatsvorlage
- Zuvor notierte Vorlagen erneut veröffentlichen (Bild 30)
Damit ich mir ein Zertifikat über die Webregistrierung ausstellen kann, muss ich diese über HTTPS erreichen – bitte ein Zertifikat in der Bindung der „Default Website“ hinterlegen (Bild 32)
- IE starten
- https://dc1.sichel.loc/certsrv
- Zertifikat beantragen (Bild 33)
- Zertifikat wurde ausgestellt (Bild 34)
Damit ist die Migration der Zertifizierungsstelle abgeschlossen. Wie üblich folgen alle Bilder in der Übersicht:
Administrativen Gruß
Andi
Hallo,
Super Anleitung, ich konnte sie bei einem CA Umzug 2008R2 auf 2019 nutzen.
Vielen Dank dafür.
Einige offene Punkte wurde ja schon kommentiert.
Die Management Tools sollten mit der Option „-IncludeManagementTools“ mitinstalliert werden.
Ich musste die CRL manuel erstellen lassen damit ich die Zertifikatserstellung nach dem Restore direkt testen konnte.
Rechtermausklick auf „Gesperrte Zertifikate => Alle Aufgaben => Veröffentlichen“.
Ich denke die CRL wäre auch automatisch erstellt worden, aber erst später.
Ich musste „certutil -vroot“ in einer Admin CMD ausführen weil ich das Root Zertifikat nicht von der Webseite laden konnte.
Info:“This will recreate the web pages and fixes things“.
Danke nochmals.
Hallo,
Frage: Wenn man die Zertifizierungsstelle migriert, wird doch auch das Ablaufdatum mit migriert oder?
Dann wäre es doch sinnvoller, den Dienst komplett neu zu installieren und das Zertifikat der alten Zertifizierungsstelle bis zu deren Ablaufdatum per GPO in den vertrauenswürdigen Stammzertifizierungsstellen zu hinterlegen.
Bei einer Neuinstallation lassen sich eventuelle Fehler die sich über die Jahre durch Updates oder Benutzerfehler eingeschlichen haben vermeiden.
Hallo Andi
Hätte dazu noch eine Frage. Und zwar was passiert mit der CRL, nachdem man die Migration vollzogen hat…ist dort automatisch der neue CA Server hinterlegt?
Danke für deine Antwort!
Hi Andi,
Danke für die feine Anleitung.
Ein Hinweis von mir, den wir jetzt schon zum dritten Mal beobachteten.
Installieren wir auf dem Windows 2016 die Zertstelle per PowerShell wie laut Deinen Vorschlägen:
Install-WindowsFeature ADCS-Cert-Authority,ADCS-Web-Enrollment,Web-Mgmt-Console
Dann passiert es, dass das certsrv.msc nicht mit installiert wird. Im Servermanager ist zwar „alles“ vorhanden, auch die Zertifikatstest und Beantragung/Ausstellung neuer Zertifikate funktioniert, aber eben das herkömmliche certsrv.msc fehlt komplett. Daher haben wir die Funktionen per Servermanager wieder deinstalliert und neu per Servermanager installiert. Per Servermanager wurde das herkömmliche certsrv.msc mit installiert. Warum dies so ist – keine Ahnung…
Das kann ich so bestätigen. Ich habe deswegen die zu installierenden Features um ,RSAT-ADCS-Mgmt und RSAT-ADCS erweitert.
Die komplette Installation also mit Install-WindowsFeature ADCS-Cert-Authority,ADCS-Web-Enrollment,Web-Mgmt-Console,RSAT-ADCS-Mgmt,RSAT-ADCS
Vielen Dank für den Beitrag, konnte mit dieser Hife unsere CA von Windows 2012 (GUI) auf Windows 2019 (Core) migrieren.
Hallo zu dem Problem mit :
Nach der Wiederherstellung startet meine CA nicht. Es erscheint folgender Fehler. Current log file missing 0xc80000210 (ESE: -528 JET_errMissingLogFile). Was kann das sein?
Hatte ich auch. Ich wollte von 2003 auf 2016 gehen, Hier trat der Fehler auf.
Lösung war noch einen Zwischenschritt zu machen und das 2003 Backup erst in einen 2008R2 Server zu importieren.
Das Backup aus dem 2008R2 konnte dann ohne das Problem geladen werden.
Beim Einspielen des 2003 Backup konnten die Dienste nicht mehr starten da die DB dann in einen fehlerhaften Zustand war.
Mit Add-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools kriegt man dann auch die Verwaltungskonsole auf den Server.
Da sich der Name des Servers in der Regel verändert, möchte ich nochmal auf die Sperrlisten eingehen.
Kannst du die Anleitung so erweitern, dass auf die Ausstellung / Veröffentlichung einer neuen Sperrliste Bezug genommen wird?
Ansonsten klasse bebilderte Anleitung
Hallo Andi,
ich habe eben meine EntCA mit Hilfe dieser Anleitung auf einen neuen Server verschoben. Vielen Dank für diesen Beitrag. Ein paar Dinge sind mir dabei aufgefallen, welche Du evtl. noch einpflegen möchtest!? Der Umzug erfolgte von einem 2012 R2 Server hin zu einem 2016 Server.
1. Der Export der CA Config aus der Registry des Source Servers
Hier findet sich min. noch ein Verweis auf den DNS Name des Source Servers: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\DAS Root CA] „CAServerName“=“soruce.server.dns“
Bei installierten WebServices haben wir noch: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration] „WebClientCAMachine“=“source.server.dns“
Ob das VOR dem Einspielen der Registry Settings auf dem Target Server wirklich geändert werden muss/sollte, weiss ich nicht. Ich habe es jedenfalls vorab angepasst.
2. OCSP
Wenn im Netzwerk noch OCSP aufgesetzt ist, muss hier auch noch Hand angelegt werden. Hierzu die OCSP Verwaltungskonsole öffnen und unter „Online Responder: YOUR_OCSP_HOST_NAME“ \ „Sperrkonfiguration“ die Eigenschaften des entsprechenden Eintrags öffnen. Im Dialog auf den Tab „Sperranbiert“ und dann auf den Button „Anbieter…“ klicken. In meinem Fall waren für beide Konfigurationsaspekte – Basissperrlisten & Deltasperrlisten – Einträge vorhanden, welche noch auf den alten Server im ADS verwiesen. Ich habe diese entsprechend dem Hostname/DN des neuen, des Target Servers angepasst.
3. Aufräumen
Hier weiss ich nicht ganz genau, ob ich nicht mehr Schaden angerichtet habe, als sonst etwas. Bis jetzt allerdings sehe ich keine Probleme… ;)
Im ADSI-Editor hierher navigieren: CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=YOUR_DOMAIN,DC=LOCAL
Hier finden sich min. zwei SubNodes. Einer entspricht dem neuen, dem Target Server und einer dem alten, dem Source Server. Ich habe den alten des Source Servers gelöscht.
HTH!
Gruesse…
Vielen Dank besser geht es nicht !
Super Anleitung! Bei mir aber leider auch:
Current log file missing 0xc80000210 (ESE: -528 JET_errMissingLogFile).
Er werden Logfiles angelegt. c:\windows\system32\CertLog
Trotzdem die Fehlermeldung.
Hat jemand eine Idee?
Hallo,
super Anleitung. Nach der Wiederherstellung startet meine CA nicht. Es erscheint folgender Fehler. Current log file missing 0xc80000210 (ESE: -528 JET_errMissingLogFile). Was kann das sein?
Nice document! Thanks!
Super Arbeit geleistet, echt cool.
Vielen dank es ist ziemlich hilfreich.
[…] Hallo Admins, in meiner Testumgebung betreibe ich eine Unternehmens Stamm Zertifizierungsstelle (Enterprise Root CA) auf Windows Server 2012 R2. Da es bei meiner Umgebung um eine Testumgebung handelt, ist diese auf dem Domänencontroller installiert. Nun bin ich dabei meine Umgebung auf Windows Server 2016 zu migrieren, angefangen mit dem Domänencontroller. Ich werde die CA weiterhin auf meinem Domänencontroller […] Der Beitrag Zertifizierungsstelle (CA) auf Server 2016 umziehen (PKI Migration) erschien zuerst auf Andi's iT Blog. Quelle: Andi’s iT Blog | Zertifizierungsstelle (CA) auf Server 2016 umziehen (PKI Migration) […]
[…] Andi’s IT Blog | Zertifizierungsstelle (CA) auf Server 2016 umziehen (PKI Migration) […]