与 Dovecot 的 IMAP TLS 连接失败

Fri*_*Kim 3 ssl dovecot thunderbird

原标题:IMAP 连接 Dovecot 仅从 Thunderbird 失败

我在端口 993 上设置了带有 SSL (TLS) 的 Dovecot。我可以连接 Outlook、PHP SMTP 和 Android Mail,但是 Thunderbird 无法连接。它说Configuration could not be verified - is the username or password wrong?。Dovecot 错误日志显示:

Jan 05 22:41:45 imap-login: Warning: SSL: where=0x10, ret=1: before/accept initialization [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL: where=0x2001, ret=1: before/accept initialization [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL alert: where=0x4008, ret=598: fatal unknown [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL: where=0x2002, ret=-1: SSLv3 read client hello C [1.2.3.4]
Jan 05 22:41:45 imap-login: Warning: SSL: where=0x2002, ret=-1: SSLv3 read client hello C [1.2.3.4]
Jan 05 22:41:45 imap-login: Info: Disconnected (no auth attempts in 0 secs): user=<>, rip=1.2.3.4, lip=4.5.6.7, TLS handshaking: SSL_accept() failed: error:140A1175:SSL routines:SSL_BYTES_TO_CIPHER_LIST:inappropriate fallback, session=<yDs4Z48DudCBhYne>
Run Code Online (Sandbox Code Playgroud)

我在 10-ssl.conf 中禁用了 SSLv2 和 SSLv3:

ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
Run Code Online (Sandbox Code Playgroud)

问题是什么?它在我尝试过的所有其他电子邮件客户端中都运行良好,这就是为什么这有点奇怪。

Mic*_*ton 7

我要做的第一件事就是更新客户端

这里发生的是尝试协议降级。也就是说,客户端正在尝试从 TLSv1 降级到 SSLv3,或者从任何更高版本的 TLS 降级到更低版本。(确切地说,日志中并不清楚,并且需要启用更详细的 OpenSSL 调试,但该特定细节并不真正相关。)

协议降级失败的原因是您的服务器启用了协议降级预防 (TLS_FALLBACK_SCSV),以缓解 POODLE 攻击。

因此,首先要检查的是确保客户端是最新的;这意味着至少 Thunderbird 及其支持库。

之后我会检查协议列表。我担心您没有明确指定 TLSv1、TLSv1.1 和 TLSv1.2。虽然这不应该有什么不同,因为这些应该默认启用,它可能会有所帮助。

ssl_protocols = TLSv1.2 TLSv1.1 TLSv1 !SSLv3 !SSLv2
Run Code Online (Sandbox Code Playgroud)

最后,极有可能您发现有人试图攻击您的连接,并且攻击被挫败。