From d92c3657f9e9507ba01691d2687a8faeb2f9a2f1 Mon Sep 17 00:00:00 2001 From: Ralf Kirchner Date: Sat, 26 Jul 2025 10:34:26 +0200 Subject: [PATCH] chore: Inital Code commit --- README.md | 124 ++++++++++++++ assets/image-20250723220013360.png | Bin 0 -> 120240 bytes assets/image-20250726093817364.png | Bin 0 -> 30291 bytes mailcert_check.sh | 188 ++++++++++++++++++++ template_mailcert_check.xml | 267 +++++++++++++++++++++++++++++ userparameters_mailcert_check.conf | 5 + 6 files changed, 584 insertions(+) create mode 100644 README.md create mode 100644 assets/image-20250723220013360.png create mode 100644 assets/image-20250726093817364.png create mode 100755 mailcert_check.sh create mode 100644 template_mailcert_check.xml create mode 100644 userparameters_mailcert_check.conf diff --git a/README.md b/README.md new file mode 100644 index 0000000..d02cae3 --- /dev/null +++ b/README.md @@ -0,0 +1,124 @@ +# 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 + + + +![image-20250723220013360](assets/image-20250723220013360.png) + + + +![image-20250726093817364](assets/image-20250726093817364.png) + + + +## 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. \ No newline at end of file diff --git a/assets/image-20250723220013360.png b/assets/image-20250723220013360.png new file mode 100644 index 0000000000000000000000000000000000000000..3616ef9a1998e9a2399034a291d21abb18fbf855 GIT binary patch literal 120240 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 HuNkRy+U49?gEI6;wQn9%h*uLF@_Z(GWm%`kg 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 literal 0 HcmV?d00001 diff --git a/mailcert_check.sh b/mailcert_check.sh new file mode 100755 index 0000000..2bb134b --- /dev/null +++ b/mailcert_check.sh @@ -0,0 +1,188 @@ +#!/usr/bin/env bash + +DEBUG="${DEBUG:-0}" # Setze DEBUG=1 für Debug-Ausgaben + +debug() { + if [[ "$DEBUG" == "1" ]]; then + echo "[DEBUG] $*" >&2 + fi +} + +# Standardwerte +timeout_sec=5 +err_code=-65535 +valid_codes=(0) + +print_usage() { + echo $err_code + if [ -t 1 ]; then + cat >&2 <<-EOT + + Verwendung: $(basename "$0") expire|valid|json host|ip [port[/starttls-proto]] [tls_sni_domain] [timeout] [tls_option[,selfsigned_allowed]] [extra_s_client_args ... ] + + Prüft SSL-Zertifikat auf Ablauf und Gültigkeit via OpenSSL. + + Parameter: + - port: Standard 443 + - starttls-proto: optional, z.B. smtp, ftp, ldap (z.B. 25/smtp) + - tls_sni_domain: Domain für TLS SNI, Standard: host + - timeout: max Wartezeit (Sek), Standard: $timeout_sec + - tls_option: tls1, tls1_2, tls_auto etc. + - selfsigned_allowed: erlaubt selbstsignierte Zertifikate + - extra_s_client_args: zusätzliche OpenSSL s_client Parameter + + Rückgabewerte: + * expire: + Anzahl verbleibender Tage (0 oder negativ bei abgelaufen) + $err_code bei Fehler + * valid: + 1 = gültig, 0 = ungültig, $err_code bei Fehler + * json: + JSON mit expire_days, valid, return_code, return_text + Oder JSON mit error_code und error_message bei Fehler + + Fehler werden auf der Konsole nur bei Terminalausgabe angezeigt. + +EOT + fi +} + +exit_with_error() { + local msg="$*" + if [[ "$mode" == "json" ]]; then + echo "{\"error_code\": $err_code, \"error_message\": \"$msg\"}" + else + echo $err_code + if [ -t 1 ]; then echo "Fehler: $msg" >&2; fi + fi + exit 0 +} + +output_and_exit() { + echo "$1" + exit 0 +} + +calculate_days_left() { + local expiry_str + expiry_str=$(printf "%s" "$openssl_output" \ + | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' \ + | openssl x509 -noout -dates 2>/dev/null \ + | grep '^notAfter=' | cut -d= -f2) + + debug "Ablaufdatum: $expiry_str" + [[ -z "$expiry_str" ]] && exit_with_error "Konnte Ablaufdatum nicht ermitteln" + + expiry_epoch=$($date_cmd -d "$expiry_str" +%s) || exit_with_error "Ungültiges Datum: $expiry_str" + now_epoch=$($date_cmd +%s) + + debug "Epoch-Zeitpunkte: jetzt=$now_epoch, ablauf=$expiry_epoch" + + echo $(( (expiry_epoch - now_epoch) / 86400 )) +} + +# Standard date Befehl ermitteln (Linux oder macOS mit gdate) +date_cmd="date" +if date --version 2>&1 | grep -qi 'busybox'; then + exit_with_error "Busybox date wird nicht unterstützt" +fi + +# Prüfen auf benötigte Tools +for tool in timeout openssl $date_cmd; do + type "$tool" >/dev/null 2>&1 || exit_with_error "Benötigtes Programm nicht gefunden: $tool" +done + +# Eingabeparameter +mode="$1" +host="$2" +port_and_proto="${3:-443}" +tls_sni="${4:-$host}" +timeout="${5:-$timeout_sec}" +tls_opts="$6" +extra_args=("${@:7}") + +debug "Modus: $mode" +debug "Host: $host" +debug "Port/Proto: $port_and_proto" +debug "SNI: $tls_sni" +debug "Timeout: $timeout" +debug "TLS-Optionen: $tls_opts" +debug "Extra-Args: ${extra_args[*]}" + +# Port und optionales starttls-Protokoll extrahieren +IFS='/' read -r port proto <<< "$port_and_proto" +starttls_flag="" +starttls_proto="" +if [[ -n "$proto" && "$proto" != "tls" ]]; then + starttls_flag="-starttls" + starttls_proto="$proto" +fi + +# Parametervalidierung +[[ "$mode" =~ ^(expire|valid|json)$ ]] || exit_with_error "Ungültiger Modus: $mode" +[[ "$port" =~ ^[0-9]+$ ]] || exit_with_error "Port muss numerisch sein" +(( port >= 1 && port <= 65535 )) || exit_with_error "Port muss zwischen 1 und 65535 liegen" +[[ -z "$starttls_proto" || "$starttls_proto" =~ ^[a-z0-9]+$ ]] || exit_with_error "Ungültiges StartTLS-Protokoll" +[[ "$timeout" =~ ^[0-9]+$ ]] || exit_with_error "Timeout muss numerisch sein" + +# Unterstützung für IDN Domains (Punycode) +if type idn >/dev/null 2>&1; then + host=$(idn "$host" 2>/dev/null || echo "$host") + tls_sni=$(idn "$tls_sni" 2>/dev/null || echo "$tls_sni") +fi + +# TLS Optionen parsen +IFS=',' read -r -a tls_options_arr <<< "$tls_opts" +tls_flag="" +for opt in "${tls_options_arr[@]}"; do + if [[ "$opt" == "self_signed_ok" ]]; then + valid_codes+=(18 19 20 21) + elif [[ "$opt" == "tls_auto" ]]; then + : + elif [[ "$opt" == tls* || "$opt" == ssl* || "$opt" == dtls* ]]; then + tls_flag="-$opt" + fi +done + +# Zertifikat abfragen +debug "Aufruf: openssl s_client $starttls_flag $starttls_proto -connect $host:$port -servername $tls_sni -verify_hostname $tls_sni $tls_flag ${extra_args[*]}" + +openssl_output=$(timeout "$timeout" openssl s_client $starttls_flag $starttls_proto -connect "$host:$port" -servername "$tls_sni" -verify_hostname "$tls_sni" $tls_flag "${extra_args[@]}" 2>/dev/null <<<"") + +debug "OpenSSL-Ausgabe erhalten" +debug "$(echo "$openssl_output" | head -n 10)" + +# Prüfung, ob Ausgabe gültig ist +if ! grep -q '^ *Verify return code:' <<< "$openssl_output"; then + exit_with_error "Konnte Zertifikat nicht abrufen" +fi + +if [[ "$mode" == "expire" ]]; then + days_left=$(calculate_days_left) + output_and_exit "$days_left" +else + verify_line=$(grep '^ *Verify return code:' <<< "$openssl_output" | head -n1 | tr -s ' ') + verify_code=$(cut -d' ' -f4 <<< "$verify_line") + verify_text=$(sed -n 's/^ *Verify return code: [0-9]* (\(.*\))/\1/p' <<< "$verify_line") + + debug "Verify Code: $verify_code" + debug "Verify Text: $verify_text" + + valid=0 + for code in "${valid_codes[@]}"; do + if [[ "$code" == "$verify_code" ]]; then + valid=1 + break + fi + done + + if [[ "$mode" == "valid" ]]; then + output_and_exit "$valid" + elif [[ "$mode" == "json" ]]; then + days_left=$(calculate_days_left) + printf '{"expire_days": %d, "valid": %d, "return_code": %s, "return_text": "%s"}\n' \ + "$days_left" "$valid" "$verify_code" "$verify_text" + exit 0 + fi +fi + diff --git a/template_mailcert_check.xml b/template_mailcert_check.xml new file mode 100644 index 0000000..469c713 --- /dev/null +++ b/template_mailcert_check.xml @@ -0,0 +1,267 @@ + + + 6.4 + + + a571c0d144b14fd4a87a9d9b2aa9fcd6 + Templates/Applications + + + + + + + diff --git a/userparameters_mailcert_check.conf b/userparameters_mailcert_check.conf new file mode 100644 index 0000000..ba78a87 --- /dev/null +++ b/userparameters_mailcert_check.conf @@ -0,0 +1,5 @@ +# Parameters: +# [port[/starttls protocol]] [domain for TLS SNI] [check timeout] [tls version] [tls_version,[self_signed_ok]] +UserParameter=mailcert_check_valid[*], /usr/local/bin/mailcert_check.sh valid "$1" "$2" "$3" "$4" "$5" +UserParameter=mailcert_check_expire[*], /usr/local/bin/mailcert_check.sh expire "$1" "$2" "$3" "$4" "$5" +UserParameter=mailcert_check_json[*], /usr/local/bin/mailcert_check.sh json "$1" "$2" "$3" "$4" "$5"