124 lines
4.1 KiB
Markdown
124 lines
4.1 KiB
Markdown
|
|
# 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:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
sudo cp userparameters_mailcert_check.conf /etc/zabbix/zabbix_agentd.d/
|
|||
|
|
sudo systemctl restart zabbix-agent
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Schritt 3: Template in Zabbix importieren
|
|||
|
|
|
|||
|
|
1. Melde dich im Zabbix-Frontend an.
|
|||
|
|
2. Navigiere zu **Configuration → Templates**.
|
|||
|
|
3. Klicke auf **Import**.
|
|||
|
|
4. Wähle die Datei `template_mailcert_check.xml` aus und lade sie hoch.
|
|||
|
|
5. Bestätige den Import.
|
|||
|
|
|
|||
|
|
### Schritt 4: Template einem Host zuweisen
|
|||
|
|
|
|||
|
|
1. Öffne im Zabbix-Frontend den gewünschten Host.
|
|||
|
|
2. Gehe zum Reiter **Templates**.
|
|||
|
|
3. Füge das Template **Template Mail Certificate Monitoring** hinzu.
|
|||
|
|
4. 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:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
{$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.
|