Wenn du ein Secure Sockets Layer (SSL)-Zertifikat auf deiner WordPress Webseite installierst, kann sie HTTPS verwenden, um sichere Verbindungen zu gewährleisten. Leider gibt es eine Vielzahl von Dingen, die beim Bestätigen eines gültigen SSL-Zertifikats und beim Herstellen einer Verbindung zwischen dem Server deiner Webseite und dem Browser eines Besuchers schief gehen können.

Wenn du auf die Fehlermeldung „SSL Handshake Failed“ gestoßen bist und verwirrt bist, was das bedeutet, bist du nicht allein. Es handelt sich um einen häufigen Fehler, der für sich allein genommen nicht viel aussagt. Obwohl dies eine frustrierende Erfahrung sein kann, ist die gute Nachricht, dass es einfache Schritte gibt, die du unternehmen kannst, um das Problem zu lösen.

In diesem Beitrag werden wir erklären, was der SSL Handshake Failed-Fehler ist und was ihn verursacht. Dann werden wir dir verschiedene Methoden anbieten, mit denen du ihn beheben kannst.

Lass uns anfangen!

Eine Einführung in den SSL Handshake

Bevor wir näher darauf eingehen, was einen TLS- oder SSL-Handshake-Fehler verursacht, ist es hilfreich zu verstehen, was der TLS/SSL-Handshake ist. Secure Sockets Layer (SSL) und Transport Layer Security (TLS) sind Protokolle, die zur Authentifizierung von Datentransfers zwischen Servern und externen Systemen wie z.B. Browsern verwendet werden.

SSL-Zertifikate werden benötigt, um deine Webseite über HTTPS zu sichern. Über den Unterschied zwischen TLS und SSL werden wir nicht allzu ausführlich sprechen, da es sich um einen geringfügigen Unterschied handelt. Die Begriffe werden oft austauschbar verwendet, daher werden wir der Einfachheit halber „SSL“ verwenden, um uns auf beide zu beziehen.

Damit ist ein SSL-Handshake der erste Schritt im Prozess des Aufbaus einer HTTPS-Verbindung. Um sich zu authentifizieren und die Verbindung herzustellen, müssen der Browser des Benutzers und der Server der Webseite eine Reihe von Prüfungen (den Handshake) durchlaufen, die die Parameter der HTTPS-Verbindung festlegen.

Zur Erklärung: Der Client (normalerweise der Browser) sendet eine Anfrage für eine sichere Verbindung an den Server. Nachdem die Anfrage gesendet wurde, sendet der Browser einen öffentlichen Schlüssel an deinen Computer und überprüft diesen Schlüssel anhand einer Liste von Zertifikaten. Der Computer generiert dann einen Schlüssel und verschlüsselt ihn mit dem öffentlichen Schlüssel, der vom Browser gesendet wird.

Um es kurz zu machen: Ohne den SSL-Handshake wird keine sichere Verbindung hergestellt. Dies kann ein erhebliches Sicherheitsrisiko darstellen. Außerdem sind viele bewegliche Teile an diesem Prozess beteiligt.

Das bedeutet, dass es viele verschiedene Möglichkeiten gibt, dass etwas schief geht und einen fehlgeschlagenen Handshake verursacht.

Verstehen, was den SSL Handshake Fehler verursacht

Ein SSL Handshake Fehler oder Error 525 bedeutet, dass der Server und der Browser keine sichere Verbindung herstellen konnten. Dies kann aus einer Vielzahl von Gründen passieren.

Im Allgemeinen bedeutet ein Fehler 525, dass der SSL-Handshake zwischen einer Domain, die Cloudflare verwendet, und dem ursprünglichen Webserver fehlgeschlagen ist:

Die Meldung Error 525 SSL-Handshake fehlgeschlagen in Google Chrome
Die Meldung Error 525 SSL-Handshake fehlgeschlagen in Google Chrome

Es ist jedoch auch wichtig zu verstehen, dass SSL-Fehler auf der Client- oder der Server-Seite auftreten können. Häufige Ursachen von SSL-Fehlern auf der Client-Seite sind

  • Das falsche Datum oder die falsche Uhrzeit auf dem Client-Gerät.
  • Ein Fehler in der Browserkonfiguration.
  • Eine Verbindung, die von einer dritten Partei abgefangen wird.

Einige serverseitige Ursachen sind unter anderem:

  • Eine Fehlanpassung der Cipher Suite.
  • Ein vom Client verwendetes Protokoll, das vom Server nicht unterstützt wird.
  • Ein Zertifikat, das unvollständig, ungültig oder abgelaufen ist.

Wenn der SSL-Handshake fehlschlägt, kann das Problem normalerweise auf einen Fehler in der Webseite oder dem Server und deren SSL-Konfigurationen zurückgeführt werden.

Wie man den SSL Handshake Failed Fehler behebt (5 Methoden)

Es gibt mehrere mögliche Ursachen hinter dem Fehler „SSL Handshake Failed“. Es gibt also keine einfache Antwort, wenn es darum geht, wie du ihn beheben solltest.

Glücklicherweise gibt es eine Handvoll Methoden, mit denen du anfangen kannst, potenzielle Probleme zu erforschen und eines nach dem anderen zu beheben. Schauen wir uns fünf Strategien an, mit denen du versuchen kannst, den SSL Handshake Failed-Fehler zu beheben.

1. Aktualisiere dein System Datum und Zeit

Fangen wir mit einer der unwahrscheinlicheren Ursachen an, die aber unglaublich einfach zu korrigieren ist, wenn es das Problem ist: die Uhrzeit deines Computers.

Wenn dein System das falsche Datum und die falsche Uhrzeit verwendet, kann das den SSL-Handshake unterbrechen. Wenn die Systemuhr von der tatsächlichen Zeit abweicht, z.B. wenn sie zu weit in die Zukunft gestellt ist, kann das die SSL-Zertifikatsprüfung stören.

Die Uhrzeit deines Computers könnte durch menschliches Versagen oder einfach durch einen Fehler in deinen Einstellungen falsch eingestellt worden sein. Was auch immer der Grund dafür sein mag, es ist eine gute Idee, deine Systemzeit zu überprüfen und sicherzustellen, dass deine Systemzeit korrekt ist, und sie zu aktualisieren, wenn sie es nicht ist.

Wenn deine Uhr die richtigen Informationen anzeigt, kann man natürlich davon ausgehen, dass dies nicht die Ursache für das Problem „SSL Handshake failed“ ist.

2. Prüfe, ob dein SSL-Zertifikat gültig ist

Ablaufdaten werden auf SSL-Zertifikate gesetzt, um sicherzustellen, dass ihre Validierungsinformationen korrekt bleiben. Im Allgemeinen beträgt die Gültigkeitsdauer dieser Zertifikate zwischen sechs Monaten und zwei Jahren.

Wenn ein SSL-Zertifikat widerrufen wurde oder abgelaufen ist, erkennt der Browser dies und kann den SSL-Handshake nicht abschließen. Wenn es mehr als ein Jahr oder so her ist, dass du ein SSL-Zertifikat auf deiner Webseite installiert hast, ist es vielleicht an der Zeit, es neu auszustellen.

Um den Status deines SSL-Zertifikats einzusehen, kannst du ein Tool zur Überprüfung von SSL-Zertifikaten verwenden, wie es von Qualys angeboten wird:

Das SSL Server Test Tool auf der Webseite von Qualys
Das SSL Server Test Tool auf der Webseite von Qualys

Dieses Tool ist sowohl zuverlässig als auch kostenlos zu benutzen. Du brauchst nur deinen Domainnamen in das Feld „Hostname“ einzugeben und dann auf „Senden“ zu klicken. Sobald der Checker die SSL-Konfiguration deiner Webseite analysiert hat, wird er dir einige Ergebnisse präsentieren:

Die Ergebnisseite des Qualys SSL-Checker-Tools
Die Ergebnisseite des Qualys SSL-Checker-Tools

Auf dieser Seite kannst du herausfinden, ob dein Zertifikat noch gültig ist und sehen, ob es aus irgendeinem Grund widerrufen wurde.

In jedem Fall sollte die Aktualisierung deines SSL-Zertifikats den Handshake-Fehler beheben (und ist für die Sicherheit deiner Webseite und deines WooCommerce-Shops unerlässlich).

3. Konfiguriere deinen Browser für die neueste SSL/TLS-Protokollunterstützung

Manchmal ist der beste Weg, die Ursache eines Problems zu ermitteln, der Prozess der Beseitigung. Wie wir bereits erwähnt haben, kann das Fehlschlagen des SSL-Handshakes oft auf eine Fehlkonfiguration des Browsers zurückzuführen sein.

Der schnellste Weg, um festzustellen, ob ein bestimmter Browser das Problem ist, ist der Versuch, zu einem anderen Browser zu wechseln. Dies kann zumindest helfen, das Problem einzugrenzen. Du kannst auch versuchen, alle Plugins zu deaktivieren und deinen Browser auf die Standardeinstellungen zurückzusetzen.

Ein weiteres potentielles Browser-bezogenes Problem ist ein Protokoll-Mismatch. Wenn der Server zum Beispiel nur TLS 1.2 unterstützt, der Browser aber nur für TLS 1.0 oder TLS 1.1 konfiguriert ist, gibt es kein gegenseitig unterstütztes Protokoll. Dies wird unweigerlich zu einem SSL-Handshake-Fehler führen.

Wie du überprüfen kannst, ob dieses Problem auftritt, hängt von dem von dir verwendeten Browser ab. Als Beispiel sehen wir uns an, wie der Prozess in Chrome funktioniert. Als erstes öffnest du deinen Browser und gehst zu Einstellungen > Erweitert. Dadurch wird eine Reihe von Menüoptionen erweitert.

Unter der Rubrik System klickst du auf Proxy-Einstellungen deines Computers öffnen:

Die Seite mit den Systemeinstellungen in Google Chrome
Die Seite mit den Systemeinstellungen in Google Chrome

Es öffnet sich ein neues Fenster. Wähle als nächstes die Registerkarte Erweitert. Unter dem Abschnitt Sicherheit, überprüfe, ob das Kästchen neben TLS 1.2 benutzen ausgewählt ist. Wenn nicht, markiere diese Option:

Die erweiterten Einstellungen der Interneteigenschaften in Windows
Die erweiterten Einstellungen der Interneteigenschaften in Windows

Es wird auch empfohlen, dass du die Kästchen für SSL 2.0 und SSL 3.0 deaktivierst.

Dasselbe gilt auch für TLS 1.0 und TLS 1.1, da diese auslaufen. Wenn du fertig bist, klicke auf die Schaltfläche OK und überprüfe, ob der Handshake-Fehler behoben wurde.

Beachte, dass, wenn du Apple Safari oder Mac OS verwendest, es keine Option zum Aktivieren oder Deaktivieren der SSL-Protokolle gibt. TLS 1.2 ist standardmäßig automatisch aktiviert. Wenn ihr Linux benutzt, könnt ihr die Red Hat-Anleitung zur TLS-Härtung nachlesen.

4. Überprüfe, ob dein Server richtig konfiguriert ist, um SNI zu unterstützen

Es ist auch möglich, dass das Fehlschlagen des SSL-Handshakes durch eine falsche SNI-Konfiguration (Server Name Indication) verursacht wurde. Die SNI ist das, was es einem Webserver ermöglicht, mehrere TLS-Zertifikate für eine IP-Adresse sicher zu hosten.

Jede Webseite auf einem Server hat ihr eigenes Zertifikat. Wenn der Server jedoch nicht SNI-fähig ist, kann das zu einem SSL-Handshake-Fehler führen, da der Server möglicherweise nicht weiß, welches Zertifikat er vorweisen muss.

Es gibt ein paar Möglichkeiten zu prüfen und zu sehen, ob eine Webseite SNI benötigt. Eine Möglichkeit ist der SSL-Servertest von Qualys, den wir im vorigen Abschnitt besprochen haben. Gib den Domainnamen deiner Webseite ein und klicke dann auf den Submit Button.

Suchen Sie auf der Ergebnisseite nach einer Meldung, die lautet: „Diese Webseite funktioniert nur in Browsern mit SNI-Unterstützung“:

Die zusammengefasste Ergebnisseite des Qualys SSL-Checker-Tools
Die zusammengefasste Ergebnisseite des Qualys SSL-Checker-Tools

Ein anderer Ansatz, um festzustellen, ob ein Server SNI benutzt, ist, die Servernamen in der ‚ClientHello‘-Meldung zu durchsuchen. Dies ist ein eher technischer Prozess, aber er kann eine Menge Informationen bieten.

Dazu gehört, den erweiterten Hallo-Header nach einem ’server_name‘-Feld zu durchsuchen, um zu sehen, ob die korrekten Zertifizierungen angezeigt werden.

Wenn du mit Werkzeugen wie dem OpenSSL-Toolkit und Wireshark vertraut bist, wirst du diese Methode vielleicht bevorzugen. Du kannst openssl s_client mit und ohne die Option -servername verwenden:

# without SNI
 $ openssl s_client -connect host:port 

 # use SNI
 $ openssl s_client -connect host:port -servername host

Wenn du zwei verschiedene Zertifikate mit dem gleichen Namen bekommst, bedeutet das, dass das SNI unterstützt wird und richtig konfiguriert ist.

Wenn jedoch die Ausgabe in den zurückgegebenen Zertifikaten unterschiedlich ist, oder der Aufruf ohne SNI keine SSL-Verbindung aufbauen kann, bedeutet es, dass SNI benötigt wird, aber nicht richtig konfiguriert ist. Um dieses Problem zu lösen, muss eventuell zu einer dedizierten IP-Adresse gewechselt werden.

5. Sorge dafür, dass die Cipher Suites zusammenpassen

Wenn du immer noch nicht in der Lage bist, die Ursache für das Fehlschlagen des SSL-Handshakes zu identifizieren, könnte es an einer Fehlanpassung der Cipher Suite liegen. Für den Fall, dass dir der Begriff ‚Cipher Suites‘ nicht geläufig ist, beziehen sich die ‚Cipher Suites‘ auf eine Reihe von Algorithmen, einschließlich solcher für den Schlüsselaustausch, Massenverschlüsselung und Nachrichten-Authentifizierungscode, die für die Sicherung von SSL- und TLS-Netzwerkverbindungen verwendet werden können.

Wenn die Cipher Suites, die ein Server benutzt, nicht das unterstützen oder mit dem übereinstimmen, was von Cloudflare benutzt wird, kann das zu einem „SSL Handshake Failed“-Fehler führen.

Wenn es darum geht, herauszufinden, ob es einen Cipher Suite-Fehler gibt, erweist sich der SSL Server Test von Qualys wieder einmal als nützliches Werkzeug.

Wenn du deine Domain eingibst und auf Absenden klickst, siehst du eine zusammenfassende Analyseseite. Du kannst die Verschlüsselungsinformationen unter der Sektion Cipher Suites finden:

Die Cipher Suites-Sektion in einem Qualys SSL-Bericht
Die Cipher Suites-Sektion in einem Qualys SSL-Bericht

Du kannst diese Seite benutzen, um herauszufinden, welche Chiffren und Protokolle der Server unterstützt. Du solltest nach allen Ausschau halten, die den Status ’schwach‘ anzeigen. Außerdem werden hier auch die spezifischen Algorithmen für die Chiffrier-Suites beschrieben.

Um dieses Problem zu beheben, kannst du die Ergebnisse mit dem vergleichen, was dein Browser unterstützt, indem du die Qualys SSL/TLS-Fähigkeiten deines Browser-Tools verwendest. Für ausführlichere Informationen und Anleitungen zu den Cipher Suites empfehlen wir auch einen Blick in den ComodoSSLStore-Leitfaden.

Zusammenfassung

Eines der verwirrendsten und dennoch häufigsten Probleme im Zusammenhang mit SSL ist der Fehler „SSL Handshake Failed“. Der Umgang mit diesem Fehler kann stressig sein, da er viele potenzielle Ursachen hat, darunter sowohl client- als auch serverseitige Probleme.

Es gibt jedoch einige zuverlässige Lösungen, mit denen du das Problem erkennen und beheben kannst. Hier sind fünf Möglichkeiten, wie du den SSL-Fehler „Handshake Failed“ beheben kannst:

  1. Aktualisiere dein Systemdatum und deine Systemzeit.
  2. Überprüfe, ob dein SSL-Zertifikat gültig ist (und stelle es gegebenenfalls neu aus).
  3. Konfiguriere deinen Browser so, dass er die neuesten TLS/SSL-Versionen unterstützt.
  4. Überprüfe, ob dein Server richtig konfiguriert ist, um SNI zu unterstützen.
  5. Stelle sicher, dass die Cipher Suites übereinstimmen.