README.md hinzugefügt

This commit is contained in:
2025-08-03 16:52:12 +02:00
parent 1f694c25fc
commit 656d2d66c9
+41
View File
@@ -0,0 +1,41 @@
# 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)