Site icon Franky's Web

Server 2008/2012: Install PKI (Part 2)

In part 1 the root CA was installed, which is to be taken offline (i.e. shut down) later. But now we will first take care of the sub-CA that is to be integrated into Active Directory. This is the second part of the PKI installation.

Als Erstes wird das Zertifikat und die Sperrliste der Root-CA im Active Directory veröffentlicht. Am einfachsten ist das per CMD:

certutil –dspublish –f FWCA01_FrankysWeb-Root-CA.crt Rootca

certutil -dspublish -f FrankysWeb-Root-CA.crl

Nach einem Neustart des Servers oder „gpupdate /force“ sollte das Zertifikat der Root-CA in dem Speicher für Vertrauenswürdige Stammzertifizierungsstellen sichtbar sein

As with the root CA, the CAPolicy.inf is first stored in the Windows directory for the sub-CA. The CAPolicy has the following content

[Version]
Signature = "$Windows NT$"

[certsrv_server]
LoadDefaultTemplates = 0
RenewalKeyLength = 2048
RenewalValidityPeriodUnits = 5
RenewalValidityPeriod = years

Once the CAPolicy.inf is in the Windows directory, the Sub-CA can be installed:

Der Typ der CA ist diesmal „Unternehmen“ und nicht wie bei der Root-CA „Eigenständig“

Da es sich in diesem Fall um eine Sub-CA handelt muss „Untergeordnete Zertifizierungsstelle“ ausgewählt werden

The wizard should create a new private key

Here it is important which settings are selected, I use SHA256 and 4096-bit key length. This should last for a while.

Define the name of the SubCA:

And save the certificate request

Der Rest ist wieder „Weiter..Weiter..Fertigstellen“… Diese Warnung am Ende der Installation ist normal, da noch kein gültiges Zertifikat vorhanden ist:

Nachdem die Installation abgeschlossen ist, muss die Zertifikatsanforderung auf die Root-CA kopiert werden. Die Anforderung findet sich unter C:\, bei mir hat die Anforderung den Namen „DC1.frankysweb.local_FrankysWeb-Sub-CA.req“

The request can be submitted by right-clicking in the Root CA destructing authority console and selecting the request file.

Jetzt findet sich jetzt ein neuer Eintrag unter „Ausstehende Anforderungen“

Diese Anforderung kann genehmigt werden, indem unter „Alle Aufgaben“ auf „Ausstellen“ geklickt wird.

Unter „Ausgestellte Zertifikate“ findet sich jetzt das Zertifikat der Sub-CA. Mit einem Doppelklick kann es angezeigt werden.

Unter dem Reiter „Details“ lässt es sich in eine Datei kopieren (SubCA.cer). Die Datei kann nun auf die Sub-CA kopiert werden, sie wird später benötigt.

Now the SubCA is configured. This is again done with a batch file (Attention: Adjustments necessary, see below)

:: CA konfigurieren
:: www.frankysweb.de

:: siehe https://www.frankysweb.de/

:: Configuration Naming Context (Forestroot)
certutil -setreg CA\DSConfigDN "CN=Configuration,DC=frankysweb,DC=local"


::Maximale Zertifikatsgltigkeit auf 5 Jahre festlegen (Standard: 2 Jahre)

certutil -setreg CA\ValidityPeriodUnits 5
certutil -setreg CA\ValidityPeriod "years"


::Sperrlisten und Deltasperrlisten Veröffentlichungsintervalle konfigurieren
::Sperrliste: Alle 4 Tage
::Delta Sperrliste: Alle 12 Stunden

certutil -setreg CA\CRLPeriodUnits 3
certutil -setreg CA\CRLPeriod "days"
certutil -setreg CA\CRLDeltaPeriodUnits 12
certutil -setreg CA\CRLDeltaPeriod "hours"


::Pfade für die Sperrlisten konfigurieren
certutil -setreg CA\CRLPublicationURLs "65:%WINDIR%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n79:LDAP:///CN=%%7%%8,CN=%%2,CN=CDP,CN=Public Key Services,CN=Services,%%6%%10\n6:http://ca.frankysweb.de/cert/%%3%%8%%9.crl\n65:file://\\dc1.frankysweb.local\cadata$\%%3%%8%%9.crl"

:: Pfade für die AIA-Extension-URLs
certutil -setreg CA\CACertPublicationURLs "1:%WINDIR%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n3:LDAP:///CN=%%7,CN=AIA,CN=Public Key Services,CN=Services,%%6%%11\n2:http://ca.frankysweb.de/cert/%%1_%%3%%4.crt"

::Auditing aktivieren
certutil -setreg CA\AuditFilter 127

The following adjustments are necessary depending on the environment:

Line 7: Hier muss die Active Directory Konfigurationspartition angegeben werden. Meine AD-Domain heißt frankysweb.local. Daher ist es bei mir „CN=Configuration,DC=frankysweb,DC=local“. Der entsprechende Eintrag lässt sich per ADSI-Edit von einem Domain Controller ermitteln:

Line 27 and line 30: Wenn sichergestellt werden soll, dass die Sperrliste auch von externen Clients erreichbar sein soll (Wichtig bei Clients ohne Verbindung zum AD), muss am Ende der Zeile einen Webserver angeben, der aus dem Internet erreichbar ist. Wer nur AD-Mitglieder bedienen muss, kann das Ende der Zeile entfernen (Nicht die ganze Zeile, nur das ab „n2“). Ich empfehle allerdings eine gültige URL einzutragen, später dazu mehr.

As soon as the necessary adjustments have been made, the batch file can be executed.

Danach kann das Zertifikat der Sub-CA installiert werden. Dazu wird in der Zertifizierungsstellen MMC der Sub-CA mit einem Rechtsklick auf die CA und dann auf  „Alle Aufgaben“ –> „Zertifizierungsstellenzertifikat installieren“ geklickt. Dann wird das Zertifikat der SubCA (SubCA.cer) ausgewählt und installiert:

Once the certificate has been installed, the CA can be started.

Now we have a sub-CA. CAPolicy.inf has determined that no standard templates should be published. The list of certificate templates is therefore empty:

Somit werden keine Rechner automatisch Zertifikate beantragen und ausgestellt bekommen, es sei denn es wird eine entsprechende Vorlage erstellt. Benutzer können also nicht einfach die EFS-Verschlüsslung oder Bitlocker verwenden, außer wir erstellen eine entsprechende Zertifikatsvorlage und erlauben es den Benutzern. Mit dieser Art der Konfiguration einer PKI, erschlägt man viele Szenarien und behält die Kontrolle für was und welchen Zweck Zertifikate im Unternehmen verwendet werden. Denn nur wenn der Admin eine entsprechende Vorlage mit einem bestimmten Zweck, für eine bestimmte Benutzergruppe erstellt, kann das Zertifikat registriert und genutzt werden. In der „Weiter…Weiter…Fertigstellen“-Installation einer PKI kann jeder Benutzer Verschlüsselung benutzen, ohne entsprechende Key-Recovery Agents lassen sich verschlüsselte Daten aber nicht entschlüsseln, wenn zum Beispiel der Benutzer das Unternehmen verlässt oder der private Schlüssel verloren geht.

But we're not quite finished yet, because we still need to download the blacklists via http... (Part 3)

Exit mobile version