SSL-Zertifikat abgelaufen: Was tun und wie Sie es künftig vermeiden
Ein abgelaufenes SSL/TLS-Zertifikat ist einer der häufigsten und vermeidbarsten Sicherheitsfehler im Web. Die Folge: Browser zeigen eine ganzseitige Warnung, Besucher kehren um, und Google stuft Ihre Seite herab. Dieser Leitfaden zeigt, wie Sie das Problem lösen und dauerhaft vermeiden.
Was passiert bei einem abgelaufenen Zertifikat?
Browser-Warnung
Alle modernen Browser zeigen eine Vollbild-Warnung:
- Chrome: „Ihre Verbindung ist nicht privat" (NET::ERR_CERT_DATE_INVALID)
- Firefox: „Warnung: Mögliches Sicherheitsrisiko"
- Safari: „Diese Verbindung ist nicht privat"
Die meisten Besucher klicken nicht auf „Erweitert → Trotzdem fortfahren". Typische Absprungrate: über 90%.
SEO-Auswirkungen
| Auswirkung | Details | |---|---| | Ranking-Verlust | Google bevorzugt HTTPS seit 2014 — ein ungültiges Zertifikat ist schlechter als kein HTTPS | | Crawling gestoppt | Googlebot kann Seiten mit Zertifikatsfehlern nicht crawlen | | Search Console Warnung | Google meldet das Problem innerhalb von Stunden | | Vertrauensverlust | Rich Results und Sitelinks können verschwinden |
Sicherheitsrisiken
- Man-in-the-Middle-Angriffe: Ohne gültiges Zertifikat ist die Verschlüsselung kompromittiert
- Cookie-Diebstahl: Ohne TLS können Session-Cookies abgefangen werden
- Compliance-Verstoß: DSGVO verlangt „geeignete technische Maßnahmen" — ein abgelaufenes Zertifikat ist ein dokumentierbarer Verstoß
Sofortmaßnahmen: Zertifikat erneuern
Let's Encrypt (kostenlos)
# Certbot: Manuelle Erneuerung
sudo certbot renew
# Prüfen, welche Zertifikate betroffen sind
sudo certbot certificates
# Einzelnes Zertifikat erneuern
sudo certbot renew --cert-name example.de
# Nginx/Apache neu laden
sudo systemctl reload nginx
# oder
sudo systemctl reload apache2
Kommerzielles Zertifikat
- Beim Zertifikatsanbieter (DigiCert, Sectigo, GlobalSign) erneuern
- CSR (Certificate Signing Request) erstellen:
openssl req -new -newkey rsa:2048 -nodes \
-keyout example.de.key -out example.de.csr
- CSR beim Anbieter einreichen
- Neues Zertifikat installieren
- Webserver neu laden
Überprüfung
# Zertifikat-Ablaufdatum prüfen
echo | openssl s_client -servername example.de -connect example.de:443 2>/dev/null | openssl x509 -noout -dates
# Erwartete Ausgabe:
# notBefore=Apr 7 00:00:00 2026 GMT
# notAfter=Jul 6 23:59:59 2026 GMT
Automatisierung: Nie wieder vergessen
Let's Encrypt mit Certbot (empfohlen)
Certbot richtet automatisch einen Cronjob oder Systemd-Timer ein:
# Prüfen, ob automatische Erneuerung aktiv ist
sudo systemctl status certbot.timer
# Manueller Test der automatischen Erneuerung
sudo certbot renew --dry-run
Let's Encrypt-Zertifikate haben eine Gültigkeit von 90 Tagen. Certbot erneuert automatisch 30 Tage vor Ablauf.
Monitoring einrichten
Automatisierung allein reicht nicht — Sie brauchen Monitoring, um Fehler zu erkennen:
| Tool | Funktion | Kosten | |---|---|---| | UptimeRobot | SSL-Ablaufüberwachung, Alert per E-Mail | Kostenlos (Basic) | | WarDek | SSL-Check als Teil des Security-Scans | Kostenlos | | Keychest | Zertifikats-Dashboard für mehrere Domains | Freemium | | certbot renew --deploy-hook | Script nach erfolgreicher Erneuerung | Kostenlos |
Deploy-Hook-Beispiel
# /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh
#!/bin/bash
systemctl reload nginx
echo "$(date): Zertifikat erneuert und Nginx reloaded" >> /var/log/cert-renewal.log
Häufige Probleme und Lösungen
Problem 1: Certbot-Erneuerung schlägt fehl
| Ursache | Lösung |
|---|---|
| Port 80 blockiert (für HTTP-Challenge) | Port 80 in der Firewall öffnen oder DNS-Challenge verwenden |
| Webroot-Pfad geändert | --webroot-path anpassen |
| DNS zeigt auf falschen Server | DNS-Eintrag korrigieren |
| Rate-Limit erreicht | Let's Encrypt Rate Limits beachten (50 pro Woche) |
Problem 2: Mixed Content nach Erneuerung
Zertifikat gültig, aber Browser zeigt Warnungen:
Mixed Content: The page at 'https://example.de' was loaded over HTTPS,
but requested an insecure resource 'http://example.de/image.jpg'
Lösung: Alle internen Links auf HTTPS umstellen oder relative Pfade verwenden.
Problem 3: Zertifikatskette unvollständig
SSL_ERROR_UNKNOWN_CA_CERT
Lösung: Intermediate-Zertifikate mit installieren:
# Fullchain verwenden (enthält alle Zwischenzertifikate)
ssl_certificate /etc/letsencrypt/live/example.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.de/privkey.pem;
Zertifikatsarten im Vergleich
| Art | Validierung | Kosten | Anwendungsfall | |---|---|---|---| | DV (Domain Validated) | Nur Domain-Eigentum | Kostenlos (Let's Encrypt) | Die meisten Websites | | OV (Organization Validated) | + Organisation geprüft | Ab 50 EUR/Jahr | Unternehmenswebsites | | EV (Extended Validation) | + Intensive Prüfung | Ab 150 EUR/Jahr | Banken, E-Commerce (kein grüner Balken mehr) | | Wildcard | *.domain.de | Kostenlos (Let's Encrypt) | Mehrere Subdomains | | Multi-Domain (SAN) | Mehrere Domains | Ab 80 EUR/Jahr | Verschiedene Domains auf einem Server |
Empfehlung für KMU: Let's Encrypt DV-Zertifikate mit Wildcard decken 95% der Anwendungsfälle ab — kostenlos und automatisiert.
Best Practices
- Automatisierung ist Pflicht — Manuelle Erneuerung vergisst man garantiert
- Monitoring zusätzlich — Automatisierung kann fehlschlagen
- 30 Tage Vorlauf — Alert mindestens 30 Tage vor Ablauf
- Fullchain verwenden — Immer die komplette Zertifikatskette ausliefern
- TLS-Konfiguration härten — Nicht nur das Zertifikat, auch die Cipher-Suites prüfen
- Mehrere Domains? — Zentrales Zertifikats-Management einrichten
- Staging testen — Certbot
--dry-runvor der Produktivstellung
Checkliste: SSL/TLS-Audit
- ☐ Zertifikat gültig und nicht in den nächsten 30 Tagen ablaufend
- ☐ Automatische Erneuerung eingerichtet und getestet
- ☐ Monitoring mit Alert bei Ablauf
- ☐ Vollständige Zertifikatskette (kein „Intermediate fehlt")
- ☐ TLS 1.2 Minimum (1.0/1.1 deaktiviert)
- ☐ Starke Cipher-Suites
- ☐ HSTS-Header aktiv
- ☐ HTTP → HTTPS Redirect
- ☐ Kein Mixed Content
- ☐ OCSP Stapling aktiviert (Performance-Vorteil)
Fazit
Ein abgelaufenes SSL-Zertifikat ist ein vermeidbarer Fehler mit großer Wirkung — auf Sicherheit, SEO und Vertrauen. Mit Let's Encrypt und Certbot ist die Automatisierung kostenlos und in wenigen Minuten eingerichtet. Ergänzen Sie die Automatisierung mit Monitoring, damit Sie sofort informiert werden, wenn etwas schiefgeht.
Scannen Sie Ihre Website kostenlos mit WarDek — OWASP, NIS2, DSGVO, AI Act Compliance in einem Scan.