Stunnel не будет работать с SSLv3 с некоторых хостов

9

ВНИМАНИЕ: SSLv3 устарел . Рассмотрите возможность его отключения .

Я пытаюсь настроить Stunnel на сервер как SSL-кеш. Все было гладко, и в основном все работает как задумано.

Тогда я столкнулся с ошибками в лог-файлах:

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

Не все клиенты вызывают это по какой-то странной причине. Подключение из CentOS по ссылкам - ошибка появляется (перепробовал несколько машин). Подключение из Ubuntu по ссылкам - без ошибок.

Пробовал использовать wget, и все гладко с TLSv1, но ошибка обнаруживается с SSLv3. В то же время, wget сообщает:

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

Невозможно установить соединение SSL.

Вот мой конфиг:

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

У кого-нибудь есть понимание того, что здесь происходит? Погуглил уже несколько часов, не могу понять.

Версия OpenSSL: OpenSSL 0.9.8e-fips-rhel5 01 июля 2008 г.

Версия Stunnel: 4.32

РЕДАКТИРОВАТЬ:

Вот вывод 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:

То же самое с -tls1работами ОК, без ошибок.

Сергей
источник

Ответы:

10

Хорошо, проблема была решена ... Я добавил это в конфигурацию:

sslVersion = all
options = NO_SSLv2

Насколько я понимаю, ошибка была связана с SSLv23. Теперь все работает как положено.

Сергей
источник
Мне также нужно было добавитьfips = no
Стив Таубер
Вы также можете добавить, option = NO_SSLv3чтобы выбрать один из вариантов TLS.
Тедфорд
6

SSL3_GET_RECORD:wrong version numberэто ключ. Похоже, что lynx в ваших системах CentOS не использует SSLv3.

Точное поведение будет легче проверить с помощью openssl s_client:

Проверьте, что происходит только с SSLv3:

openssl s_client -connect server:443 -ssl3

И только с TLS:

openssl s_client -connect server:443 -tls1
Шейн Мэдден
источник
Отредактировал пост, чтобы предоставить более подробную информацию
Сергей
Попробуйте добавить -no_ticketк попытке SSLv3. Похоже, это ошибка OpenSSL .
Шейн Мэдден
Хм, показывает неизвестный вариант
Сергей
@ Серж Это странно. Что вы получаете от openssl version?
Шейн Мэдден
0

Я должен был установить

options = -NO_SSLv3

деактивировать опцию по умолчанию NO_SSLv3. (Сервер, подключающийся к TLS, не выполняет)

Джонатан Николь
источник