Stunnel funktioniert von einigen Hosts nicht mit SSLv3

9

WARNUNG: SSLv3 ist veraltet . Betrachten Sie es ganz zu deaktivieren .

Ich versuche, Stunnel als SSL-Cache auf dem Server einzurichten. Alles war glatt und meistens funktioniert es wie geplant.

Dann bin ich auf Fehler in den Protokolldateien gestoßen:

 SSL_accept: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

Nicht alle Clients lösen dies aus irgendeinem seltsamen Grund aus. Verbindung von CentOS über Links herstellen - Fehler wird angezeigt (mehrere Computer ausprobiert). Verbindung von Ubuntu über Links herstellen - kein Fehler.

Versucht mit wget, und alles ist glatt mit TLSv1, aber Fehler zeigt sich mit SSLv3. Zur gleichen Zeit berichtet wget:

OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

SSL-Verbindung kann nicht hergestellt werden.

Hier ist meine Konfiguration:

pid = /etc/stunnel/stunnel.pid
debug = 3
output = /etc/stunnel/stunnel.log

socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1

verify=3    

; fixing "fingerprint does not match" error
fips=no

[https]
accept=12.34.56.78:443
connect=127.0.0.1:80
TIMEOUTclose=0
xforwardedfor=yes
CAfile = /path/to/ssl/example.com.cabundle
cert=/path/to/ssl/example.com.crt
key=/path/to/ssl/example.com.key

Hat jemand einen Einblick, was hier passiert? Ich habe jetzt mehrere Stunden gegoogelt und kann es nicht herausfinden.

OpenSSL-Version: OpenSSL 0.9.8e-fips-rhel5 01. Juli 2008.

Stunnel-Version: 4.32

BEARBEITEN:

Hier ist eine Ausgabe von openssl s_client -connect example.com:443 -ssl3

CONNECTED(00000004)
3897:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1086:SSL alert number 40
3897:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:530:

Gleiches gilt für -tls1OK ohne Fehler.

Sergey
quelle

Antworten:

10

Ok, das Problem wurde gelöst ... Ich habe dies zur Konfiguration hinzugefügt:

sslVersion = all
options = NO_SSLv2

Soweit ich weiß, war der Fehler auf SSLv23 zurückzuführen. Jetzt funktioniert alles wie erwartet.

Sergey
quelle
Ich musste auch hinzufügenfips = no
Steve Tauber
Sie können auch hinzufügen option = NO_SSLv3, um die Auswahl einer der TLS-Varianten zu erzwingen.
Tedford
6

SSL3_GET_RECORD:wrong version numberist der Schlüssel. Es scheint, dass Luchs auf Ihren CentOS-Systemen kein SSLv3 verwendet.

Es ist einfacher, das genaue Verhalten zu überprüfen mit openssl s_client:

Überprüfen Sie, was nur mit SSLv3 passiert:

openssl s_client -connect server:443 -ssl3

Und mit nur TLS:

openssl s_client -connect server:443 -tls1
Shane Madden
quelle
Bearbeitet den Beitrag, um weitere Details bereitzustellen
Sergey
Versuchen Sie -no_ticket, dem SSLv3-Versuch etwas hinzuzufügen . Sieht aus wie dieser OpenSSL-Fehler .
Shane Madden
Hmm, zeigt unbekannte Option
Sergey
@ Serge Das ist ... seltsam. Was bekommen Sie von openssl version?
Shane Madden
0

Ich musste setzen

options = -NO_SSLv3

um die jetzt Standardoption von NO_SSLv3 zu deaktivieren . (Der Server, zu dem eine Verbindung hergestellt wird, führt kein TLS aus.)

Jonathan Nicol
quelle