Zabbix Template – TLS-Zertifikatüberwachung für Mail- und Webdienste
Dieses Zabbix-Template ermöglicht eine umfassende Überwachung von TLS-Zertifikaten, die für Webserver (HTTPS) sowie E-Mail-Dienste wie SMTP und IMAP verwendet werden. Es überprüft automatisch die Gültigkeit der Zertifikate, erkennt abgelaufene oder ungültige Zertifikate und gibt rechtzeitig Warnungen aus, bevor ein Zertifikat abläuft.
Funktionen
Das Template bietet eine Vielzahl nützlicher Funktionen zur Zertifikatsüberwachung:
- Automatische Prüfung der TLS-Zertifikatsgültigkeit (gültig oder ungültig)
- Frühzeitige Benachrichtigung, wenn ein Zertifikat kurz vor dem Ablauf steht
- Unterstützung mehrerer Protokolle, darunter HTTPS, SMTP und IMAP
- Integration von Triggern für unterschiedliche Zustände, wie z. B. abgelaufene oder bald ablaufende Zertifikate
- Konfigurierbare Schwellenwerte und Parameter mithilfe von Makros auf Host-Ebene
- Unterstützung moderner TLS-Funktionen wie STARTTLS, Server Name Indication (SNI) und benutzerdefinierbarer Verbindungszeitüberschreitungen (Timeouts)
Aufbau und enthaltene Dateien
Das Paket besteht aus folgenden zentralen Komponenten:
templatemailcert_check.xml
: Das eigentliche Zabbix-Template, das über das Webinterface importiert wird.userparameters_mailcert_check.conf
: Konfigurationsdatei für den Zabbix-Agent, welche benutzerdefinierte Prüfbefehle bereitstellt.mailcert_check.sh
: Ein Bash-Skript, das die Zertifikatsinformationen abfragt und verarbeitet.
Installationsanleitung
Schritt 1: Skript installieren
Kopiere das Bash-Skript in ein geeignetes Verzeichnis auf dem Zielsystem und mache es ausführbar:
sudo cp mailcert_check.sh /usr/local/bin/
sudo chmod +x /usr/local/bin/mailcert_check.sh
Schritt 2: Zabbix-Agent konfigurieren
Die Datei mit den benutzerdefinierten Parametern muss in das Konfigurationsverzeichnis des Zabbix-Agenten kopiert werden. Anschließend ist ein Neustart des Agenten erforderlich:
sudo cp userparameters_mailcert_check.conf /etc/zabbix/zabbix_agentd.d/
sudo systemctl restart zabbix-agent
Schritt 3: Template in Zabbix importieren
- Melde dich im Zabbix-Frontend an.
- Navigiere zu Configuration → Templates.
- Klicke auf Import.
- Wähle die Datei
template_mailcert_check.xml
aus und lade sie hoch. - Bestätige den Import.
Schritt 4: Template einem Host zuweisen
- Öffne im Zabbix-Frontend den gewünschten Host.
- Gehe zum Reiter Templates.
- Füge das Template Template Mail Certificate Monitoring hinzu.
- Speichere die Änderungen.
Konfiguration über Makros
Auf Host-Ebene lassen sich mithilfe von Makros die zu überwachenden Ziele und Parameter definieren. Hier ein Beispiel für die SMTP-Zertifikatsüberwachung:
{$TLS_SMTP_DOMAIN} = mail.example.com
{$TLS_SMTP_PORT} = 587
{$TLS_SMTP_STARTTLS} = smtp
{$TLS_SMTP_SNI} = mail.example.com
{$TLS_SMTP_TIMEOUT} = 10
{$TLS_SMTP_UPDATEINTERVAL} = 3600
{$TLS_SMTP_EXPIRESWITHIN} = 14
Diese Makros ermöglichen eine flexible und gezielte Konfiguration pro Host.
Beispielhafte Darstellung in Zabbix
Nach erfolgreicher Einrichtung werden im Zabbix-Frontend automatisch Items und Trigger erstellt. Dazu zählen unter anderem:
- Einträge zur Restlaufzeit (in Tagen) eines Zertifikats
- Statusmeldungen zu ungültigen oder bald ablaufenden Zertifikaten
- Trigger, die bei Erreichen der definierten Schwellenwerte Warnungen auslösen
Manueller Test des Prüfskripts
Zur Überprüfung der Skriptfunktionalität kann ein manueller Aufruf wie folgt erfolgen:
/usr/local/bin/mailcert_check.sh expire mail.example.com 587/smtp mail.example.com 10
Dabei werden Domain, Port, Protokoll, SNI und Timeout übergeben.
Kompatibilität
- Unterstützt wird Zabbix ab Version 6.4
- Abhängigkeiten:
bash
,openssl
Lizenz
Dieses Projekt steht unter der MIT-Lizenz und kann frei verwendet, modifiziert und verteilt werden.