0

Ablösen einer Windows Server Zertifikats Autorität (CA)

In diesem Beitrag möchte ich das Vorgehen beschreiben wie eine Bestands Zertifikats Autorität (CA) durch eine neue CA abgelöst werden kann. Die hier dokumentierte Schritte sollen sicherstellen das ausgestellte Zertifikate der „alten“ CA bis zu Ihrem Ablauf weiterverwendet werden können, während eine „neue“ CA Zertifikate für die zukünftige Verwendung ausstellt.

Kern des Problems ist das alle ausgestellten Zertifikate ein Feld besitzen in dem der Verteilungspunkt (CDP) für eine Zertifikatssperrliste (CRL) enthalten ist. In der Regel wird LDAP und/oder eine URL verwendet. Da wie bereits im ersten Satz beschrieben die bereits ausgestellten Zertifikate weiterverwendet werden sollen muss der Zugriff auf die Verteilungspunkte auch gewährleistet sein nachdem die alte CA deinstalliert wurde. Im Falle von LDAP bleibt der Pfad in der Regel erhalten (dieser ist nicht Serverbezogen). Der URL Pfad ist jedoch im Standard allerdings mit dem lokalen Hostname definiert. Dieser muss am ende der Prozedur auf den neuen Server verweisen (DNS A Record oder CNAME).

Sicherung durchführen

Bevor irgendwelche Parameter an der Zertifizierungsstelle angepasst werden sollte eine Sicherung erfolgen.



Nach der Sicherung sollte noch der entsprechende Registrierungszwei exportiert werden:

REG EXPORT „HKLMSystemCurrentControlSetServicesCertSvcConfiguration<CA Name>“ caconfig.reg

Wer komplett sicher gehen möchte sollte den Server inklusive Systemstatus sichern. Die oben gezeigte Sicherung der Zertifizierungsstelle sollte jedoch in jedem Fall erfolgen.

Dokumentation der Verteilungspunkte von Sperrliste (CRL) und Zertifikatsautorität (AIA)

Zunächst ist es entscheidend herauszufinden an welchen Stellen die Zertifikatssperrliste (CRL) und das Zertifikat der CA veröffentlicht wird. Dazu sind auf der abzulösenden CA in den Eigenschaften die Erweiterungen der Zertifizierungsstelle aufzurufen.


In den Erweiterungen lässt sich über das Drop down Feld auswählen welche Eigenschaften eingesehen werden sollen (CRL oder AIA). Zunächst sollten die „http“ und „file“ Verteilungspunkte der CRL notiert werden. Die Verteilungspunkte „ldap“ und „C:WindowsSystem32“ können ignoriert werden da diese ohnehin nicht angepasst werden können. Werden die Verteilungspunkte „http“ und/oder „file“ nicht im Zertifikat veröffentlicht (die Optionen „Include in CRLs. Clients use this to find Delta CRL locations.“ und „Include in the CDP extension of issued certificates“) können auch diese ignoriert werden.

Nachdem die „http“ und/oder „file“ Pfade der CRL notiert wurden wird im Drop down Menü „AIA“ ausgewählt.


Auch hier ist zu prüfen ob das Zertifikat über „http“ oder „file“ für Clients zur Verfügung gestellt wird („Include in the AIA extension of issued certificates“). Ist dies der Fall sollten auch diese Pfade notiert werden.

Gültigkeit der CRL heraufsetzen

Nachdem die Verteilungspunkte für CRL und AIA notiert wurden wird in den Eigenschaften der gesperrten Zertifikate, die Verteilung der CRL auf 99 Jahre heraufgesetzt, während die Verteilung der Delta CRLs deaktiviert wird.


Sperrliste mit den neuen Parametern verteilen

Die Sperrliste wird dann über das Kontextmenü mit den neuen Werten auf die oben dokumentierten Verteilungspunkte verteilt.


Sicherstellen des Sperrlistenzugriffs

Die Dateien werden von ihrem jetzigen (dem „alten“) auf den neuen Verteilungspunkt kopiert. Dies kann ein beliebiger Web- und/oder Dateiserver sein. Wichtig ist das der Verteilungspunkt der im Zertifikat übermittelt wird für den Client erreichbar ist. Dies kann über einen entsprechenden CNAME oder A Host Eintrag im DNS Server erreicht werden.

Dokumentation der Vorlagen und ausgestellten Zertifikate

Nun sollte überprüft werden welche Zertifikatsvorlagen von der neuen Zertifizierungsstelle ausgestellt werden müssen. Diese müssen auf der neuen Zertifizierungsstelle für die Verteilung freigegeben werden, während sie von der alten Zertifizierungsstelle entfernt werden müssen. Bei dieser Gelegenheit können die Vorlagen ggf. auch aktualisiert oder durch neue ersetzt werden.

Zur Dokumentation der „alten“ Zertifizierungsstelle sollten die Informationen zur Nachvollziehbarkeit exportiert werden:

  1. Verfügbare Vorlagen

Certutil -catemplates > c:tmpcatemplates.txt

Die Textdatei enthält die Namen der Zertifikatsvorlagen die von dieser Zertifizierungsstelle ausgestellt werden. Die Vorlagen sollten entfernt werden, um zu verhindern, dass die „alte“ Zertifizierungsstelle noch Zertifikate ausstellt.

  1. Ausgestellte Zertifikate basierend auf Standardvorlagen

Certutil -view -restrict „Certificate Template=Template“ -out „SerialNumber,NotAfter,DistinguishedName,CommonName“ > c:CABackupTemplateType.txt

Dieses Kommando ist für jeden Vorlagentyp auszuführen. Der Name der Vorlage ist dabei natürlich entsprechend anzupassen.

  1. Ausgestellte Zertifikate basierend auf benutzerdefinierten Vorlagen

Certutil -view -restrict „Certificate Template=OIDNumber“ -out „SerialNumber,NotAfter,DistinguishedName,CommonName“ > c:CABackupCustomTemplateType.txt

Um die ausgestellten Zertifikate basierend auf benutzerdefinierten Vorlagen zu exportieren wird die OID benötigt. Diese kann über die Zertifikatserweiterungen (das Extension Attribut) ausgelesen werden. Auch dieses Kommando ist für alle benutzerdefinierten Vorlagen auszuführen.

Hinweis:

Wenn z.B. der NPS Server für 802.11x zertifikatsbasierte Authentifizierung eingesetzt wird, sollte unbedingt überprüft werden wie sich die Clients mit zwei parallel installierten Zertifikaten verhalten. Windows 7 verwendet bei der Authentifizierung immer das aktuellste Zertifikat. Existiert z.B. auf einem Authentifizierungsserver (z.B. NPS, RADIUS) keine Richtlinie mit vertrauenswürdigem Serverzertifikat, schlägt die Authentifizierung des Clients fehl.

Entfernen der „alten“ Zertifizierungsstelle

Bevor die Zertifizierungsstelle nun vollständig entfernt wird sollte zuvor eine weitere Sicherung durchgeführt werden. Die entsprechenden Anweisungen dazu befinden sich am Anfang dieses Beitrags („Sicherung durchführen“). Die Zertifizierungsstelle kann nun über den Servermanager unter Rollen und Funktionen entfernt werden.

beuermann

Schreibe einen Kommentar