Ich habe einen alten Debian-Server, der einmal täglich eine Webseite durch ein Perl-Skript holt. Seit gestern schlägt das Skript mit dem Fehler "500 SSL negotiation failed" fehl.LWP :: UserAgent und 500 SSL-Verhandlung fehlgeschlagen
use strict;
use LWP::UserAgent;
my $browserObj = LWP::UserAgent->new();
$response = $browserObj->get("https://www.domain.tld");
print $response->status_line . "\n" if(! $response->is_success);
Wie ich schon sagte, ist es ein alter Server alte Versionen von alles läuft:
- Perl: 5.8.8
- OpenSSL: 0.9.8c
- LWP: 5,805
- Crypt :: SSLeay: 0.57
Ich machte einen Schnappschuss des Servers, also konnte ich versuchen alle Arten von Lösungen und Rückkehr zum Snapshot, wenn es fehlschlägt. Was genau ich nach jedem Test gemacht habe, gehe zurück zum ursprünglichen Serverzustand.
Test 1: Das erste, was ich versuchte, war OpenSSL auf 1.0.2d zu aktualisieren. Das hat nicht geholfen, ich bekam immer noch den Fehler "SSL negotiation failed". Ich habe dann Crypt: SSLeay aktualisiert. Dadurch wurde SSL vollständig zerstört (der Server konnte keine Verbindung zu einem sicheren Server herstellen).
Test 2: Aktualisiert Crypt :: SSLeay ohne Aktualisierung von OpenSSL. Hat den Server dazu veranlasst, sich nicht mehr mit sicheren Servern zu verbinden.
Test 3: Aktualisierte OpenSSL zu 1.0.2d. Aktualisiert LWP. Machte keinen Unterschied. Immer noch "500 SSL-Verhandlung fehlgeschlagen"
Gibt es noch etwas, das ich versuchen könnte?
PS: Aus verschiedenen Gründen kann ich Debian nicht selbst aktualisieren.
Ich würde _guess_ Ihr Remote-Server nicht mehr unterstützt ältere Versionen von SSL. Es gibt eine Reihe älterer SSL-Versionen, die gefährlich unsicher sind. Daher beginnen Websites, sie abzulehnen. Z.B. etwas wie das: http://security.stackexchange.com/questions/71457/how-can-i-verify-that-sslv3-protocol-is-disabled – Sobrique
Ja, das war meine Vermutung auch. – Zippy1970
In diesem Fall bin ich nicht wirklich sicher, wie Sie es testen würden - verifizieren Sie mit wget vielleicht? – Sobrique