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

任何人都对这里发生的事情有任何见解?Google已搜索了多个小时,无法解决。

OpenSSL版本:OpenSSL 0.9.8e-fips-rhel5 2008年7月1日。

漏斗版本: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作品好,没有任何错误。


Answers:


10

好的,问题已解决...我将此添加到配置中:

sslVersion = all
options = NO_SSLv2

据我了解,错误与SSLv23有关。现在所有工作都按预期进行。


我还需要添加fips = no
Steve Tauber,2014年

您还可以添加option = NO_SSLv3以强制选择TLS变体之一。
Tedford 2015年

6

SSL3_GET_RECORD:wrong version number是关键。您的CentOS系统上的lynx似乎没有使用SSLv3。

使用以下命令检查确切行为会更容易openssl s_client

检查仅SSLv3会发生什么:

openssl s_client -connect server:443 -ssl3

并且只有TLS:

openssl s_client -connect server:443 -tls1

编辑了帖子以提供更多详细信息
Sergey

尝试添加-no_ticket到SSLv3尝试中。看起来像这个OpenSSL错误
Shane Madden

嗯,显示未知选项
Sergey

@Serge那是..奇怪。你从那里得到openssl version什么?
Shane Madden

0

我必须设定

options = -NO_SSLv3

停用NO_SSLv3的默认选项。(连接的服务器不执行TLS)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.