Anleitungen für den Aufbau und die Inbetriebnahme von IT-Diensten gibt es sehr viele. Meistens wird jedoch die dazugehörige Anleitung für die Außerbetriebnahme vergessen.
Nachfolgend wird beschrieben wie eine ins Active Directory integrierte Zertifizierungsstelle (Enterprise Certification Authority) korrekt außer Betrieb genommen wird.
Fragen
Vor der Deinstallation der Zertifizierungsstelle sollten folgende Fragen beantwortet werden:
- Wird die Zertifizierungsstelle außer Betrieb genommen, oder soll sie auf einen anderen Server migriert und dort weiter betrieben werden? Dann siehe Artikel "Migration einer Active Directory integrierten Zertifizierungsstelle (Enterprise Certification Authority) auf einen anderen Server".
- Ist das aktuellste Zertifizierungsstellen-Zertifikat bereits abgelaufen, oder ist dieses noch gültig? Gibt es eventuell noch zeitgültige ausgestellte Zertifikate von der Zertifizierungsstelle?
- Soll der Server (bzw. dessen Betriebssystem-Installation), auf dem die Zertifizierungsstelle installiert ist, für einen anderen Zweck weiterverwendet werden?
Vorgehensweise
Kennen Sie TameMyCerts? TameMyCerts ist ein Add-On für die Microsoft Zertifizierungsstelle (Active Directory Certificate Services). Es erweitert die Funktion der Zertifizierungsstelle und ermöglicht die Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikat-Ausstellungen zu realisieren. TameMyCerts ist einzigartig im Microsoft-Ökosystem, hat sich bereits in unzähligen Unternehmen auf der ganzen Welt bewährt und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden. Professionelle Wartung wird ebenfalls angeboten.
Der Prozess besteht aus folgenden Teilschritten:
- Rechtzeitiges Einstellen der Zertifikatausstellung und Ablehnung ausstehender Zertifikatanforderungen
- Widerruf aller ausgestellten noch gültigen Zertifikate
- Sperrlistengültigkeit anpassen und letzte Sperrliste ausstellen
- Sicherung (Backup) erstellen
- Private Schlüssel identifizieren
- Deinstallation der Zertifizierungsstellen-Rolle
- Löschen der Zertifizierungsstellen-Datenbank
- Widerruf des Zertifizierungsstellen-Zertifikats
- Entfernen der verbleibenden Komponenten der Zertifizierungsstelle (CA) aus dem Active Directory
- Löschen des Computerkontos aus dem Active Directory
Wenn Teile der Hierarchie nicht mehr verfügbar sind
Angenommen, die Zertifizierungsstelle war längere Zeit nicht mehr in Betrieb oder die Sperrliste der Stammzertifizierungsstelle bereits abgelaufen ist, kann der Zertifizierungsstellen-Dienst vielleicht nicht mehr gestartet werden.
In diesem Fall siehe Artikel "Der Zertifizierungsstellen-Dienst startet nicht und wirft die Fehlermeldung "The revocation function was unable to check revocation because the revocation server was offline. 0x80092013 (-2146885613 CRYPT_E_REVOCATION_OFFLINE)"".
Details: Rechtzeitiges Einstellen der Zertifikatausstellung und Ablehnung ausstehender Zertifikatanforderungen
Um alle von einer Zertifizierungsstellen ausgestellten Zertifikate zu einem bestimmten Datum ablaufen zu lassen, kann das TameMyCerts Policy Modul für Microsoft Active Directory Certificate Services eingesetzt werden.
Dieser Schritt ist nur erforderlich, wenn das Zertifizierungsstellen-Zertifikat noch nicht abgelaufen ist.
Veröffentlichte Zertifikatvorlagen sollten von der Zertifizierungsstelle entfernt werden, damit keine neuen Zertifikatanforderungen gestellt und Zertifikate ausgestellt werden.
Ausstehende Zertifikatanforderungen sollten abgelehnt werden. Autoenrollment Clients werden diese Information auswerten und die lokalen Zertifikatspeicher für ausstehende Zertifikatanforderungen entsprechend bereinigen.
Clients sollte ein gewisser Zeitraum belassen werden, die Information abzuholen und entsprechend anzuwenden (hängt davon ab, wie lange es geplant ist, dass Clients offline sein dürfen).
Details: Widerruf aller ausgestellten noch gültigen Zertifikate
Dieser Schritt ist nur erforderlich, wenn das Zertifizierungsstellen-Zertifikat noch nicht abgelaufen ist. Alle noch zeitgültigen Zertifikate sollten in diesem Fall widerrufen werden.
Ist das Zertifizierungsstellen-Zertifikat bereits abgelaufen, sind damit auch alle ausgestellten Zertifikate abgelaufen, sodass es nichts zum widerrufen gibt.
Details: Sperrlistengültigkeit anpassen und letzte Sperrliste ausstellen
Dieser Schritt ist nur erforderlich,
- wenn das Zertifizierungsstellen-Zertifikat noch nicht abgelaufen ist.
- die zugehörige Zertifizierungsstellen-Hierarchie weiterhin in Betrieb bleibt, d.h. die Stammzertifizierungsstelle weiterhin Vertrauen genießt.
Die Sperrlistengültigkeit sollte konfiguriert werden, das Ablaufdatum des Zertifizierungsstellen-Zertifikats zu überschreiten. Anschließend wird eine neue Sperrliste ausgestellt. Diese wird bis zum Ablaufdatum der Zertifizierungsstelle in den Sperrlistenverteilpunkten vorgehalten.
Details: Sicherung (Backup) erstellen
Um im die Zertifizierungsstelle im Zweifelsfall wiederherstellen zu können, sollte eine letzte vollständige Sicherung inklusive privatem Schlüsselmaterial erstellt werden. Siehe hierzu folgende Artikel:
- Eine Sicherung (Backup) einer Zertifizierungsstelle erstellen
- Eine Sicherung (Backup) des privaten Schlüssels einer Zertifizierungsstelle erstellen
Wird ein Hardware Security Modul (HSM) eingesetzt, muss die Sicherung der privaten Schlüssel über dessen spezifische Mechanismen erfolgen.
Details: Private Schlüssel identifizieren
Die Deinstallations-Routine löscht nicht die privaten Schlüssel der Zertifizierungsstelle. Wir beabsichtigen daher, sie später selbst vom System zu löschen. Allerdings wird das Zertifizierungsstellen-Zertifikat durch die Deinstallations-Routine gelöscht, sodass es sinnvoll ist, die notwendigen Informationen vorab einzusammeln.
Wird ein Hardware Security Modul (HSM) eingesetzt, muss die Löschung der privaten Schlüssel über dessen spezifische Mechanismen erfolgen.
Für jedes Zertifizierungsstellen-Zertifikat wird dessen Fingerabdruck (Thumbprint, der SHA-1 Hash des Zertifikats) ermittelt und die notwendigen Informationen mit folgendem Befehl ausgegeben.
certutil -store my {Thumbprint}
Wichtig hierbei sind folgende Informationen:
- Key Container
- Unique container name
- Provider
Details: Deinstallation der Zertifizierungsstellen-Rolle
Für die Deinstallation der Zertifizierungsstellen-Rolle wird ein Konto mit Enterprise Administrator Berechtigungen benötigt. Außerdem muss das Konto lokaler Administrator auf dem Zertifizierungsstellen-Server sein.
Es reicht, wenn das Konto das Recht besitzt das pKIEnrollmentService Objekt der Zertifizierungsstelle zu löschen. Mehr wird nicht im AD unternommen.
Bitte sicherstellen, dass der Server Manager einwandfrei funktioniert. Siehe hierzu auch Artikel "Die Installation oder Deinstallation eines Windows-Features schlägt fehl mit Fehlermeldung "The service is configured to not accept any remote shell requests."".
Die Deinstallation der Zertifizierungsstellen-Rolle hat unter Anderem folgende Auswirkungen.
- Das Zertifizierungsstellen-Zertifikat wird aus dem lokalen Zertifikatspeicher gelöscht, der private Schlüssel wird allerdings nicht gelöscht.
- Das "AIA" Objekt im Active Directory bleibt erhalten und muss bei Bedarf manuell gelöscht werden.
- Das Enrollment Services Objekt im Active Directory wird gelöscht, damit sind auch die Bindungen der Zertifikatvorlagen zu dieser Zertifizierungsstelle hinfällig.
- Sperrlistenverteilpunkte im Active Directory bleiben erhalten und müssen bei Bedarf manuell gelöscht werden.
- Das Zertifizierungsstellen-Zertifikat wird nicht aus NTAuthCertificates gelöscht, es muss bei Bedarf manuell entfernt werden.
Mit der Windows PowerShell kann die Deinstallation der Zertifizierungsstellen-Rolle über folgenden Befehl durchgeführt werden.
Remove-WindowsFeature ADCS-Cert-Authority
Über den Server Manager ist die Deinstallation der Zertifizierungsstellen-Rolle ebenfalls möglich.
Hierzu wird der "Remove Roles and Features Wizard" aufgerufen.
Die Rolle "Certification Authority" wird nun abgewählt.
Die Managementwerkzeuge können deinstalliert werden. Wenn es allerdings der letzte Zertifizierungsstellen-Server im Netzwerk ist, kann es hilfreich sein, sie für die nachfolgenden Aufräumarbeiten noch installiert zu lassen.
Details: Privaten Schlüssel löschen
Nachfolgend wird die für Software-Schlüssel zutreffende Vorgehensweise behandelt. Wird ein Hardware Security Modul (HSM) eingesetzt, müssen die Schlüssel über dessen Verwaltungswerkzeuge gelöscht werden.
Ohne "-csp" Parameter zeigt der "-key" Befehl nur Schlüssel an, die auf einem Cryptographic Service Provider (CSP) basieren, somit für Zertifizierungsstellen-Schlüssel in der Regel keine.
certutil -key -csp "Microsoft Software Key Storage Provider"
certutil -csp "Microsoft Software Key Storage Provider" -delkey "ADCS Labor Issuing CA NG 2"
Die Löschung kann auch anhand des angezeigten Key Identifizierers erfolgen:
certutil -csp "Microsoft Software Key Storage Provider" -delkey {Identifizierer}
Details: Löschen der Zertifizierungsstellen-Datenbank
Die Zertifizierungsstellen-Datenbank wird durch die Deinstallation der Zertifizierungsstellen-Rolle nicht gelöscht. Sie muss daher manuell gelöscht werden, wenn der Server weiter verwendet werden soll. Der Standard-Installationspfad befindet sich unter:
C:\Windows\System32\CertLog
Details: Widerruf des Zertifizierungsstellen-Zertifikats
Das Zertifizierungsstellen-Zertifikat sollte nun widerrufen werden bzw. sollte der Widerruf bei der übergeordneten Zertifizierungsstelle in Auftrag gegeben werden. Siehe auch Artikel "Widerrufen eines ausgestellten Zertifikats".
Details: Entfernen der verbleibenden Komponenten der Zertifizierungsstelle (CA) aus dem Active Directory
Folgende Einträge im Public Key Services Container im Active Directory werden durch die Deinstallation nicht entfernt:
- NTAuthCertificates
- Authority Information Access (AIA)
- CRL Distribution Point (CDP)
Details: Löschen des Computerkontos aus dem Active Directory
Sofern der Computer, auf dem die Zertifizierungsstelle installiert war, nicht weiter verwendet werden soll, kann nun das Computerkonto aus dem Active Directory gelöscht werden.
Weiterführende Links:
- Die Installation oder Deinstallation eines Windows-Features schlägt fehl mit Fehlermeldung "The service is configured to not accept any remote shell requests."
- Migration einer Active Directory integrierten Zertifizierungsstelle (Enterprise Certification Authority) auf einen anderen Server