Heut mal ein etwas längere Blog. Es geht darum eine Zweistufige CA
„Certificate Authority“ zu installieren und zu konfigurieren. Die nachfolgende Punkte (Backup der CA, Key Recovery Agent, Sperrlisten usw.) habe ich nicht mit berücksichtigt, da es den Rahmen des Blogs sprengen würde. 😉
Hier liegt der Focus auf dem LAB Betrieb. Für eine produktive Umgebung ist diese Anleitung nicht geeignet. ❗
Der Artikel ist sehr lang geworden, vielleicht sollten Sie sich erst einen Kaffee holen bevor Sie starten 😉
Vorrausetzungen
1. Eine lauffähige Domäne (Windows Server 2012 R2)
Siehe alten Blog sollte so ähnlich auch für Windows Server 2012 R2 sein
2. Windows Server 2012 R2 für die Root CA (Mitglied der Domain)
3. Windows Server 2012 R2 für die Sub CA (Mitglied der Domain)
4. Auf allen System ist die Windows Firewall deaktiviert
5. Erstellen Sie ein User „pkiadm“ in der Domäne und fügen diesen user den folgenden Gruppen hinzu „Domain Admins“ und „Enterprise Admins“
6. Windows Server 2012 R2 mit installiertem IIS zum testen. Für dieses System werden wir später ein SSL Zertifikat ausstellen.
Bevor wir anfangen, möchte ich drauf hinweisen, dass die Anleitung nicht für einen Produktivbetrieb genutzt werden sollte. Der Einsatz erfolgt auf eigene Gefahr, ich übernehme keine Haftung für Schäden!
Installation und Konfiguration der Root CA (Offline CA)
1. Melden Sie sich mit dem „pkiadm“ an die RootCA an.
2. Starten Sie den Server Manger und installieren Sie die Rolle
„Active Directory Certificate Services„
3. Fahren Sie mit „Next“ fort und bei dem Punkt Features selektieren Sie „nichts“
4. Unter dem Punkt „AD CS / Role Services“ selektieren Sie
„Certifications Authority“ und fahren mit „Next“ fort (siehe Screenshot)
5. Klicken Sie auf „Install“ um mit der Installation zu beginnen.
6. Klicken Sie auf „Close“ um die Installation fertigzustellen.
7. Starten Sie aus dem „Server Manager“ die „Post-deployment Configuration“ um die CA zu konfigurieren.
8. Achten Sie drauf, dass Sie unter Credentials „Domain\pkiadm“ eingegeben haben. Fahren Sie mit „Next“ fort.
9. Selektieren Sie „Certification Authhority“ und klicken auf „Next“
10. Da wir ja als erstes die Root CA installieren klicken Sie auf „Standalone CA“ und auf „Next“
11. Selektieren Sie „Root CA“ und klicken auf „Next“
12. Selektieren Sie „Create a new private key“ und fahren mit „Next“ fort
13. Selektieren Sie die nachfolgenden Optionen aus dem Screenshot. Sie sollten „SHA1“ nicht mehr benutzten, da Microsoft diese aus Sicherheitsaspekten in Zukunft nicht mehr unterstützen wird. Fahren Sie mit „Next“ fort
14. Fahren Sie mit „Next“ fort
15. Ich habe mich für eine Dauer von 20 Jahren entschieden. Hier steht es ihnen frei welche Dauer ihr Certificat für die Root CA haben soll
16. Die Pfade lassen ich wie gehabt stehen. Durchaus kann es Gründe geben diese abzuändern, aber in der LAB Installation geben wir uns mal mit dem Standart zufrieden und fahren mit „Next“ fort
17. Starten Sie die Konfiguration mit klick auf „Configure“
18. Die Konfiguration ist erfolgreich abgeschlossen.
19. Starten Sie die „Certification Authority“
20. Die CA sollte in der MMC ein „grünen Häckchen“ anzeigen.
21. Im nächsten Step konfigurieren wir CRL’s
Klicken Sie auf Properties (siehe Screenshot)
22. Wechseln Sie auf den Karteireite „Extensions“ und fügen Sie eine neue CRL hinzu http://subCA.medic-daniel.local/certdata/<CaName><CRLNameSuffix><DeltaCRLAllowed.crl>.crl
23. Geben Sie die URL ein.
Achten Sie darauf, dass Sie „SubCa.medic-daniel.local“ durch ihren Server FQDN ersetzten. Klicken Sie auf „Apply“
24. Die nachfolgende Meldung mit „Yes“ bestätigen
25. Selektieren Sie nun im selben Karteireiter die AIA Extention und fügen die URL via ADD hinzu
http://subCA.medic-daniel.local/certdata/<ServerDNSName><CaName><CertificateName>.crl
26. Setzten Sie das „Häckchen“ wie im Screenshot und bestätigen mit „Apply“ auch hier die nachfolgende Meldung mit „Yes“ bestätigen.
27. Nur publizieren wir die CRL.
Gehen Sie wie im Screenshot vor.
28. Bestätigen Sie mit „Ok“
29. Als nächste muss das Root Zertifikat exportiert werden, dieses muss später in der SubCA importiert werden. Starten Sie die MMC und öffnen das SnapIn „Certificates“ und verbinden sich mit dem Computer Store
30. Folgen Sie den Wizard und speichern das Zertifikat lokal ab. Denken Sie daran, dass es später benötigt wird. Folgende Sie den Screenshots
31. Die Root CA ist nun fertig installiert und konfiguriert.
Installation und Konfiguration der SubCA
32. Nun installieren wir das Root Zertifikat der RootCA auf die SubCA.
Verbinden Sie sich via RDP mit der SUB CA. Kopieren Sie sich das File auf die SubCA und klicken doppelt auf das exportierte Zertifikat der RootCA.
Klicken Sie auf „Install Certificate“ und folgende den Screenshots
33. Starten Sie den Server Manager und fügen die Rolle
„Active Directory Certificate Services„ hinzu. Fahren sie mit „Next“ fort
34. Selektieren Sie nichts bei den „Features“ und fahren mit „Next“ fort
35. Klicken Sie auf „Next“
36. Selektieren Sie die Optionen gemäß nachfolgendem Screenshot.
37. Bestätigen Sie die nachfolgenden Screenshots mit „Next“
38. Klicken Sie auf „Install“ um die CA zu installieren
39. Klicken Sie auf „Close“ um die CA Installation abzuschließen.
40. In nächsten Schritt geht es darum die CA zu konfigurieren.
Starten Sie aus dem „Server Manager“ die „Post-deployment Configuration“
um die CA zu konfigurieren.
41. Achten Sie darauf, dass Sie auch hier ihren PKI Administrator eintragen.
Fahren Sie mit „Next“ fort.
42. Folgen Sie den Screenshot und fahren mit „Next“ fort
43. Da wir nun die SubCA installieren wollen, selektieren Sie „Enterprise CA“ und fahren Sie gemäß den Screenshots fort.
44. Starten Sie das Konfigurieren der CA durch den Button „Configure“
45. Die CA ist nun konfiguriert, bestätigen Sie mit „Close“
46. Nun müssen wir für die SubCA die Zertifikatsanfordrung auf der RootCA bestätigen. Verbinden Sie sich via RDP mit der RootCA und betätigen Sie die Zertifikatsanfrage in der Console. (siehe Screenshot)
47. Nun muss das ausgestellte Zertifikat noch exportiert werden und in der SubCA importiert werden. Klicken Sie hierzu auf „Issued Certificates“ und selektieren dann das Zertifikat. Öffnen Sie das Zertifikat aus dem Kontextmenü mit „Open“
48. Klicken Sie auf dem Karteireiter „Details“ und dann auf „Copy to File“
49. Folgen Sie den Screenshots
50. Installieren Sie nun das exportierte Zertifikate auf der SubCA.
Verbinden Sie sich via RDP mit der SubCA und starten die
„Certification Authority Console“.
Klicken Sie auf „Install CA Certificate“ und geben den Pfad zum exportierten Zertifikat an.
51. Nach dem Installieren des Zertifikates starten Sie die SubCA
Bereitstellung von Zertifikaten via Templates
Die Root und die Sub CA sind nun installiert und konfiguriert. Als nächstes wollen wir für einen Web Server auf Basis des Internet Information Servers (IIS) ein Webserver Zertifikat (SSL) ausstellen. Hierzu sind einige Schritte notwendig die ich in den nachfolgende Schritten beschreiben werde. Bitte haben Sie Verständnis, dass hier eine ausführliche Anleitung den Rahmen sprengen würde.
1. Verbinden Sie sich via RDP mit der Sub CA und starten die „Certification Authority Console“
2. Klicken Sie mit einem „rechten“ Mausklick auf „Certificate Template“ und selektieren „Manage“ aus
3. Die „Certificate Template Console“ öffnet sich. Klicken Sie mit der „rechte“ Maustaste auf das Web Server Template und selektieren „Duplicate“ siehe Screenshot
4. Dem soeben dupliziertem Template vergeben wir nun einen Namen. In meinem Fall habe ich mich für „MyWebServerCerts“ entschieden. Hierzu klicken Sie auf den Karteireiter „General“ und tragen unter „Template Display Name“ den gewünschten Namen ein.
5. Wechseln Sie nun auf dem Karteireiter „Request Handling“ und aktivieren
„Allow private key to be exported“ diese ist zwar nicht zwingend notwendig, aber so hat man die Möglichkeit das Zertifikat später am Server zu exportieren und ggf. wieder auf einem andern Server zu importieren. Würde bei einem Hardwaretausch zutreffen! 😉
6. Wechseln Sie nun auf den Karteireiter „Security“ und geben dort an, welche User/Gruppe das WebServer Zertifikat beantragen darf. In meinem Fall gebe ich hier den User „ServerAdmin“ der auch lokaler Admin auf dem WebServer ist. Geben Sie die Berechtigungen wie im Screenshot an und bestätigen mit „Apply“ und schließen danach mit einem Klick auf „OK“ ab. Schließen Sie die „Certificate Template Console“
7. Das neue Template wurde nun angelegt, nun muss dieses aber noch über die „Certification Authority Console“ publiziert werden. Hierzu klicken Sie in der Console mit der „rechten“ Maustaste auf „Certificate Templates“ –> „New“ und selektieren dann „Certificate Template to Issue“
8. Selektieren Sie das Template in meinem Fall „MyWebServerCerts“ und klicken auf „OK“
Zertifikate im Internet Information Server IIS anfordern und einbinden
1. Für diese Beispiel sollte der Server Mitglied der Domäne sein.
Öffnen Sie den IIS Manager. Klicken Sie auf „Server Certificates“ siehe Screenshot
2. Klicken Sie nun in der „Action Pane“ auf „Create Certificate Request“
3. Tragen Sie unter „Common Name“ den finalen FQDN ein. Das ist der DNS Name unter dem ihr WebServer später erreichbar ist. Denken Sie daran, dass der DNS Name noch im DNS eingetragen werden muss. Folgend Sie den Screenshots
4. Geben Sie nun den Pfad an wo Ihr CSR Datei abgelegt werden soll.
Klicken Sie auf „Finish“
5. Öffnen Sie nun die CSR Datei mit Notepad und kopieren den Inhalt. Achten Sie darauf, dass Sie nur den Inhalt kopieren inklusive „— Begin …….. und ——-End“
6. Staren Sie nun auf dem Webserver den „Internet Explorer“ und geben die URL zu ihrer CA ein. In meinem Beispiel: http://subca.medic-daniel.local/certsrv
evtl. werden Sie hier nach Benutzername/Passwort gefragt, nutzen Sie hier den User der das Recht im Zertifikat Template erhalten hat. In meinem Fall ist das der ServerAdmin. Klicken Sie nun auf „Request a certificate“ und folgende den weitern Screenshots.
7. Kopieren Sie nun den Inhalt der CSR in das Feld „Base-64-encoded…..“ und selektieren Sie unter „Certificate Template“ das WebServer Template, welches Sie im Vorfeld bereits angelegt haben. Fahren Sie mit „Submit“ fort
8. Klicken Sie auf „Download certificate“ um das Zertifikat zu installieren. Folgen Sie den weitern Screenshots.
9. Sie sollten nun in der IIS Console das Zertifikat sehen
(ggf. mit F5 die Ansicht aktualisieren) siehe Screenshot
10. Per Default hört der Webserver auf „http (Port 80)“ und wir wollen diese ja nun auf „https (Port 443)“ umstellen. Diese geschieht über die „Bindings“.
Wechseln Sie in der Baumstruktur der IIS Console auf die „Default Web Site“ klicken Sie in der „Action Pane“ auf „Bindings“
11. Klicken Sie im nachfolgendem Dialog auf „Add“
12. Tätigen Sie die Einstellungen wie im nachfolgenden Screenshot.
12. Bestätigen Sie mit „Close“
13. Das Zertifikat ist nun eingebunden. Zum Testen starten Sie ein Webbrowser zum Beispiel vom Domain Controller und rufen die „IIS Wilkommens Seite“ auf. Dazu öffnen Sie den Internet Explorer und geben die URL ein.
In meinem Fall https://myurl.medic-daniel.local
Ich hoffe, ich konnte Ihnen einen kleinen Einblick geben. Sollten Sie Fragen haben, so scheuen Sie nicht, mich zu kontaktieren. Nutzen Sie hier die “Kommentar Funktion” des Blogs oder wenn es Ihnen lieber ist via E-Mail.
Weiter Blogs folgen in den nächsten Tagen. Ich würde mich sehr freuen, wenn Sie wieder vorbeischauen.
Hallo zusammen,
hat jemand Erfahrungen mit der Bereitstellung eines PKI-Failover-Clusters.
Die Synchronisation zwischen den beteiligten Sub-CAs funktioniert nicht.
Danke dun Grüße
Auf die CApolicy.inf hätte ich noch hingewiesen.
Vor allem LoadDefaultTemplates=0
In Deiner Testumgebung hast Du sonst viele Templates veröffentlicht die zwar genutzt werden aber die Du gar nicht benötigst. In Deinem Beispiel benötigst Du nur das Webserverzertifikatstemplate.
Es wäre aus Sicherheitssicht besser wenn die RootCA kein Domain member ist, sondern ein Laptop/VM die nie eine Netzwerkverbindung hat und in einem Safe liegt. So kann man einen Diebstahl des RootCA Zertifikates ausschliessen.
Hallo und Danke für deinen Beitrag.
Es gibt da unterschiedliche Ansätze. Es gibt Unternehmen, die legen sich die VM weg und andere lassen die Offline. Am sichersten die Safe Methode ☺
Herzlichen Dank für diesen tollen Artikel. Er hat mir den Einstieg in das Thema Zertifikate wirklich erleichtert.