原标题: Dovecot的IMAP连接只能从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>
我在10-ssl.conf中禁用了SSLv2和SSLv3:
ssl_protocols = !SSLv2 !SSLv3 ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
问题是什么? 它在我尝试过的所有其他电子邮件客户端中工作正常,这就是为什么这有点奇怪。
我会做的第一件事就是更新客户端 。
这里发生的是一个尝试的协议降级。 也就是说,客户端试图从TLSv1降级到SSLv3,或者从任何更高版本的TLS降级到更低版本。 (确切地说,从日志中不清楚,并且需要更详细的OpenSSLdebugging才能启用,但是这个特定的细节并不相关。)
协议降级失败的原因是您的服务器启用了协议降级防护(TLS_FALLBACK_SCSV),作为POODLE攻击的缓解。
所以,首先要检查的是确保客户端是最新的; 这意味着至less有Thunderbird及其支持库。
之后,我会检查协议列表。 我担心你没有明确指定TLSv1,TLSv1.1和TLSv1.2。 虽然这不应该有所作为,因为这些应该默认启用,这可能会有所帮助。
ssl_protocols = TLSv1.2 TLSv1.1 TLSv1 !SSLv3 !SSLv2
最后,你发现有人试图攻击你的连接,这种攻击是受挫的。