Warum reicht ein SSL-Zertifikat allein nicht aus?
Die meisten Website-Betreiber installieren ein SSL-Zertifikat, zum Beispiel kostenlos über Let's Encrypt, und gehen davon aus, dass die Verbindung damit sicher ist. Das Zertifikat ist aber nur ein Teil der Gleichung.
Genauso wichtig ist, wie die verschlüsselte Verbindung aufgebaut wird: Welche TLS-Protokollversionen akzeptiert der Server? Welche Cipher Suites werden angeboten? Sind bekannte Schwachstellen wie Heartbleed oder POODLE gepatcht? Ein Server, der noch TLS 1.0 akzeptiert, ist angreifbar, selbst mit gültigem Zertifikat.
Was prüft ThreatPulse bei SSL/TLS?
Zertifikat-Prüfung
ThreatPulse prüft das SSL-Zertifikat auf Gültigkeit (nicht abgelaufen), das Ablaufdatum (Warnung bei unter 30 Tagen), den Aussteller (CA) und den Common Name (stimmt der Hostname?). Ein abgelaufenes oder falsch konfiguriertes Zertifikat führt dazu, dass Browser eine Sicherheitswarnung anzeigen.
TLS-Protokollversionen
ThreatPulse prüft, welche Protokollversionen dein Server anbietet:
- TLS 1.3: der aktuelle Standard, schnell und sicher
- TLS 1.2: noch akzeptabel, wenn die richtigen Cipher Suites konfiguriert sind
- TLS 1.0 und 1.1: seit 2020 offiziell veraltet (RFC 8996), werden als Warnung gemeldet
- SSLv2 und SSLv3: kritisch, seit Jahren gebrochen, müssen deaktiviert sein
Bekannte Schwachstellen
Mit testssl.sh prüft ThreatPulse auf eine Reihe bekannter SSL/TLS-Schwachstellen:
- Heartbleed: ermöglicht das Auslesen von Server-Speicher
- POODLE: Angriff auf SSLv3
- BEAST: betrifft TLS 1.0 im CBC-Modus
- FREAK / DROWN: erzwingen schwache Export-Cipher bzw. nutzen SSLv2 aus
- SWEET32: Angriff auf 64-Bit-Blockchiffren
- Logjam: schwache Diffie-Hellman-Parameter
- ROBOT / Ticketbleed: RSA- und Session-Ticket-Schwachstellen
Falls testssl.sh auf dem Server nicht verfügbar ist, nutzt ThreatPulse einen Fallback über die Node.js TLS-Bibliothek für eine grundlegende Protokoll- und Zertifikatsprüfung.
Häufige SSL/TLS-Probleme
Kein HTTPS
Eine Website komplett ohne HTTPS ist das schwerwiegendste Finding. ThreatPulse zieht dafür 25 Punkte vom Sicherheits-Score ab. Ohne Verschlüsselung kann der gesamte Datenverkehr mitgelesen werden.
Veraltete TLS-Versionen aktiv
Viele Server bieten TLS 1.0 oder 1.1 noch an, obwohl alle modernen Browser diese Versionen seit 2020 nicht mehr unterstützen. Die Lösung: In der Server-Konfiguration (Apache oder Nginx) ausschließlich TLS 1.2 und 1.3 erlauben.
Abgelaufenes Zertifikat
Let's-Encrypt-Zertifikate sind 90 Tage gültig und werden normalerweise automatisch erneuert. Wenn die automatische Erneuerung fehlschlägt, zeigt der Browser eine Sicherheitswarnung, und Besucher verlassen die Seite sofort.
SSL/TLS optimal konfigurieren
Für die optimale Konfiguration empfiehlt sich der Mozilla SSL Configuration Generator, der Best-Practice-Konfigurationen für Apache, Nginx und andere Webserver generiert. Die wichtigsten Punkte: nur TLS 1.2 und 1.3 erlauben, starke Cipher Suites bevorzugen und HSTS aktivieren.