openssl s_client显示TLS在端口993,465上工作,但邮件客户端连接尝试超时

随着最近对POODLE的恐慌,我们开始改变每个人与TLS的连接,而不是SSL。

虽然这个过程对HTTPS来说很顺利,但似乎Dovecot&Postfix拒绝(或者说,连接尝试超时),邮件客户端尝试通过TLS进行连接—

但是,当我运行:

openssl s_client -connect {our IP}:465 -tls1_2 //也在993上工作

它返回:

 CONNECTED [...] New, TLSv1/SSLv3, Cipher is [...] Server public key is 4096 bit [...] SSL-Session: Protocol : TLSv1.2 [...] 

/etc/postfix/main.cf ,相关的行如下:

 smtpd_use_tls = yes [...] smtpd_tls_security_level = may smtpd_tls_auth_only = no smtp_tls_note_starttls_offer = yes smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom 

/etc/dovecot/${grep -l -R 'tls'} – 唯一相关的行是未注释的:

 ssl_cert = </etc/dovecot/dovecot.pem ssl_key = </etc/dovecot/private/dovecot.pem 

其中,在查看文件的其余部分后,我不确定SSL是如何与Dovecot合作的 – 但它已经 – !

我敢肯定,我只是有一个简单的误解,这是如何工作的,有一小部分信息,我很遗憾,这将完全解释为什么openssl s_client显示积极的结果,而没有别的可以通过TLS连接…

所以,我感谢你对此的见解 –

并非所有的应用程序都更新到TLS 1.2。 我的SMTP日志指示TLS 1.0和TLS 1.2之间的50/50分割。 这可能夸大了TLS 1.2的采用,因为我的内部服务使用TLS 1.2。

尝试使用-ssl3-tls1tls1_1以及-tls1_2运行testing。 现在只有-ssl3应该失败。 这应该使大多数现代客户连接。

我上周终止了服务器上的SSLV3 。 我运行Dovecot,Apache和Exim,所以我没有指示Postfix。 对于我所用的鸽子:

 ssl_protocols = !SSLv3 !SSLv2