Thunderbird 更新后 Exim:“无法协商支持的密码套件”

Thunderbird 更新后 Exim:“无法协商支持的密码套件”

最近,我在 Kubuntu 14.04 系统上安装了更新后,新版本的雷鸟已安装,我无法再发送电子邮件. 提示:

发送消息失败。无法发送消息,因为在交易过程中与 SMTP 服务器 [..] 的连接丢失。请重试或联系您的网络管理员。

由于我是邮件服务器 (exim) 的管理员,因此我检查了日志。每次我尝试使用 thunberbird 发送电子邮件时,它都会显示:

来自 [...] 的连接发生 TLS 错误 (gnutls_handshake):无法协商支持的密码套件。

这很奇怪。怎么会突然发生这种情况?我在 Google 上搜索了这个问题,但日志中出现此消息的其他人的证书安装有问题(算法太新或类似情况)。但我没有对我的证书进行任何更改,而且从我的 Android 手机(具有相同的 TLS 设置)使用 K-9 Mail 发送邮件仍然没有问题。

我的服务器运行Debian 7.6进出口 4.80

(以防万一:我的证书是由 CACert 签名的)。

现在我降级了 thunderbird ( sudo apt-get install thunderbird=1:24.4.0+build1-0ubuntu1)。这有效,但当然不是永久的解决方案。

哪里出了问题?我该如何修复?

答案1

Firefox 和 Thunderbird 31 不再支持弱密码套件,因此您会收到此错误。

您需要根据此更新服务器的 SSL 配置Mozilla 维基文章

推荐的向后兼容密码套件字符串的引用:

  • 密码套件:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDH E-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK
  • 版本:SSLv3、TLSv1、TLSv1.1、TLSv1.2
  • RSA 密钥大小:2048
  • DH参数大小:1024
  • 椭圆曲线:secp256r1、secp384r1、secp521r1

您应该能够使用tls_require_ciphers指令指定密码。它应该接受上面的密码套件字符串。

答案2

正如你在这里读到的http://kb.mozillazine.org/Security.tls.version.*,设置为 2 或 3 的 ThunderbirdSecurity.tls.version.max将不会回退到较低的设置。

即使您按照tls_require_ciphers上述方法配置 Exim 4.80,它也不会首先提供 ECDHE(至少这是我在某处读到的,所以请谨慎相信)。也许这也是证书问题,使用不同的设置更新证书也可能会有所帮助。

因此,要使 Thunderbird 的行为与以前一样,请转到配置编辑器(首选项 -> 高级 -> 配置编辑器(按钮))并搜索,tls然后更改security.tls.version.max为 1,它应该可以再次工作。

答案3

我不知道问题出在哪里,但肯定与我的证书有关。我刚刚重新生成了证书,再次使用CACert 的 CSR 脚本据我所知,我所做的与上次生成证书时没有什么不同。但使用新证书后,一切又恢复正常。

相关内容