Tags: Active Directory, Zertifikate, Migration
Wenn Firmen ältere Versionen von Windows Server ausmustern, dann steht oft der Umzug wichtiger Infrastrukturdienste an. Davon können die Active Directory Certificate Services (AD CS) betroffen sein. Der folgende Beitrag zeigt, wie man die Datenbank und die Einstellungen der AD CS auf Windows 2019 überträgt.
Die Migration von AD CS auf einen neuen Server umfasst die folgenden Aufgaben:
- Sichern Sie die CA-Datenbank und die Konfiguration des AD CS-Servers
- Sichern Sie den Registrierungsschlüssel des AD CS-Servers
- Entfernen Sie die AD CS-Rolle aus dem abzulösenden Windows Server
- Installieren Sie die AD CS-Rolle auf dem neuen Server
- Stellen Sie die Backup-Konfiguration und den Registrierungsschlüssel auf dem neuen ADCS-Server wieder her
Um die folgenden Schritte ausführen zu können, muss man als Quelle Windows Server 2008 R2 oder höher verwenden. Ist der Ausgangspunkt ein Windows Server 2008, dann muss man erst ein Upgrade auf Windows Server 2012 durchführen.
Backup der Datenbank und Konfiguration
Die Sicherung der aktuellen CA-Datenbank und der AD CS-Konfiguration ist unkompliziert. Sie lässt sich über die AD CS-Verwaltungskonsole oder das Befehlszeilenprogramm certutil erledigen.
Starten Sie certsrv.msc nicht auf einer Workstation, sondern auf dem Server selbst, und klicken sie unterhalb von Certification Authority (Zertifizierungsstelle) mit der rechten Maustaste auf den Server-Namen. Aus dem Kontextmenü führen Sie All Tasks => Back up CA aus.
Die Auswahl dieser Option startet den Assistenten für die Sicherung der Zertifizierungsstelle. Auf der Übersichtsseite klicken Sie einfach auf Weiter.
Wählen Sie im nächsten Bildschirm die zu sichernden Elemente aus. Sie müssen die Optionen Private key and CA certificate und Certificate database and certificate database log anhaken. Geben Sie anschließend noch den Pfad ein, an dem das Backup gespeichert werden soll.
Daraufhin wird ein Dialog angezeigt, in dem Sie aufgefordert werden, das erforderliche Verzeichnis zu erstellen. Haben Sie das erledigt, dann muss man ein Passwort zum Schutz des privaten Schlüssels und des CA-Zertifikats eingeben.
Nun sollte der Backup-Assistent erfolgreich den Vorgang abschließen.
Backup über die Kommandozeile
Unter Server Core kann man statt der MMC-basierten Konsole den Befehl certutil.exe verwenden. Das Backup lässt sich damit wie folgt ausführen:
certutil -backup c:\<Pfad zum Backup>
Sie werden dann aufgefordert, das Passwort für das Backup der Active Directory-Zertifikatsdienste einzugeben und zu bestätigen.
Backup des AD CS Registry-Schlüssels
Der nächste Schritt besteht darin, den CertSvc-Schlüssel zu sichern. Er findet sich unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc
Warum ist dies notwendig, wenn wir doch schon den privaten Schlüssel und die Datenbank der Zertifizierungsstelle gesichert haben? Der Registrierungsschlüssel enthält die Konfiguration der CA, darunter die CRL- und AIA-Speicherorte. Um den Key zu sichern, öffnen Sie regedit.exe und führen Sie die folgenden Schritte aus:
- Wechseln Sie zu
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc - Klicken Sie mit der rechten Maustaste auf CertSvc und führen Sie den Befehl Export aus
AD CS Rolle vom bisherigen Server entfernen
Entfernen Sie als nächstes die Rolle Active Directory-Zertifikatsdienste vom Server, der außer Dienst gestellt werden soll.
Nachdem die Rolle entfernt wurde, müssen Sie den Server neu starten.
AD CS-Rolle auf dem neuen Windows Server hinzufügen
Nachdem die Rolle vom alten Windows Server entfernt wurde, können wir sie auf dem neuen installieren. Öffnen Sie dort den Server-Manager und wählen Sie den Server aus. Im Wizard zum Hinzufügen von Rollen und Features aktiviert man dann die Option Active Directory Certificate Services.
Im nächsten Dialog bestätigt man die Installation der Management-Tools.
Den darauf folgenden Dialog zur Installation von Features kann man durch Klick auf Next überspringen. Es folgt die Auswahl der Rollendienste, in meinem Beispiel habe ich installiert:
- Certification Authority
- Certificate Enrollment Policy Web Service
- Certificate Enrollment Web Service
- Certification Authority Web Enrollment
Wenn man sich dafür entschieden hat, die Web-Dienste zu installieren, dann folgt im nächsten Schritt das Einrichten der Rolle Web Server (IIS). Dort kann man es in der Regel bei den bereits angehakten Rollendiensten belassen oder die Auswahl bei Bedarf anpassen.
Anschließend löst man den Vorgang durch Klick auf Install aus, er sollte normalerweise ohne Probleme durchlaufen.
Wenn Sie versuchen, die Verwaltungskonsole der Zertifizierungsstelle auf dem neuen Server zu öffnen, bevor Sie die Konfiguration im Server-Manager abgeschlossen haben, erscheint die folgende Fehlermeldung (Error 0x80070002).
Um die Einrichtung von AD CS abzuschließen, muss man daher die Post-Deployment-Konfiguration starten.
Dort gibt man zuerst die Anmeldedaten eines geeigneten Kontos ein. Vorerst können wir außer der Zertifizierungsstelle keine weiteren Dienste konfigurieren. Erst wenn dies erledigt ist, können sie den Web-Dienst bearbeiten.
Im nächsten Schritt wählt man Enterprise CA und im darauf folgenden Dialog Root CA.
Im nächsten Fenster entscheidet man sich für die Option, wonach man schon einen Private Key besitzt.
Im Import-Dialog wählt man den privaten Schlüssel aus, den man im Backup gespeichert hat. Dieses muss man also zuvor auf den neuen Server übertragen haben. Nachdem man den Key zuvor mit einem Passwort gesichert hat, muss man dieses hier für den Import eingeben.
Hier können Sie außerdem können das Kontrollkästchen "Administratorinteraktion bei jedem Zertifizierungsstellenzugriff auf den privaten Schlüssel zulassen" als zusätzliche Sicherheit aktivieren.
Wenn Sie das tun, müssen Sie jedes Mal, wenn ein privater Schlüssel verwendet, ein neues Zertifikat bzw. eine CRL ausgestellt wird oder wenn der Dienst startet, die Credentials eines Administrators eingeben.
Im nächsten Schritt wählt man den Speicherort für die CA-Datenbank und löst im abschließenden Dialog den Vorgang aus.
Sie werden nun aufgefordert, die weitere Konfiguration nach der Bereitstellung durchzuführen. Das betrifft die Web-Dienste, für den es ebenfalls einen Assistenten gibt.
Konfiguration aus dem Backup wiederherstellen
Im nächsten Schritt importiert man die gesicherten Daten des alten Servers in die neue Umgebung. Dazu hält man den AD CS-Service an.
Anschließend öffnet man erneut das Kontextmenü der CA und führt unter All Tasks den Befehl Restore CA aus.
Auch durch diesen Prozess wird man von einem Wizard geführt. Nach dem Begrüßungsbildschirm hakt man auf dem folgenden Dialog die Kästchen für Private key and CA certificate sowie Certificate database and certificate database log an. Zudem muss man den Pfad zur Backup-Datei angeben.
Nach der Eingabe des Passworts startet der Restore. Nach dessen Abschluss werden wir gefragt, ob wir den Service starten möchten. Den entsprechenden Dialog beantworten wir mit No.
Jetzt wechselt man im Explorer zum Verzeichnis, welches die .reg-Datei mit dem Backup des Registry-Schlüssels enthält. Auf diese klickt man mit der rechten Maustaste und führt Merge aus.
Wenn der Schlüssel in die Registrierdatenbank geschrieben wurde, dann startet man den Service für die AD CS.
Zu diesem Zeitpunkt sollten Sie den neuen Server für die Active Directory-Zertifikatsdienste sowie die vor der Migration ausgestellten Zertifikate und andere Informationen sehen. Aufgrund der Wiederherstellung hat die CA-Konfiguration den Namen des früheren Servers beibehalten.
Zusammenfassung
Die Migration der Active Directory-Zertifikatsdienste auf einen neuen Server ist nicht allzu schwierig. Nachdem man die benötigten Dateien gesichert hat, installiert man die Rollendienste auf dem Ziel-Server und stellt aus dem Backup die Daten und die Konfiguration wieder her.
Dieses Vorgehen erlaubt es, nicht mehr unterstützte Legacy-Systeme außer Betrieb zu nehmen und relativ schnell durch neue Server zu ersetzen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Zertifikate als CER, DER, P7B oder PFX exportieren
- Windows-Zertifizierungsstelle außer Betrieb nehmen
- Microsoft ergänzt zertifikatbasierte Authentifizierung am Azure AD um Support für Smartcards
- Mit Zertifikaten an Azure Active Directory authentifizieren
- Authentifizierung ohne Passwörter mit Windows Hello for Business
Weitere Links
3 Kommentare
Toller Artikel Brandon,
ein paar weitere Infos: Der Import in Server 2016 oder 2019 von einer 2008 UND 2008 R2 CA funktioniert nicht. Ich empfehle das inplace-Upgrade von 2008 > 2012 sowie von 2008R2 > 2012 R2 mit aktuellsten ISO Medien.
Der Umstieg von SHA1 auf SHA2 ist schnell gemacht, wenn die vorherige CA denn schon ein aktuelles Verschlüsselungsverfahren hatte.
https://social.technet.microsoft.com/wiki/contents/articles/31296.implem...
Wichtig: Die Root CA muss KSP sein, nicht CSP.
Eine Nutzung von modernen Crypto Algrorithmen wie ECDSA_P256 anstelle von RSA 2048 gemäß BSI Empfehlung ist erst möglich wenn auch das Root Cert aktuell ist. Vorher ist keine Ausstellung dieser Zertifikate möglich.
Grundsätzlich: alle Default Zertifikatsvorlagen sind sind auf Kompatibilität ausgelegt nicht auf Sicherheit. Insb. das Webserver Template.
- kein Autoenrollment
- keine modernen Cryptografien
- fehlende Browseranforderungen (Dauer und SAN Eintrag) etc.
Die Automatische Erstellung von Zertifikaten anhand neuer Templates funktioniert nicht mehr im IIS Wizard insb. des Webserver Zertifikats.
Migrieren von CSP auf KSP
https://docs.microsoft.com/en-us/previous-versions...
Auswahl der Schlüssellänge
https://www.keylength.com/en/8/
Weiterführende Informationen zu Schlüsselverfahren
https://m.heise.de/security/artikel/Kryptographie-in-der-IT-Empfehlungen...
https://entwickler.de/online/security/kryptoverfahren-579848799.html
Danke für die Anleitung.
Frage: wie geht man vor, wenn der neue Cert..Server einen anderen Namen hat, aber standardmäßige Pfade behalten wurden auf dem alten und auf dem neuen Server? Nur in der Reg. den Namen ändern.
Vielen Dank für eine Info.