Installation und Einrichtung

Voraussetzungen

BetriebssystemWindows Server 2016 oder neuer, 64 Bit, Desktop oder Server Core. TLS 1.3 ab Server 2022, sonst TLS 1.2.
DomäneMitglied einer AD-Domäne (für „Mit Windows anmelden“; lokale Konten funktionieren auch ohne).
Ressourcen2 vCPU, 4 GB RAM, 1 GB freier Plattenplatz.
SoftwareKeine – certmon bringt die .NET-Laufzeit mit (self-contained).
RechteInstallation als lokaler Administrator.

Firewall-Matrix

RichtungVon → NachPortZweckPflicht
eingehendAdmin-Arbeitsplätze → certmon-ServerTCP 8443 (Parameter /PORT)Dashboard (HTTPS)ja – das Setup legt eine Regel für das Domänenprofil an
ausgehendcertmon-Server → api.polar.shTCP 443Lizenzaktivierung und -prüfung (etwa alle 30 Tage)nein – ohne Internet: Aktivierung per Lizenzdatei
ausgehendcertmon-Server → DomänencontrollerKerberos (88), LDAP (389)nur Windows-Anmeldung und Auflösung von Gruppennamennur bei Windows-Anmeldung
ausgehendcertmon-Server → Scan-Ziele (Netzwerk-Scan)die eingetragenen Ports (Standard 443, 8443, 4443, 9443, 10443, 5001, 8006, 636, 3269, 5986, 993, 995, 465, 3389)TLS-Handshake zum Lesen des Zertifikats; optional ein GET / für den Seitentitel; keine Anmeldungnur, wenn ein Netzwerk-Scan eingerichtet ist
ausgehendcertmon-Server → DomänencontrollerKerberos (88), LDAP (389, signiert und versiegelt)PKI-Überwachung: Konfigurationspartition lesen (Public Key Services)nur bei einer PKI-Quelle
ausgehendcertmon-Server → ZertifizierungsstellenRPC (TCP 135) + dynamische RPC-Portscertutil -ping und CA-Datenbank lesen (DCOM)nur bei einer PKI-Quelle
ausgehendcertmon-Server → CDP/AIA-WebserverTCP 80/443 (die URLs aus den Zertifikaten)Sperrlisten und CA-Zertifikate abrufen, Sperrprüfung der CA-Kettennur bei einer PKI-Quelle mit Netzwerkprüfung
ausgehendcertmon-Server → überwachte Windows-ServerTCP 5985 (WinRM, Kerberos-verschlüsselt) oder 5986 (WinRM über HTTPS)Lesen über den JEA-Endpunkt certmon.Readernur bei einer Server-Quelle
ausgehendcertmon-Server → überwachte Windows-Serverdie Ports der gebundenen Dienste (443, 3389, 5986, 636 …)TLS-Gegenprobe der Bindungen, LDAPS der Domänencontrollernur bei einer Server-Quelle mit TLS-Gegenprobe
ausgehendcertmon-Server → SMTP-ServerTCP 587 oder 25 (STARTTLS)E-Mail-Benachrichtigungennur mit SMTP-Kanal
ausgehendcertmon-Server → login.microsoftonline.com, graph.microsoft.comTCP 443E-Mail über Microsoft 365 (Graph)nur mit Microsoft-365-Kanal
ausgehendcertmon-Server → Teams-Workflow, Webhook-EmpfängerTCP 443 (HTTPS)Teams- und Webhook-Benachrichtigungennur mit dem jeweiligen Kanal
ausgehendcertmon-Server → Verzeichnisserver (DC, OpenLDAP, FreeIPA)TCP 636 (LDAPS) oder 389 (StartTLS)LDAP(S)-Anmeldungnur wenn aktiviert

certmon sendet keine Telemetrie. Weitere ausgehende Verbindungen gibt es nicht; neue Quellen (PKI, Windows-Server, Benachrichtigungen) ergänzen diese Tabelle, wenn sie dazukommen.

Dienstkonto

  • Standard: virtuelles Konto NT SERVICE\certmon. Im Netzwerk tritt der Dienst als Computerkonto auf. Nichts vorzubereiten.

  • Optional gMSA (empfohlen, sobald certmon auf andere Server zugreift):

    New-ADServiceAccount -Name gmsa-certmon -DNSHostName gmsa-certmon.corp.example -PrincipalsAllowedToRetrieveManagedPassword 'SRV-CERTMON$'
    # auf dem certmon-Server:
    Install-ADServiceAccount gmsa-certmon

    Das Konto braucht das Recht „Als Dienst anmelden“ (Gruppenrichtlinie oder lokale Sicherheitsrichtlinie) und – für „Mit Windows anmelden“ – die HTTP-SPNs des Servers: setspn -S HTTP/srv-certmon.corp.example CORP\gmsa-certmon$ und setspn -S HTTP/srv-certmon CORP\gmsa-certmon$. Installation mit /SERVICEACCOUNT="CORP\gmsa-certmon$".

Berechtigungsmodell

certmon braucht keine Domänen-Admin-Rechte, auch nicht indirekt. Übersicht, was das Dienstkonto (NT SERVICE\certmon greift im Netz als Computerkonto des certmon-Servers zu; alternativ ein gMSA) wo darf:

WoRechtWofürWie einrichten
Active DirectoryLesen (Standard für authentifizierte Benutzer)PKI-Objekte, Computerkonten, Gruppennichts zu tun
Jede Enterprise-CACA-Recht „Lesen“CA-Datenbank per DCOM (ausstehende/fehlgeschlagene Anforderungen, ablaufende Zertifikate)CA-Konsole > Sicherheit (siehe unten)
Überwachte Windows-ServerMitglied der Gruppe certmon-Reader → nur JEA-Endpunkt certmon.Reader (zwei lesende Funktionen)Zertifikatsspeicher, Bindungen, automatische Registrierungjea\Install-CertmonJea.ps1, siehe JEA-Endpunkt für Windows-Server
Netzwerkgerätekeine (nur TLS-Handshake ohne Anmeldung)Zertifikate von NAS, USV, Firewall …nichts zu tun
Microsoft 365 (optional)App-Registrierung mit Application Mail.Send, per RBAC auf ein Postfach beschränktE-Mail über GraphBenachrichtigungen
LDAP-Verzeichnis (optional)Suchkonto mit Leserecht (bei AD optional)LDAP(S)-AnmeldungEinstellungen > LDAP-Anmeldung
Sicherungsordner (optional)Schreibenautomatische SicherungFreigabe-/NTFS-Recht für das Computerkonto bzw. gMSA
certmon-Server lokalDatenordner C:\ProgramData\certmon nur SYSTEM, Administratoren, DienstkontoDatenbank, Secrets, Logsdas Setup

Im Dashboard: Betrachter sehen, Operatoren bestätigen, schalten stumm und starten Läufe, Administratoren ändern Quellen, Kanäle, Regeln und Schwellwerte, Systemadministratoren verwalten Benutzer, Gruppen, Anmeldung, Lizenz, Zertifikat und Sicherung. Alle Rollen werden serverseitig geprüft; jede Änderung steht im Audit-Log.

PKI-Überwachung vorbereiten

certmon liest die PKI nur. Es braucht dafür:

  1. Lesezugriff auf das AD – jedes Domänenkonto hat ihn; das virtuelle Dienstkonto nutzt im Netz das Computerkonto.
  2. Zertifizierungsstellen-Verwaltungstools auf dem certmon-Server, damit die CA-Datenbanken gelesen werden können (ablaufende ausgestellte Zertifikate, Anforderungen, Vorlagen): Install-WindowsFeature RSAT-ADCS-Mgmt. Das Setup weist darauf hin, wenn sie fehlen. Ohne sie laufen alle übrigen PKI-Prüfungen trotzdem (Befund ISSUED_DB_UNREADABLE).
  3. Das CA-Recht „Lesen“ für das Dienstkonto auf jeder Enterprise-CA: CA-Konsole > Eigenschaften der CA > Sicherheit > Computerkonto des certmon-Servers (bzw. gMSA) hinzufügen, nur „Lesen“ erlauben. Keine weiteren Rechte, kein Remoting auf die CA.

Danach unter Einstellungen > PKI (Active Directory) eine Quelle anlegen; ohne Angabe prüft certmon die Gesamtstruktur der Domäne des certmon-Servers. Offline-Stamm-CAs, auf deren Sperrliste kein Zertifikat im AD verweist, als zusätzliche Sperrlisten-URL eintragen.

Windows-Server-Überwachung vorbereiten

certmon liest Windows-Server nur über den JEA-Endpunkt certmon.Reader; Einrichtung, Rechte und Prüfung stehen in JEA-Endpunkt für Windows-Server. Kurz: AD-Gruppe (z. B. certmon-Reader) mit dem certmon-Dienstkonto anlegen, C:\Program Files\certmon\jea\Install-CertmonJea.ps1 -Account <Gruppe> auf jedem Server ausführen (z. B. per GPO), certmon-Dienst einmal neu starten, unter Einstellungen > Windows-Server eine Quelle anlegen. Der certmon-Server muss Domänenmitglied sein (Kerberos); es werden keine Passwörter gespeichert.

Proxy (optional)

Ausgehendes HTTPS – Microsoft 365 (Graph), Teams-Workflows, Webhooks, Lizenzprüfung und Downloads von Sperrlisten und Zertifikaten (CDP/AIA) – läuft auf Wunsch über einen Proxy: Einstellungen > Proxy (Systemadministratoren). Modi: System (Umgebungsvariablen HTTPS_PROXY/NO_PROXY; für einen Dienst meist direkt), direkt, oder ein eingetragener Proxy mit Ausnahmen (z. B. *.contoso.local) und Anmeldung als Dienstkonto (Kerberos/NTLM) oder mit eigenem Konto (Passwort verschlüsselt). Änderungen gelten sofort; Verbindung testen prüft den Weg zu einer Adresse. SMTP, LDAP, WinRM und der Netzwerk-Scan nutzen nie einen Proxy. Die Kettenprüfung von Windows holt Sperrlisten über den WinHTTP-Proxy (netsh winhttp set proxy).

Benachrichtigungen einrichten

Kanäle (SMTP, Microsoft 365, Teams, Webhook), Regeln und Wartungsfenster unter Einstellungen > Benachrichtigungen; Anleitung mit App-Registrierung für Microsoft 365 und Teams-Workflow in Benachrichtigungen. Für Links in den Nachrichten die Dashboard-Adresse eintragen (z. B. https://certmon.contoso.local:8443).

LDAP(S)-Anmeldung (optional)

Für Clients außerhalb der Domäne unter Einstellungen > LDAP-Anmeldung (Systemadministratoren): Server wie im Zertifikat, LDAPS (636) oder StartTLS (389) – unverschlüsselt ist nicht möglich; das Serverzertifikat muss dem certmon-Server vertraut sein. Active Directory: Rollen über dieselben Gruppenzuordnungen wie die Windows-Anmeldung (SIDs, verschachtelte Gruppen zählen); ein Suchkonto ist optional. OpenLDAP/FreeIPA: Suchkonto nötig, Gruppen werden unter Einstellungen > Gruppen mit ihrem Distinguished Name zugeordnet. TOTP gilt für dieselben Rollen wie bei der Windows-Anmeldung. Mit Testanmeldung lässt sich ein Konto prüfen, ohne sich anzumelden.

Sicherung und Wiederherstellung

Einstellungen > Sicherung (Systemadministratoren): Download einer Sicherung nach erneuter Eingabe des TOTP-Codes, oder täglich automatisch in einen Ordner (lokal oder UNC; das Dienstkonto braucht Schreibrecht – bei NT SERVICE\certmon greift auf Freigaben das Computerkonto zu). Die Datei (.cmbackup) enthält Datenbank und Secrets, verschlüsselt mit dem Sicherungskennwort (Argon2id, AES-256-GCM); ohne Kennwort ist sie wertlos. Port und Dashboard-Zertifikat stehen in settings.json bzw. im Zertifikatsspeicher der Maschine und gehören nicht zur Sicherung.

Wiederherstellen (dieselbe oder eine neue Maschine, dort vorher certmon installieren), als Administrator:

Stop-Service certmon
& 'C:\Program Files\certmon\certmon.exe' --restore D:\Backup\certmon\certmon-20261001-020000.cmbackup
Start-Service certmon

certmon fragt nach dem Kennwort, bewahrt die bisherige Datenbank als certmon.db.before-restore-<Zeit> auf, verschlüsselt die Secrets mit dem DPAPI der Maschine neu und schreibt einen Audit-Eintrag (Ereignis 1304). Sicherungen einer neueren certmon-Version werden abgelehnt. Danach melden sich alle Benutzer neu an.

Installation mit Oberfläche

certmon-setup-<version>.exe starten (Setup mit Inno Setup, eine Datei für Deutsch und Englisch), Sprache und Zielordner wählen (Standard C:\Program Files\certmon). Das Setup

  1. kopiert das Programm, registriert den Dienst certmon (automatischer Start, verzögert; Neustart nach Fehlern) und die Ereignisquelle certmon,
  2. bereitet mit Administratorrechten den Datenordner C:\ProgramData\certmon vor (ACL: nur SYSTEM, Administratoren, Dienstkonto), erzeugt die Installations-Entropie für die Verschlüsselung und – falls kein Zertifikat angegeben ist – ein selbstsigniertes Dashboard-Zertifikat (RSA 3072, 2 Jahre, FQDN und Kurzname),
  3. legt die Firewall-Regel an (Domänenprofil) und startet den Dienst. Die letzte Seite nennt die Dashboard-Adresse und den Ort des Einmal-Tokens.

Schlägt Schritt 1–3 fehl, meldet das Setup den Schritt; die Dateien bleiben installiert (erneut ausführen genügt). Details stehen im Setup-Protokoll (/LOG) und im Ereignisprotokoll.

Stille Installation

certmon-setup-0.9.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /LOG="certmon-setup.log" /PORT=8443 /LANGUAGE=de
certmon-setup-0.9.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SERVICEACCOUNT="CORP\gmsa-certmon$" /CERTTHUMBPRINT=0123456789ABCDEF0123456789ABCDEF01234567
ParameterStandardBedeutung
/PORT=8443HTTPS-Port des Dashboards (auch Firewall-Regel)
/SERVICEACCOUNT=NT SERVICE\certmonDienstkonto; gMSA als DOMÄNE\name$ (ohne Passwort)
/CERTTHUMBPRINT=–Fingerabdruck eines Zertifikats in LocalMachine\My mit privatem Schlüssel; das Setup gibt dem Dienstkonto Lesezugriff auf den Schlüssel. Ohne Angabe: selbstsigniert (bzw. das bisher eingetragene Zertifikat)
/LANGUAGE=Sprache des Setupsde oder en – Ereignistexte und Standardsprache des Dashboards
/REMOVEDATA=1–nur beim Deinstallationsprogramm: löscht auch Daten und das selbstsignierte Zertifikat

Ohne Angabe übernimmt ein Update die Werte der vorherigen Installation. Exit-Codes: 0 = in Ordnung, 20 = Dateien installiert, aber Dienst/Provisionierung/Firewall fehlgeschlagen (Protokoll prüfen), andere Werte = Codes von Inno Setup (z. B. 2 abgebrochen, 5 Fehler bei der Vorbereitung).

Ersteinrichtung

  1. Als lokaler Administrator das Einmal-Token lesen (die Datei ist nur für Administratoren lesbar; das Ereignisprotokoll nennt nur den Pfad, Ereignis 1200): Get-Content C:\ProgramData\certmon\setup-token.txt
  2. https://<server>:8443/setup öffnen (das selbstsignierte Zertifikat löst eine Browserwarnung aus), Token, Benutzername und Passwort (mindestens 12 Zeichen) eingeben.
  3. Authenticator-App einrichten (QR-Code, Link oder Schlüssel), Code bestätigen.
  4. Wiederherstellungscodes sicher ablegen – sie werden nur einmal angezeigt.

Danach ist /setup dauerhaft gesperrt und die Token-Datei gelöscht. Der erste Benutzer ist Systemadministrator und Administrator. Solange die Einrichtung offen ist, erzeugt jeder Dienststart ein neues Token.

Windows-Anmeldung einrichten

  1. Unter Einstellungen → AD-Gruppenzuordnung Gruppen (z. B. CORP\PKI-Admins) Rollen zuordnen. Gespeichert wird die SID; Gruppen aus mehreren Domänen/Gesamtstrukturen sind möglich. Ohne Zuordnung weist certmon jeden Windows-Benutzer ab.
  2. Für Administrator und Systemadministrator verlangt certmon nach der Windows-Anmeldung zusätzlich einen TOTP-Code (einstellbar je Rolle), weil Kerberos kein MFA auslösen kann.
  3. Browser: Die Dashboard-Adresse muss in der Zone „Lokales Intranet“ stehen (Edge/Chrome: Richtlinie AuthServerAllowlist), sonst fragt der Browser nach Anmeldedaten.

Dashboard-Zertifikat tauschen

  1. Bei der eigenen CA ein Webserver-Zertifikat für den Server beantragen (SAN: FQDN und Kurzname), im Computerspeicher (LocalMachine\My) installieren.
  2. Als Administrator: "C:\Program Files\certmon\certmon.exe" --provision --certificate <Fingerabdruck> (gibt dem Dienstkonto Lesezugriff auf den Schlüssel und trägt das Zertifikat ein) – oder im Dashboard unter Einstellungen → Dashboard-Zertifikat auswählen, wenn der Schlüssel für den Dienst bereits lesbar ist.
  3. Dienst neu starten: Restart-Service certmon. Keine Neuinstallation nötig.

Update

Neues Setup ausführen (interaktiv oder still, ohne Parameter). Es beendet den Dienst, ersetzt die Programmdateien und startet ihn wieder; Port, Dienstkonto und Sprache bleiben. Daten bleiben erhalten; vor einer Datenbankänderung legt certmon automatisch certmon.db.bak-<version> an. Eine ältere Version über eine neuere zu installieren, verweigert das Setup.

Deinstallation

„Apps“ bzw. „Programme und Features“ → certmon deinstallieren, oder still: "C:\Program Files\certmon\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES. Entfernt werden Programm, Dienst, Ereignisquelle und Firewall-Regel. Daten bleiben in C:\ProgramData\certmon (für eine spätere Neuinstallation). Mit /REMOVEDATA=1 werden auch der Datenordner und das selbstsignierte Zertifikat entfernt. Der Trial-Anker in der Registry bleibt immer bestehen.

Dateien, Sicherung, Fehlersuche

PfadInhalt
`C:\Program Files\certmon`Programm, appsettings.json (Standardwerte), SBOM, THIRD-PARTY-NOTICES.txt
C:\ProgramData\certmon\certmon.dbDatenbank (Benutzer, Einstellungen, verschlüsselte Secrets, Audit-Log, Lizenz)
C:\ProgramData\certmon\entropy.binInstallations-Entropie für die Verschlüsselung – ohne diese Datei sind Secrets verloren
`C:\ProgramData\certmon\keys`Schlüssel für Sitzungs- und Formular-Cookies (DPAPI-geschützt)
C:\ProgramData\certmon\settings.jsonPort, Zertifikat, Log-Level, Sprache (keine Secrets)
`C:\ProgramData\certmon\logs`Logdateien, täglich rotierend, 30 Tage

Sicherung: den ganzen Ordner C:\ProgramData\certmon sichern (Dienst vorher stoppen oder VSS). Secrets sind per DPAPI an diesen Server gebunden; nach einer Wiederherstellung auf einem anderen Server müssen sie neu eingegeben werden.

Fehlersuche: Ereignisprotokoll (Quelle certmon, siehe Windows-Ereignisprotokoll), Logdateien, Get-Service certmon, Invoke-WebRequest https://<server>:8443/healthz (200 = in Ordnung, 503 = Datenbank nicht erreichbar). Zum Testen im Vordergrund (Dienst vorher stoppen, als Administrator): certmon.exe --console.

Weitere Dokumente

  • JEA-Endpunkt für Windows-Server

    Wie certmon Windows-Server nur lesend über einen eingeschränkten PowerShell-Endpunkt abfragt: Einrichtung, Rechte, Prüfung.

  • Benachrichtigungen

    Alarm-Logik, E-Mail per SMTP oder Microsoft 365, Microsoft Teams und Webhook mit HMAC-Signatur.

  • Befunde

    Alle Befund-Ids mit Bedeutung und Schwere: Netzwerk-Scan, PKI und Windows-Server.

  • Windows-Ereignisprotokoll

    Event-IDs der Quelle certmon für RMM- und SIEM-Systeme, mit Abfragebeispielen.