it-swarm.com.de

openssl / curl-Fehler: SSL23_GET_SERVER_HELLO: Interner Fehler mit tlsv1-Warnung

Es treten sehr merkwürdige Probleme bei der Verbindung mit openssl oder curl zu einem unserer Server ab Ubuntu 14.04 auf

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 beim Ausführen:

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, das Problem verschwindet beim Verbinden mit anderen Versionen von Openssl:

  • 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 Veröffentlichung auf 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 bestehen ...

8
cecemel

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

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 kein ECC und RedHat/CentOS hat aus Patentgründen das ECC 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 OpenSSL-Version in der Regel nicht ausreicht, da alle Distributionen ältere Versionen behalten, aber Sicherheitspatches hinzufügen. Überprüfen Sie stattdessen mit dpkg -l openssl, was 1.0.1f-1ubuntu2.15 auf meinem System ergibt.

4
Steffen Ullrich