Einleitung
Eine Zertifizierungsstelle oder auch CA (Certificate Authority) genannt, ist dafür verantwortlich die Identität von Benutzern, Computern und Organisationen zu bestätigen. Dabei kann sie digital signierte Zertifikate ausstellen und bürgt für die Identität. Zusätzlich kann die Zertifizierungsstelle auch Zertifikate verwalten, widerrufen und erneuern.
Mit der eigenen Zertifizierungsstelle können u.a. die folgenden Protokolle/Dienste abgesichert werden:
- LDAP
- RDP
- HTTP
- RADIUS
- EFS
- Exchange
Hinweise
- Bei der nachfolgenden Anleitung handelt es sich um eine One-Tier Hierarchie, sprich es wird nur eine Online-Stammzertifizierungsstelle installiert.
- Des weiteren sollten die Zertifikatdienste nicht auf einem Domain controller installiert werden.
- Für diese Anleitung wurde ein neuer virtueller Server erstellt mit dem Namen CA1.
Installation
Für die Installation der Zertifikatdienste wird ein Administrator-Konto benötigt, das Mitglied der Gruppe Organisations-Admins und der Gruppe Domänen-Admins ist. Besser wäre jedoch gleich einen separaten CA-Administrator zu erstellen und zu nutzen, so wie von Microsoft empfohlen – Role Separation.
Active Directory-Zertifikatdienste
Über den Server-Manager auf “Verwalten” und “Rollen und Features hinzufügen”
Wählen die Rolle Active Directory-Zertifikatdienste aus
und klicken auf Features hinzufügen.
Bei den Rollendiensten wählen wir nur die Zertifizierungsstelle aus
und können die Installation starten.
Nach Abschluss der Installation kann die Konfiguration direkt über das anklicken von “Active Directory-Zertifikatdienste… konfigurieren” gestartet werden.
Konfiguration
Für die Konfiguration wird als erstes ein Administrator-Konto benötigt. Hier sollte automatisch der aktuelle Benutzer ausgefüllt werden.
Als nächstes wird wieder nur die Zertifizierungsstelle ausgewählt.
Den Installationstyp “Unternehmenszertifizierungsstelle” anklicken
und “Stammzertifizierungsstelle” da dieser Server die oberste Instanz bildet.
Einen “Neuen privaten Schlüssel erstellen” auswählen und Weiter.
Ändern die Schlüssellänge auf 4096 und markieren SHA256.
Entweder den vorgeschlagenen Namen belassen oder einen eigenen vergeben. Den allgemeinen Namen erhält später auch das Zertifikat.
Die vorgegebene Gültigkeitsdauer übernehmen und das Ablaufdatum notieren, da das Zertifikat manuell erneuert werden muss.
Den Standard-Speicherort für die Datenbank übernehmen
und auf Konfigurieren klicken.
Damit ist die Konfiguration abgeschlossen und die Fenster können geschlossen werden.
Das neue Stammzertifikat sowie die Zertifizierungsstelle werden jetzt über das Active Directory veröffentlicht. Nach einem Update der Gruppenrichtlinie oder einem Neustart des Systems erhalten diese die neuen Informationen.
Zertifizierungsstelle aufrufen
Nach Abschluss der Installation kann nun das Tool “Zertifizierungsstelle” über den Server-Manager aufgerufen werden.
Alternativ auch über den folgenden Befehl:
certsrv.msc
Zertifikat exportieren
Damit andere Geräte (z.B. Firewall oder Smartphones etc.) später auch unseren selbst erstellten Zertifikaten vertrauen, benötigen diese auch das Stammzertifikat. Um das Stammzertifikat zu exportieren, muss zunächst der lokale Zertifikatspeicher auf dem Server geöffnet werden. Das erreicht man mit dem folgenden Befehl:
certlm.msc
Als nächstes klappen wir “Eigene Zertifikate” aus und klicken auf “Zertifikate”. Das gezeigte Zertifikat (Namen den wir vergeben haben) kann dann exportiert werden über:
Rechte Maustaste auf das Zertifikat -> Alle Aufgaben -> Exportieren…
Es startet der Zertifikatexport-Assistent.
Den privaten Schlüssel nicht exportieren.
DER-codiert oder für Android oder Linux Systeme die das Zertifikat auch erhalten sollen Base-64-codiert.
Speicherort und Namen festlegen.
Fertig.
Automatische Zertifikatregistrierung
Damit Geräte und Benutzer automatisch mit Hilfe der Zertifikatvorlagen eigene Zertifikate erstellen dürfen, wird jeweils eine Gruppenrichtlinie benötigt.
Computer Gruppenrichtlinie erstellen
Zunächst muss auf dem Domain Controller die Gruppenrichtlinienverwaltung gestartet werden. Das erfolgt über den Server-Manager -> Tools -> Gruppenrichtlinienverwaltung
Dann mit der rechten Maustaste auf Gruppenrichtlinienobjekte -> Neu
Einen Namen vergeben
und das erstellte Gruppenrichtlinienobjekt bearbeiten
Die Einstellungen befinden sich unter dem folgenden Pfad:
- Computerkonfiguration -> Richtlinien -> Windows-Einstellungen -> Sicherheitseinstellungen -> Richtlinien für öffentliche Schlüssel
Doppelklick auf Zertifikatdienstclient – Zertifikatregistrierungsrichtlinie
Das Konfigurationsmodell auf “Aktiviert” ändern und restlichen Einstellungen übernehmen
Doppelklick auf Zertifikatdienstclient – Automatische Registrierung
Aktivieren und beide Häkchen setzen
Damit sind alle Einstellungen gesetzt und die Gruppenrichtlinie kann mit den Computer und Server OUs verknüpft werden.
Benutzer Gruppenrichtlinie erstellen
Für Benutzer auch eine neue Gruppenrichtlinie erstellt
Einen Namen festlegen
und das erstellte Gruppenrichtlinienobjekt bearbeiten
Diesmal befinden sich die Einstellungen unter dem folgenden Pfad:
- Benutzerkonfiguration -> Richtlinien -> Windows-Einstellungen -> Sicherheitseinstellungen -> Richtlinien für öffentliche Schlüssel
“Zertifikatdienstclient – Zertifikatregistrierungsrichtlinie” und “Zertifikatdienstclient – Automatische Registrierung” können wie bei der Computer-Richtlinie konfiguriert werden.
Damit sind auch für die Benutzer alle Einstellungen gesetzt und die Gruppenrichtlinie kann mit den Benutzer OUs verknüpft werden.
Härtung des Systems
Im Anschluss sollte der Zertifizierungsserver noch einer “Härtung” unterzogen werden.
Hier eine kleine Auflistung von Maßnahmen:
- Nicht verwendete Zertifikatvorlagen entfernen
Sollten z.B. keine Benutzer- oder EFS-Zertifikate etc. genutzt werden, können diese entfernt werden.
- Microsoft Security Compliance Toolkit Gruppenrichtlinien
In meinem Fall habe ich die Richtlinien für Windows Server 2022 importiert und mit der Organisationseinheit “PKI” (in der sich der Server CA1 befindet) verknüpft.
Alle unnötigen versteckten Freigaben (ADMIN$, C$…) sollten deaktiviert sein.
- Unterstützung für die SMB 1.0/CIFS-Dateifreigabe deinstallieren (bis Windows Server 2016)
- Den lokalen Administrator und Gast-Benutzer umbenennen
Der neue Administrator Name muss dann auch bei der LAPS-GPO angegeben werden.
- Autoplay deaktivieren
Kann über eine Gruppenrichtlinie deaktiviert werden unter:
Computerkonfiguration -> Richtlinien -> Administrative Vorlagen -> Windows Komponenten -> Richtlinie für die automatische Wiedergabe
- Zwei-Faktor-Authentifizierung für den Administrator
- Zugriffe über die Windows Firewall auf das nötigste eingrenzen
- Nicht benötigte Dienste deaktivieren
- Keine weitere Software installieren (außer den Virenschutz)
- Remote Desktop Dienste deaktivieren
Weitere Informationen von Microsoft: Securing PKI