SSL-Probleme in Perls LWP nach dem Upgrade von Debian Wheezy

1748
waldo22

Ich habe gerade ein Upgrade von Lenny auf Debian Wheezy (lange Geschichte) durchgeführt, und einige meiner Perl-Pakete haben das Upgrade aus irgendeinem Grund nicht durchgeführt, unter anderem Crypt :: SSLeay (libcrypt-ssleay-perl).

Ich konnte mit LWP keine Verbindung zu meinem Kreditkartenzahlungsgateway herstellen, bis ich libcrypt-ssleay-perl installiert habe, und jetzt "funktioniert" es, aber es dauert 15 bis 20 Sekunden, bis die SSL-Verbindung hergestellt wird in unbekanntem Zustand ":

SSL_connect: vor / Verbindungsinitialisierung
SSL_connect: unbekannter Status
(Warte 15-20 Sekunden ...) #Dieser Kommentar stammt von waldo22
SSL_connect: Fehler im unbekannten Status
SSL_connect: vor / Verbindungsinitialisierung
SSL_connect: SSLv3-
Schreibclient hallo Ein SSL_connect: SSLv3-Leseserver hallo Ein
SSL_connect: SSLv3 lesen Serverzertifikat A
SSL_connect: SSLv3 lesen Server A getan
SSLv3 Schreib Client - Schlüsselaustausch A: SSL_connect
SSL_connect: Chiffre spec SSLv3 Schreibänderung A
SSL_connect: SSLv3 Schreib ein fertiges
SSLv3 bündig Daten: SSL_connect
SSL_connect: SSLv3 fertigen A gelesen

Ich habe das Gefühl, dass dies etwas damit zu tun hat, dass LWP das Standardverhalten für Zertifizierungsstellen und die Serverzertifizierungsprüfung ändert:
https://stackoverflow.com/questions/74358/how-can-i-get-lwp-to-validate-ssl -Server-Zertifikate # 5329129
und möglicherweise:
https://stackoverflow.com/questions/5639803/aws-ses-certificate-verify-verfailed

Mein Perl-Modul verwendet Crypt :: SSLeay über LWP :: useragent .

Offensichtlich sind 15-20 Sekunden viel zu lange, um eine SSL-Verbindung herzustellen, aber ohne eine hilfreichere Fehlermeldung weiß ich nicht, was ich tun soll.

Hat jemand irgendwelche Vorschläge, wie man dies besser debuggen kann oder eine ausführlichere Ausgabe erhält?

Vielen Dank,

-Wir s

3

1 Antwort auf die Frage

1
waldo22

Wow, das war ein Idiot.

Es scheint ein Problem mit OpenSSL 1.0.1 zu geben, bei dem der Versuch, bei einigen Servern mit TLS1.1 (oder 1.2 ???) automatisch zu verhandeln (Bearbeiten: BigIP-Server, auf denen Firmware <10.2.4 ausgeführt wird), dazu führt, dass diese Server die Verbindung trennen und lehnen Sie die Anfrage ab. Sehen:

https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=665452

Ich versuche, eine Verbindung zum Kreditkarten-Gateway "Payflow Pro" von Paypal herzustellen, und Paypal war ursprünglich einer der Haupttäter auf der Liste.

Laut dem Bug-Ticket heißt es, es sei in 1.0.1b für Paypal "behoben", aber ich habe 1.0.1c-3 ausgeführt und habe immer noch das Problem. Ich weiß nicht, ob das bedeutet, dass es behoben ist, www.paypal.comaber nicht payflowpro.paypal.comoder was.

Ihr Feedback $ENV = 3an uns Abhilfe: Die Einstellung für die Erzwingung von SSL3 scheint das Problem zumindest für Crypt :: SSLeay zu beheben .

Vermutlich funktioniert das, weil es nicht versucht, TLS1.1 auszuhandeln, und nur SSL3 verwendet.

Beim Testen mit openssl s_client funktioniert es mit den Optionen -ssl3, -tls1und -no_tls1meiner Meinung nach muss es ein Verhandlungsproblem sein.

Jedenfalls ist das zumindest ein Workaround.

Das eigentliche Problem wird durch einen Fehler in der Firmware von F5-BigIP-Lastverteilern mit Firmware unter 10.2.4 verursacht. Dies führt dazu, dass TLS 1.1- oder 1.2-Verbindungen auf lange ClientHello-Anforderungen nicht ordnungsgemäß reagieren und daher hängen bleiben.

Die eigentliche Lösung besteht darin, die Firmware des BigIP Load Balancer auf> = 10.2.4 zu aktualisieren.

Natürlich hat Paypal / Payflow OpenSSL dafür verantwortlich gemacht ...

Sie können Ihre eigene Antwort akzeptieren. Dies sagt anderen Leuten, dass es richtig war und geholfen hat. simbabque vor 11 Jahren 0
Danke, angenommen. Ich wusste nicht, ob das koscher war. waldo22 vor 10 Jahren 0