Stunnel nie będzie działał z SSLv3 od niektórych hostów


9

OSTRZEŻENIE: SSLv3 jest przestarzały . Rozważ wyłączenie go całkowicie .

Próbuję skonfigurować Stunnel do serwera jako pamięć podręczną SSL. Wszystko było gładkie i przeważnie działa zgodnie z planem.

Potem napotkałem błędy w plikach dziennika:

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

Nie wszyscy klienci powodują to z jakiegoś dziwnego powodu. Łączenie z CentOS za pomocą łączy - pojawia się błąd (wypróbowano wiele komputerów). Łączenie z Ubuntu za pomocą łączy - bez błędów.

Próbowałem za pomocą wget i wszystko działa płynnie z TLSv1, ale błąd pojawia się z SSLv3. Jednocześnie raporty wget:

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

Nie można nawiązać połączenia SSL.

Oto moja konfiguracja:

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

Czy ktoś ma wgląd w to, co się tutaj dzieje? Google od wielu godzin, nie mogę tego rozgryźć.

Wersja OpenSSL: OpenSSL 0.9.8e-fips-rhel5 01 lipca 2008.

Wersja Stunnel: 4.32

EDYTOWAĆ:

Oto wynik działania 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:

To samo z -tls1działa OK, bez żadnych błędów.


Odpowiedzi:


10

Ok problem został rozwiązany ... Dodałem to do konfiguracji:

sslVersion = all
options = NO_SSLv2

O ile mi wiadomo, błąd był związany z SSLv23. Teraz wszystko działa zgodnie z oczekiwaniami.


Musiałem także dodaćfips = no
Steve Tauber,

Możesz także dodać, option = NO_SSLv3aby wymusić wybranie jednego z wariantów TLS.
Tedford,

6

SSL3_GET_RECORD:wrong version numberjest kluczem. Wygląda na to, że ryś w twoich systemach CentOS nie używa SSLv3.

Dokładniejsze zachowanie będzie łatwiejsze dzięki openssl s_client:

Sprawdź, co się stanie z samym SSLv3:

openssl s_client -connect server:443 -ssl3

I tylko z TLS:

openssl s_client -connect server:443 -tls1

Edytowałem post, aby podać więcej szczegółów
Sergey

Spróbuj dodać -no_ticketdo próby SSLv3. Wygląda na ten błąd OpenSSL .
Shane Madden,

Hmm, pokazuje nieznaną opcję
Siergiej

@ Serge To ... dziwne. Co otrzymasz od openssl version?
Shane Madden,

0

Musiałem ustawić

options = -NO_SSLv3

aby dezaktywować domyślną opcję NO_SSLv3. (Serwer łączący się nie obsługuje TLS)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.