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 -tls1
działa OK, bez żadnych błędów.
źródło
Odpowiedzi:
Ok problem został rozwiązany ... Dodałem to do konfiguracji:
O ile mi wiadomo, błąd był związany z SSLv23. Teraz wszystko działa zgodnie z oczekiwaniami.
źródło
fips = no
option = NO_SSLv3
aby wymusić wybranie jednego z wariantów TLS.SSL3_GET_RECORD:wrong version number
jest 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:
I tylko z TLS:
źródło
-no_ticket
do próby SSLv3. Wygląda na ten błąd OpenSSL .openssl version
?Musiałem ustawić
aby dezaktywować domyślną opcję NO_SSLv3. (Serwer łączący się nie obsługuje TLS)
źródło