SSL-Monitoring geht über das Prüfen von Ablaufdaten hinaus. Eine vollständige Monitoring-Einrichtung überwacht: ablaufende Zertifikate, Konfigurationsänderungen, nicht autorisierte Zertifikatsausstellungen und Ausfallzeiten durch SSL-Fehler.
Mit Zertifikatsgültigkeiten, die bis 2029 auf 47 Tage sinken, wird proaktives Monitoring unverzichtbar — eine verpasste Erneuerung macht Ihre Website offline.
Was überwacht werden sollte
| Was | Warum | Wie oft |
|---|---|---|
| Zertifikats-Ablauf | Abgelaufenes Zertifikat = Website offline | Täglich |
| Zertifikatskette | Unvollständige Kette = einige Geräte scheitern | Wöchentlich |
| TLS-Version | Alte TLS-Versionen werden von Browsern deaktiviert | Monatlich |
| CT-Logs | Nicht autorisierte Zertifikate für Ihre Domain erkennen | Kontinuierlich |
| OCSP Stapling | Stapling-Fehler verschlechtert die Leistung | Wöchentlich |
| HSTS-Header | Fehlender HSTS = anfällig für Downgrade | Monatlich |
Kostenlose Monitoring-Optionen
1. Cron-Skript (selbst gehostet)
#!/bin/bash
# /usr/local/bin/ssl-monitor.sh
DOMAINS="example.com www.example.com api.example.com"
WARN_DAYS=30
ALERT_EMAIL="admin@example.com"
for domain in $DOMAINS; do
expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
if [ -z "$expiry" ]; then
echo "ERROR: Can't connect to $domain:443" | mail -s "SSL Monitor: $domain unreachable" $ALERT_EMAIL
continue
fi
expiry_epoch=$(date -d "$expiry" +%s 2>/dev/null)
now_epoch=$(date +%s)
days_left=$(( (expiry_epoch - now_epoch) / 86400 ))
if [ "$days_left" -lt "$WARN_DAYS" ]; then
echo "$domain certificate expires in $days_left days ($expiry)" | mail -s "SSL Expiry Warning: $domain" $ALERT_EMAIL
fi
done
# Zum Crontab hinzufügen — täglich um 9 Uhr ausführen
0 9 * * * /usr/local/bin/ssl-monitor.sh
2. UptimeRobot (SaaS — kostenlose Stufe)
- Registrieren Sie sich bei UptimeRobot
- Monitor hinzufügen → Typ: HTTPS
- Ihre Domain-URL eingeben
- SSL-Ablaufwarnung einstellen: 30 Tage vor Ablauf
- Benachrichtigungen konfigurieren: E-Mail, Slack, Webhook
UptimeRobot prüft alle 5 Minuten und warnt bei Ausfällen und Zertifikats-Ablauf.
3. Certificate-Transparency-Monitoring
Überwachen Sie CT-Logs auf nicht autorisierte Zertifikate, die für Ihre Domain ausgestellt wurden:
| Dienst | Wie | Kosten |
|---|---|---|
| Cert Spotter (SSLMate) | E-Mail-Benachrichtigungen bei neuen Zertifikaten | Kostenlose Stufe |
| crt.sh | Manuelle Suche | Kostenlos |
| Facebook CT Monitor | Facebooks Monitoring-Tool | Kostenlos |
Kostenpflichtige Monitoring-Tools
| Tool | Funktionen | Preis |
|---|---|---|
| Better Uptime | SSL + Uptime + Vorfälle | Kostenlose Stufe / ab 20 $/Monat |
| Datadog | Vollständiges Infrastruktur-Monitoring mit SSL-Prüfungen | ab 15 $/Host/Monat |
| Pingdom | SSL + Uptime + Performance | ab 10 $/Monat |
| StatusCake | SSL-Monitoring + Benachrichtigungen | Kostenlose Stufe / ab 20 $/Monat |
Vollständiges Monitoring-Konfigurationsbeispiel
Für eine Produktionswebsite kombinieren Sie mehrere Ebenen:
Ebene 1: Certbot Auto-Erneuerung (verhindert Ablauf)
Ebene 2: Cron-Skript (erkennt Erneuerungsfehler — tägliche E-Mail)
Ebene 3: UptimeRobot (erkennt SSL-Fehler — 5-Minuten-Prüfungen)
Ebene 4: CT-Monitoring (erkennt nicht autorisierte Zertifikate — kontinuierlich)
Dies gibt Ihnen Tiefenverteidigung — kein einzelner Ausfallpunkt.
Monitoring mit GetHTTPS
GetHTTPS enthält kein integriertes Monitoring (es ist ein Tool zur Zertifikatsausstellung). Aber Ihr Workflow sollte sein:
- Zertifikat ausstellen mit GetHTTPS
- Erneuerungserinnerungen einrichten — Kalendererinnerung an Tag 60 von 90
- SSL-Monitoring hinzufügen — Cron-Skript oder SaaS-Tool als Backup
- Certbot in Betracht ziehen für Auto-Erneuerung in der Produktion
Häufig gestellte Fragen
Was ist das Minimum an Monitoring, das ich haben sollte?
Mindestens: eine Kalendererinnerung für die Zertifikatserneuerung (Tag 60 von 90) UND eine automatisierte Prüfung (Cron-Skript oder UptimeRobot). Die Kalendererinnerung deckt normale Erneuerungen ab; die automatisierte Prüfung erkennt Fehler.
Wie überwache ich mehrere Domains?
Das obige Cron-Skript verarbeitet mehrere Domains in einer Schleife. SaaS-Tools wie UptimeRobot ermöglichen das Hinzufügen mehrerer Monitore — einen pro Domain.
Sollte ich auch Staging-/Entwicklungszertifikate überwachen?
Ja, wenn es sich um Let’s Encrypt-Zertifikate handelt, die ablaufen. Ein abgelaufenes Staging-Zertifikat blockiert QA und Entwicklung. Setzen Sie mindestens eine Kalendererinnerung.
Was ist mit der Überwachung der Zertifikatskette, nicht nur des Ablaufs?
Die SSL Labs API bietet automatisierte Kettenverifizierung. Für eine schnelle manuelle Prüfung:
echo | openssl s_client -connect example.com:443 2>/dev/null | grep "Verify return code"
Fügen Sie dies zu Ihrem Cron-Skript für Ketten-Monitoring hinzu.