随着最近对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
, -tls1
和tls1_1
以及-tls1_2
运行testing。 现在只有-ssl3
应该失败。 这应该使大多数现代客户连接。
我上周终止了服务器上的SSLV3 。 我运行Dovecot,Apache和Exim,所以我没有指示Postfix。 对于我所用的鸽子:
ssl_protocols = !SSLv3 !SSLv2