Stunnel non funzionerà con SSLv3 da alcuni host


9

ATTENZIONE: SSLv3 è obsoleto . Valuta di disabilitarlo del tutto .

Sto cercando di configurare Stunnel sul server come cache SSL. Tutto è andato liscio e per lo più funziona come previsto.

Quindi ho riscontrato errori nei file di registro:

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

Non tutti i client lo attivano, per qualche strana ragione. Connessione da CentOS tramite collegamenti: viene visualizzato l'errore (provato più macchine). Connessione da Ubuntu utilizzando i collegamenti - nessun errore.

Ho provato usando wget e tutto è liscio con TLSv1, ma l'errore si presenta con SSLv3. Allo stesso tempo, wget segnala:

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

Impossibile stabilire una connessione SSL.

Ecco la mia configurazione:

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

Qualcuno ha qualche idea su cosa sta succedendo qui? Googled per più ore ora, non riesco a capirlo.

Versione OpenSSL: OpenSSL 0.9.8e-fips-rhel5 01 lug 2008.

Versione Stunnel: 4.32

MODIFICARE:

Ecco un output di 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:

Lo stesso vale per -tls1OK, senza errori.


Risposte:


10

Ok, il problema è stato risolto ... Ho aggiunto questo alla configurazione:

sslVersion = all
options = NO_SSLv2

Per quanto ho capito, l'errore era legato a SSLv23. Ora funziona tutto come previsto.


Avevo anche bisogno di aggiungerefips = no
Steve Tauber,

È inoltre possibile aggiungere option = NO_SSLv3per forzare la selezione di una delle varianti TLS.
Tedford,

6

SSL3_GET_RECORD:wrong version numberè la chiave. Sembra che la lince sui sistemi CentOS non stia utilizzando SSLv3.

Sarà più facile controllare il comportamento esatto con openssl s_client:

Controlla cosa succede solo con SSLv3:

openssl s_client -connect server:443 -ssl3

E con solo TLS:

openssl s_client -connect server:443 -tls1

Ha modificato il post per fornire maggiori dettagli
Sergey,

Prova ad aggiungere -no_ticketal tentativo SSLv3. Sembra questo bug OpenSSL .
Shane Madden,

Hmm, mostra un'opzione sconosciuta
Sergey,

@Serge È .. strano. Da cosa ottieni openssl version?
Shane Madden,

0

Ho dovuto impostare

options = -NO_SSLv3

per disattivare l' opzione ora predefinita di NO_SSLv3. (Il server a cui si connette non esegue TLS)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.