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

42 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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:
```bash
/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)