Montag, 6. Mai 2013

Windows Zertifikatsserver (PKI) installieren

Möchte man einen Zertifikatsserver auf Windows 2008R2 Basis haben, um z.B weitere Server mit Zertifikaten auszustatten, so benötigt man zuallererst mal einen laufenden Windows 2008R2 Server (min. Enterprise Version), der in der Domäne ist.
Nun meldet man sich am Server als Administrator an und erstellt eine CAPolicy.inf Datei mit folgendem Inhalt, der eventuell angepasst werden muss.

[Version]
Siganture="$Windows NT$"

[certsrv_server]
renewalkeylength=2048
RenewalValidityPeriodUnits=100
RenewalValidityPeriod=years

CRLPeriod=days
CRLPeriodUnits=2
CRLDeltaPeriodUnits=12
CRLDeltaPeriod=hours

LoadDefaultTemplate=0


Die Datei CAPolicy.inf wird dann nach C:/Windows kopiert.
Nun öffnet man den Server Manager und klickt auf Rolle hinzufügen.
Nun muss man die Active Directory Zertifikat Dienste auswählen und auf Weiter klicken.
Im nächsten Dialog müssen und die Dienste Zertifizierungsstelle und Zertifizierungsstellen-Webregistrierung ausgewählt werden.
Als Setuptyp muss nun Unternehmen ausgewählt werden, und als Zertifizierungsstellentyp Stammzertifizierungsstelle.
Außerdem muss ein neuer Privater Schlüssel erstellt werden.
Bei allen weiteren Einstellungen kann die Voreinstellung übernommen werden.
Als allgemeiner Name für die Zertifizierungsstelle wird dann z.B Firmen CA eingetragen, alle weiteren Angaben können übernommen werden.
Bei der Gültigkeitsdauer der Zertifikate wurde in diesem Fall 100 Jahre eingeben. Denn so lange ist das Root Zertifikat gültig.
Nun werden die Rollen installiert was ein paar Minuten dauern kann.

Nach der Installation der Rollendienste, kann nun begonnen werden mit der Nachkonfiguration.
Dazu erstellen wir eine .CMD Datei mit folgendem Inhalt.

::Deklariere den Namenskontext Configuration.
certutil -setreg CA\DSConfigDN CN=Configuration,DC=Firma,DC=de

::Definiere die Sperrlistenveröffentlichungsintervalle.
certutil -setreg CA\CRLPeriodUnits 2
certutil -setreg CA\CRLPeriod "Days"
certutil -setreg CA\CRLDeltaPeriodUnits 12
certutil -setreg CA\CRLDeltaPeriod "Hours"

::Lege die Standard-CDP-URLs fest.
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://%%1/CertEnroll/%%3%%8%%9.crl"

::Lege Standard-AIA-URLs fest.
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://%%1/CertEnroll/%%1_%%3%%4.crt"

::Aktiviere alle Überwachungsereignisse für die Organisations-Stammzertifizierungsstelle.
certutil -setreg CA\AuditFilter 127

::Lege Gültigkeitsdauer für auszustellende Zertifikate fest.
certutil -setreg CA\ValidityPeriodUnits 20
certutil -setreg CA\ValidityPeriod "Years"

::Starte die Zertifikatsdienste neu.
net stop certsvc & net start certsvc
sleep 5
certutil -crl


Ist die Datei erstellt, so wird sie im Anschluss gleich ausgeführt, was nur wenige Sekunden dauert.
Somit ist die Zertifizierungsstelle eingerichtet und nimmt ihren Dienst auf.

Natürlich möchte man nach der Installation und Konfiguration auch prüfen ob alles einwandfrei funktioniert.
Dazu öffnen wir das Programm pkiview.msc
Dort sollte jetzt bei jedem Eintrag OK stehen, vorausgesetzt, dass alle Werte korrekt eingetragen wurden.
Nun kann man die Management Console (mmc.exe) aufrufen und alle Snapins der Zertifizierungsstelle hinzufügen.
Dort findet man dann auch das Snapin Zertifizierungsstelle, die wiederum mit einem grünen Haken versehen ist, falls alles einwandfrei funktioniert.