openssl / curl-Fehler: SSL23_GET_SERVER_HELLO: Interner tlsv1-Alarmfehler

9

Wir haben sehr seltsame Probleme beim Verbinden mit openssl oder curl mit einem unserer Server ab Ubuntu 14.04

Ausführen:

openssl s_client -connect ms.icometrix.com:443

gibt:

CONNECTED(00000003)
140557262718624:error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert
internal error:s23_clnt.c:770:

Ein ähnlicher Fehler bei der Ausführung:

curl https://ms.icometrix.com
curl: (35) error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert
internal error

Ausgabe der openssl-Version (auf Client / Server):

OpenSSL 1.0.1f 6 Jan 2014

Ausgabe von openssl von dpkg -l openssl:

1.0.1f-1ubuntu2

Das Lustige ist, dass das Problem beim Verbinden mit anderen Versionen von Openssl verschwindet:

  • Von einem Mac, OpenSSL 0.9.8zd 8. Januar 2015, alles in Ordnung
  • Von Centos, OpenSSL 1.0.1e-fips 11. Februar 2013, alles in Ordnung
  • Neueste stabile Version unter Ubuntu 14.04, OpenSSL 1.0.2d 9. Juli 2015, alles in Ordnung.

Auf der Serverseite sehen wir nichts Seltsames. Das Problem begann, als wir SSL3 auf unseren Computern deaktivierten.

Könnte es ein Problem mit dem Build im apt-get geben?

Wir testen auch andere Versionen, die von apt-cache showpkg vorgeschlagen wurden, aber das Problem bleibt ...

Cecemel
quelle
Es sieht so aus, als wären Sie von diesem Fehler betroffen : bugs.launchpad.net/ubuntu/+source/openssl/+bug/861137 . Einige Problemumgehungen werden erwähnt. Funktioniert das curl --sslv3 https://ms.icometrix.com?
Jos
Hallo, danke für die Antwort. Nein, das funktioniert nicht, weil wir ssl auf unseren Servern deaktiviert haben. Außerdem kümmern wir uns nicht um Curl oder OpenSSL. Das eigentliche Problem für uns ist, dass wir die Anforderungen von Python verwenden, das diese Version von OpenSL verwendet. Wenn Sie also irgendwelche Ideen haben, danke, dass Sie es wissen lassen. Ich werde weiter graben.
Cecemel

Antworten:

4

Dies scheint ein Problem mit der ECDH-Unterstützung zwischen Client und Server zu sein. Wenn Sie alle ECDH-Chiffren ausschließen, funktioniert dies:

openssl s_client -connect ms.icometrix.com:443 -cipher 'DEFAULT:!ECDH'

Ich vermute, dass der Server auf einigen der 25 vom Client angebotenen ECC-Kurven krächzt. Browser bieten nur wenige Kurven. OpenSSL 0.9.8 unterstützt noch keine ECC und RedHat / CentOS hat ECC in der Vergangenheit aus Patentgründen standardmäßig deaktiviert. Ich weiß nicht, warum OpenSSL 1.0.2 funktioniert, da ich keinen Zugriff auf diese Version habe.

Bitte beachten Sie, dass die Angabe der OpenSSL-Version normalerweise nicht ausreicht, da alle Distributionen ältere Versionen beibehalten, aber Sicherheitspatches hinzufügen. Überprüfen Sie stattdessen, mit dpkg -l opensslwelcher Version 1.0.1f-1ubuntu2.15 auf meinem System angezeigt wird.

Steffen Ullrich
quelle
Danke, es hat den Trick gemacht! Ich habe den Beitrag mit der Ausgabe von dpkg -l
cecemel