openssl/curl-Fehler: SSL23_GET_SERVER_HELLO:tlsv1-Alarm, interner Fehler

openssl/curl-Fehler: SSL23_GET_SERVER_HELLO:tlsv1-Alarm, interner Fehler

Wir haben sehr merkwürdige Probleme bei der Verbindung mit OpenSSL oder Curl zu einem unserer Server, von 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 verschwindet, wenn eine Verbindung mit anderen Versionen von Openssl hergestellt wird:

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

Auf der Serverseite sehen wir nichts Ungewöhnliches. Das Problem begann, als wir SSL3 auf unseren Maschinen deaktivierten.

Gibt es möglicherweise ein Problem mit dem Build im Apt-Get?

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

Antwort1

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

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

Ich vermute, dass der Server bei einigen der 25 vom Client angebotenen ECC-Kurven nicht mehr funktioniert. Browser bieten nur wenige Kurven. OpenSSL 0.9.8 unterstützt noch kein 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. Prüfen Sie stattdessen mit , dpkg -l opensslwas auf meinem System 1.0.1f-1ubuntu2.15 ergibt.

verwandte Informationen