Windows Server 2008 (R2) Zertifizierungsstelle – Archivierung und Wiederherstellung von privaten Schlüsseln

Da es in meinem heutigen Post hauptsächlich darum geht, private Schlüssel zu archivieren und wiederherzustellen, werde ich an dieser Stelle nicht noch einmal erklären, wie eine Zertifizierungsstelle aufgesetzt wird.
Meine CA ist standardmäßig als alleinstehende Unternehmenszertifizierungsstelle installiert, der Worktrough funktioniert aber genauso mit untergeordneten CAs. Wichtig ist hierbei, dass die KRA-Zertifikate auf allen ausstellenden CAs hinterlegt werden.

Nachdem eine Unternehmens Zertifizierungsstelle eingerichtet ist, können Benutzer Zertifikate anfordern und auch Daten oder E-Mails verschlüsseln.
Das Problem ist jedoch, dass die privaten Schlüssel, der angeforderten Zertifikate standardmäßig nur im Zertifikatsspeicher des jeweiligen Benutzerprofils abgelegt werden.

Was aber wenn die Zertifikate, die für die Verschlüsselung verwendet wurden, verloren gehen? Aus welchem Grund auch immer…
Im Normalfall wären die Daten nun nicht wieder entschlüsselbar und somit unbrauchbar.

Nachdem die Zertifizierungsstelle eingerichtet ist, fange ich nun an, die Archivierung der privaten Schlüssel einzurichten. Im Folgenden werde ich euch dann gleich noch erklären, wie die archivierten Schlüssel dann wiederhergestellt werden können.

Archivierung privater Schlüssel in der Zertifizierungsstelle

!!!Wichtig: Es werden nur private Schlüssel von Zertifikaten archiviert, die nach Aktivierung der Schlüsselarchivierung angefordert wurden. Ich denke das sollte jedoch klar sein!!!

1. Um die Archivierung von privaten Schlüsseln in der CA aktivieren zu können, müssen zuerst Schlüsselwiederherstellungsagenten festgelegt werden. In der Regel sollte diese Funktion nur einem eingegrenzten Personenkreis zugewiesen werden. Dass die entsprechenden Personen ein Schlüsselwiederherstellungsagentenzertifikat (KeyRecoveryAgent-Zertifikat = KRA) anfordern können, muss die bereits bestehende Vorlage in den Vorlagenpool der Zertifizierungsstelle aufgenommen werden.

Hinzufügen der KRA Vorlage zur Zertifizierungsstelle

 

Nachdem die Vorlage in die Zertifizierungsstelle aufgenommen wurde, steht das KRA Zertifikat nun bei der Zertifikatsanforderung  zur Auswahl.

Anfordern KRA Zertifikat

2. Nachdem das Zertifikat nun in den Vorlagen der Zertifizierungsstelle ist, kann dieses auch von einem Benutzer beantragt werden. Ich habe in meiner Testumgebung dafür den Administrator verwendet, es sollte jedoch in Produktivumgebungen ein spezieller Benutzer verwendet werden.

3.Wenn das KRA Zertifikat angefordert wurde, muss es erst auf der Zertifizierungsstelle ausgestellt werden. !!! Eine automatische Ausstellung, wie bei Benutzerzertifikaten, ist hier nicht empfohlen, da dies ein Sicherheitsrisiko darstellt !!!

Ausstellen des KRA Zertifikats in der Zertifizierungsstelle

Nun wird es in der CA unter ausgestellte Zertifikate angezeigt:

Wenn das KRA-Zertifikat ausgestellt wurde, wird der private Schlüssel auf der CA und im lokalen Zertifikatsspeicher des KRA-Benutzers abgelegt. Im Zertifikatsspeicher des KRA-Benutzers wird folgender Eintrag erstellt (es ist der private Schlüssel des KRA-Zertifikats):

Dieser private Schlüssel des KRA-Zertifikats sollte auf jeden Fall gesichert bzw. exportiert werden!!!

4. Ist das KRA-Zertifikat ausgestellt, kann dieses Zertifikat auf in den Eigenschaften der Zertifizierungsstelle im Punkt “Wiederherstellungs-Agents” hinzugefügt werden.
!!!Wichtig: Wichtig ist hier zu wissen, wenn mehrere Wiederherstellungsagents eingetragen sind und die Anzahl der zu verwendenden Wiederherstellungsagents nicht mit der Anzahl der eingetragen Zertifikate übereinstimmt, werden die KRA-Einträge in den archivierten Zertifikaten per Round-Robin durchgetauscht!!! 

Hinzufügen des KRA-Zertifikats

Nach dem Hinzufügen eines KeyRecoveryAgent-Zertifikats müssen die Dienste für die Acitve Directory Zertifikatsdienste neu gestartet werden. Das ausgewählte KRA-Zertifikat wird danach in den Eigenschaften der CA als “gültig” angezeigt.

Gültiges Zertifikat des Wiederherstellungs-Agents

Die Funktionalität für die Archivierung von Zertifikaten ist nun auf der CA eingestellt. Nun muss die Archivierung für bestimmte Zertifikatsvorlagen aktiviert werden.

5. Um die Archivierung für Zertifikate zu aktivieren, muss eine Doppelte Vorlage für das zu archivierende Zertifikat erstellt werden. Ich mache das nun im Folgenden mit dem Benutzerzertifikat.
!!! TIP: Um schnell in die Zertifikatsvorlagenverwaltung zu kommen, kann man in den Vorlagen der Zertifizierungsstelle einfach einen Rechtsklick machen und dann “Verwalten” klicken. So gelangt man direkt in die Vorlagenverwaltung, welche in einem extra MMC- Fenster geöffnet wird.!!!

In der doppelten Vorlage muss der Punkt “Privaten Schlüssel für die Verschlüsselung archivieren” aktiviert werden.
Desweiten sollte die abzulösende Vorlage ausgewählt werden.
!!!TIP: Ich habe hier auch gleich noch unter Sicherheit das Lesen und Automatische Registrieren für Domänen-Benutzer aktiviert, das benötigt man für das Verteilen von Benutzerzertifikaten über Gruppenrichtlinien!!!

6. Nachdem ich die Zertifikatsvorlage, in meinem Fall habe ich sie “Benutzer (archiviert)” genannt, nun erstellt habe, füge ich sie zu den zu verwendenden Zertifikatsvorlagen der Zertifizierungsstelle hinzu.
Hier habe ich die Zertifikatsvorlage “Benutzer” entfernt, da ich künftig nur noch “Benutzer (archiviert)” verteilen möchte.

Aktivieren der Archivierung für die neue Benutzerzertifikatvorlage

Hinzufügen der neuen Benutzerzertifikatvorlage zur CA

 7. Nachdem ich nun die Zertifikatsvorlage für ein Benutzerzertifikat mit archiviertem Schlüssel erstellt und für die Verteilung eingerichtet habe, beantrage ich nun für einen Benutzer das neue Zertifikat. Ich mache das hier manuell um später das Wiederherstellen des privaten Schlüssels zu zeigen. In einer Produktivumgebung würde ich das über Gruppenrichtlinien machen. Es wird in den nächsten Tagen noch einen Betrag über das Verteilen von Zertifikaten über GPOs geben.
Ist das Benutzerzertifikat nun mit der Vorlage “Benutzer (archiviert)” beantragt worden, sieht es in der Zertifizierungsstelle wie folgt aus:

Archivierte Schlüssel in der Zertifizierungsstelle

Wiederherstellung von privaten Schlüsseln aus dem Archiv der Zertifizierungsstelle

Wie im oberen Teil des Textes bereits erwähnt, erkläre ich nun im Folgenden wie ein privater, archivierter Schlüssel aus dem Archiv der CA wiederhergestellt werden kann.

1.  Um einen privaten Schlüssel aus dem Archiv der CA wiederherstellen zu können brauche ich als erstes ein BLOB File (Binary Language Object). Welches ich mir mit Hilfe des Commandozeilen-Tools CERTUTIL.EXE aus dem Archiv der CA erstelle.
Der Befehl dazu lautet wie folgt:

certutil -getkey <Seriennummer oder Benutzername> <gewünschter Pfad für die Erstellung des BLOB-Files>

Meine Eingabe könnt ihr im Screenshot sehen:

Erstellen des BLOB-Files

 In der Bildschirmausgabe kann man auch sehen, welches KRA-Zertifikat für die Wiederherstellung notwendig ist.

2. Nun kommt meiner Meinung nach der wichtigste Teil der Wiederherstellung. Dieser Punkt hat mich ziemlich viel Nerven gekostet, da er im Internen nirgends wirklich gut beschrieben ist und auch in allen Büchern, die ich gewälzt habe, nicht erwähnt wird.
Bei der Ausstellung des KRA-Zertifikats wird zwar der private Schlüssel im Zertifikatsspeicher des jeweiligen KRA-Benutzers abgelegt, jedoch fehlt das Benutzerzertifikat des KRA-Benutzers in dessen Zertifikatsspeicher. Ohne das Benutzerzertifikat ist eine Zuordnung des privaten Schlüssels nicht möglich.
Wenn dieser Punkt nicht ausgeführt wird, erscheint jedoch die Fehlermeldung, dass der “private Schlüssel” fehlt. Hier sind meiner Meinung nach die Artikel der Technet und auch div. Bücher nicht komplett.
Naja, wie dem auch sei, da wir nur privaten Schlüssel des KRA haben, brauchen wir also auch noch den öffentlichen Schlüssel, sonst funktioniert die Wiederherstellung leider nicht.
Ich exportiere nun einfach den öffentlichen Schlüssel des KRA aus der Zertifizierungsstelle:

Export öffentlicher Schlüssel des KRA

Diesen importiere ich dann in den Zertifikatsspeicher meines KRA-Benutzers:

Importierter öffentlicher Schlüssel des KRA

Da ich den privaten Schlüssel ja vorher schon hatte, wird dieser nun unter den eigenen Zertifikaten mit angezeigt. Ist der private Schlüssel nicht mehr vorhanden, muss dieser aus der Backupdatei, welche ich mir gemacht habe, nachdem ich das KRA- Zertifikat erstellt habe importiert.
!!!Wichtig: Der private Schlüssel des KRA muss aus dem Benutzer-Zertifikatsspeicher des KRA exportiert werden. Der private Schlüssel des KRA ist aus der CA nicht exportierbar!!!

3. Nachdem nun das KRA- Zertifikat komplett vorhanden ist, kann der private Schlüssel des Benutzers wiederhergestellt werden.
Dieser Vorgang muss auf mit dem KRA-Benutzer durchgeführt werden.
Ich mache das wieder mit dem Commandozeilen-Tools CERTUTIL.EXE .
Die Eingabe dafür lautet:

certutil -recoverkey <Pfad des Blob-Files> <Pfad des zu erstellenden privaten Schlüssels>(.pfx)
Nach dem Ausführen des Befehls muss man ein Kennwort für die Datei des privaten Schlüssels angeben. Das Kennwort muss komplex sein, sonst funktioniert der Export nicht.  

Wiederherstellung des privaten Schlüssels

 

 4. Die exportierte .pfx Datei kann nun vom Benutzer importiert werden und weiter verwendet werden.

Import wiederhergestellter Schlüssel

 

Ich hoffe der Artikel hilft euch dabei, die Archivierung auf einer CA einzustellen. Es ist meiner Meinung nach der Wichtigste Teil beim Einrichten einer Zertifizierungsstelle im Unternehmen.

Ich wünsche euch noch einen schönen Tag und viel Spaß konfigurieren euerer CA. Über Kommentare und Verbesserungen meiner Artikel freue ich mich natürlich immer…

Windows Server 2008 – DHCP Reservierung mit einem Klick

Wen hat es unter Win2k3 und älter nicht genervt?
Die DHCP- Reservierungen für die Hosts mussten bisher immer manuell eingetragen werden – was bei mehreren Reservierungen ziemlich lässtig war - bzw. abgetippt werden.

Eine der meiner Meinung nach besten Neuerungen im Windows Server 2008 DHCP-Server ist, dass die Reservierungen für Hosts, die schon eine dynamische Adresse bezogen haben, einfach mit einem Klick angelegt werden können.

Ich habe euch mal einen Screenshot mit angehängt, auf dem der neue Punkt zu sehen ist:

Seit Server 2008 ist nun der Punkt “Zur Reservierung hinzufügen” vorhanden. Nach der Bestätigung mit OK wird die Reservierung automatisch eingetragen. Wichtig ist hierbei zu wissen, dass die Adresse eingetragen wird, die der Host über den dynamischen Lease des DHCP- Servers bekommen hat.

Herzlich Willkommen in meinem Blog

Herzlich Willkommen,
mein Name ist Thomas Preischl. Ich bin Administrator im Windows-Umfeld.

Zur Zeit befinde ich mich in der Vorbereitung auf 3 MCITP-Titel, wobei sich mein Hauptintesse auf die Active Directory Dienste legt.

Ich werde im Laufe der Zeit in meinem Blog Einträge über Workthrougs oder Konfigurationen machen, zu denen im Internet nur dürftig bis gar nichts an Infos zu bekommen sind. 

Ich hoffe euch gefällt mein Blog und ihr könnt einige wertvolle Tips und Infos für euch finden.

Über Kommentare freue ich mich jederzeit :) .

Grüße
Tom