Stunnel tidak akan bekerja dengan SSLv3 dari beberapa host

9

PERINGATAN: SSLv3 sudah usang . Pertimbangkan untuk menonaktifkannya sama sekali .

Saya mencoba mengatur Stunnel ke server sebagai cache SSL. Semuanya mulus, dan sebagian besar berfungsi seperti yang dirancang.

Kemudian saya menemukan kesalahan dalam file log:

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

Tidak semua klien memicu hal itu, untuk beberapa alasan aneh. Menghubungkan dari CentOS menggunakan tautan - kesalahan muncul (mencoba beberapa mesin). Menghubungkan dari Ubuntu menggunakan tautan - tidak ada kesalahan.

Sudah mencoba menggunakan wget, dan semuanya lancar dengan TLSv1, tetapi kesalahan muncul dengan SSLv3. Pada saat yang sama, wget melaporkan:

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

Tidak dapat membuat koneksi SSL.

Ini konfigurasi saya:

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

Adakah yang tahu apa yang terjadi di sini? Di-Google beberapa jam sekarang, tidak dapat menemukannya.

Versi OpenSSL: OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008.

Versi stunnel: 4.32

EDIT:

Berikut ini adalah output dari 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:

Sama dengan -tls1berfungsi OK, tanpa kesalahan.

Sergey
sumber
SSLv3 Patah
Lengkap

Jawaban:

10

Oke, masalah terpecahkan ... Saya menambahkan ini ke konfigurasi:

sslVersion = all
options = NO_SSLv2

Sejauh yang saya mengerti, kesalahan terkait dengan SSLv23. Sekarang semua berfungsi seperti yang diharapkan.

Sergey
sumber
Saya juga perlu menambahkanfips = no
Steve Tauber
Anda juga dapat menambahkan option = NO_SSLv3untuk memaksa salah satu varian TLS untuk dipilih.
Tedford
6

SSL3_GET_RECORD:wrong version numberadalah kuncinya. Tampaknya lynx pada sistem CentOS Anda tidak menggunakan SSLv3.

Akan lebih mudah untuk memeriksa perilaku yang tepat dengan openssl s_client:

Periksa apa yang terjadi hanya dengan SSLv3:

openssl s_client -connect server:443 -ssl3

Dan hanya dengan TLS:

openssl s_client -connect server:443 -tls1
Shane Madden
sumber
Mengedit pos untuk memberikan rincian lebih lanjut
Sergey
Coba tambahkan -no_ticketke upaya SSLv3. Sepertinya bug OpenSSL ini .
Shane Madden
Hmm, menunjukkan opsi yang tidak diketahui
Sergey
@Jadi Itu .. aneh. Apa yang Anda dapatkan dari openssl version?
Shane Madden
0

Saya harus mengatur

options = -NO_SSLv3

untuk menonaktifkan opsi sekarang standar NO_SSLv3. (Server yang terhubung ke tidak melakukan TLS)

Jonathan Nicol
sumber