Files
Univention_Cert_check/README.md
T
2025-08-03 16:52:12 +02:00

1.7 KiB
Raw Blame History

Univention_Cert_check

UCS Zertifikatsüberwachung für Checkmk

Dieses Python-Skript überwacht SSL/TLS-Zertifikate, die in Univention Corporate Server (UCS) über die Let's Encrypt App verwaltet werden. Es prüft die Ablaufdaten der Zertifikate von Apache, Dovecot und Postfix und gibt Statusmeldungen im Checkmk Local Check Format aus.


1. Funktion des Skripts

Das Skript liest die Pfade der Zertifikate für Apache, Dovecot und Postfix aus den Univention Configuration Registry (UCR) Variablen aus, prüft die Ablaufdaten der Zertifikate mit openssl und gibt für jedes Zertifikat einen Status zurück:

  • OK (0): Zertifikat ist länger als 30 Tage gültig
  • WARNING (1): Zertifikat läuft in 3115 Tagen ab
  • CRITICAL (2): Zertifikat läuft in 15 oder weniger Tagen ab oder ist abgelaufen
  • UNKNOWN (3): Kein Zertifikatspfad gefunden oder Fehler

Details zu den Funktionen

  • get_expiry(cert_path)
    Liest mit openssl das Ablaufdatum eines Zertifikats aus und gibt ein datetime-Objekt zurück.

  • check_cert(name, path, warn_days=30, crit_days=15)
    Bewertet das Ablaufdatum und gibt eine Checkmk-konforme Statusmeldung mit Statuscode zurück.

  • main()
    Holt die Zertifikatspfad-Konfigurationen aus UCR, ruft check_cert für jeden Pfad auf, gibt Statusmeldungen aus und beendet das Skript mit dem höchsten Statuscode.


2. Beispiel-Test

Du kannst das Skript auf dem UCS-System direkt ausführen:

/usr/lib/check_mk_agent/local/cert_check.py


0 UCS_CERT_Apache - OK - Gültig für 45 Tage (bis 2025-09-17 12:00:00)
1 UCS_CERT_Dovecot - WARNING - Läuft in 10 Tagen ab (2025-08-13 12:00:00)
2 UCS_CERT_Postfix - CRITICAL - Läuft in 5 Tagen ab (2025-08-08 12:00:00)