Zertifizierungsstelle verschieben–neuer Servername

#server edit this page

In diesem Beitrag habe ich beschrieben wie man eine Zertifizierungstele sichert, den alten Server abbaut und die CA auf einem neuen Server mit dem selben Namen wiederherstellt.

Will man allerdings die CA umziehen und den aktuellen Server nicht abbauen sind ein paar zusätzliche Schritte nötig. Wichtig ist hier zu sagen dass man zwar den Servernamen ändern kann, allerdings nicht den Namen der Zertifizierungsstelle!

Tipp: Auch wenn die Microsoft Dokumentation das nicht wirklich bestätigt funktioniert eine Migration von 32Bit auf 64Bit. Also Backup auf x86 Restore auf x64 ist Möglich.

Backup

  1. Auf jeden Fall eine komplette Sicherung des Servers erstellen!
  2. CA Datenbank und Key sichern
  3. CA Konfiguration (Registry) sichern
    1. Mit dem Registrierungseditor zu folgendem Schlüssel navigieren, rechtsklick und “Export”
    2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration
    3. reg export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration RegBackup.reg
  4. CA Templates notieren oder mit certutil.exe –catemplates > templates.txt exportieren
  5. CA Deinstallieren
    1. Im Server Manager mit Remove Role die Active Directory Certificate Services deinstallieren
    2. Achtung: wie bereits im alten Beitrag erwähnt bleiben gewisse Daten auf dem Server

Restore

  1. alle Dateien (und Ordner) die von der Sicherung erstellt wurden auf den neuen Server kopieren
    1. Achtung: caname.p12 enthält den private Key der CA!
  2. Private Key importieren
    1. certutil –importpfx caname.p12
  3. CA Dienste installieren
    1. Server Manager
      1. Im Servermanager mit Add Roles die Active Directory Certificate Services hinzufügen
      2. Bei der Installation den richtigen CA Typ auswählen und das Richtige Zertifikat mit vorhandenem private Key wählen
    2. setupca.vbs
      1. auf einem Core Server wird die CA am besten mit diesem Script installiert
      2. Bei der Installation muss der Wert im “Key Container” des installierten private Key angegeben werden, diesen kann man so herausfinden: certutil.exe -store my | find "Key Container"
      3. setupca.vbs hat verschiedene Parameter um den entsprechenden CA Typ auszuwählen, folgendes Beispiel installiert eine Subordinate Enterprise CA: cscript setupca.vbs /IF /RC /SN WertKeyContainer
      4. hier die Wichtigsten Parameter
        /IE – Enterprise Root CA Service
        /IS – Standalone Root CA Service
        /IF – Enterprise Subordinate CA Service
        /IT – Standalone Subordinate CA Service
        /RC – Reuse Certificate and Key
        /SN – CA Name
  4. CA Datenbank wiederherstellen
    1. dazu muss der Dienst certsvc gestoppt werden, net stop certsvc
    2. Im Server Manager mit rechtsklick, Restore CA kann die Datenbank wiederhergestellt werden
    3. mit certutil –f –restoreDB PfadZumDataBaseOrdner kann man dasselbe erreichen
  5. Konfiguration wiederherstellen: die Sicherung der Registry muss wieder importiert werden, dabei gilt es allerdings einiges zu beachten:
    1. Backup der Registry auf dem neuen Server vor dem Import!
    2. CAServerName anpassen, muss den neuen Servernamen enthalten
    3. Die Pfade für folgende Werte kontrollieren, wenn sie auf dem alten Server nicht geändert wurden sollten kein Anpassungen nötig sein:
      1. DBDirectory, DBLogDirectory, DBSystemDirectory, DBTempDirectory
    4. Den Inhalt für folgende Werte zu kontrollieren um sicherzustellen dass CDP und AIA Informationen richtig veröffentlicht werden
      1. CACertPublicationURLs. CRLPublicationURLs
    5. Den Wert von CACertHash kontrollieren, wenn das CA Zertifikat erneuert wurde beinhaltet dieser Wert mehrere Thumbprints der CA Zertifikate. Wenn ein Thumbprint importiert wird und das zugehörige Zertifikat nicht installiert ist startet der Zertifikatsdienst (certsvc) nicht und protokollieret folgenden Fehler im Application Log:
      1. Active Directory Certificate Services did not start: Could not load or verify the current CA certificate.  CAName The system cannot find the file specified. 0x80070002 (WIN32: 2).
  6. Berechtigungen auf CDP und AIA Container
    1. Das Computerkonto des neuen Servers muss FullControl für die AIA und CDP Objekte des alten Server haben um CRLs und neue Root Zertifikate veröffentlichen zu können.
    2. Berechtigungen werden mit ADSI Edit gesetzt, die Objekte finden sich unter CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=local

Check

Um zu überprüfen ob alles läuft kann man ein Zertifikat anfordern. Funktioniert das ausstellen der Zertifikate sollte man noch überprüfen ob der Zugriff auf die Sperrlisten funktioniert. Dazu Exportiert man das Zertifikat (in eine .cer Datei) und führt “certutil –url datei.cer” aus.

 

tom