Perfect Forward Secrecy是 SSL/TLS 通信的一项重要增强功能,即使攻击者拥有私钥,也有助于防止捕获的 SSL 流量被解密。在 Web 服务器中支持它很容易,但它也适用于任何其他 SSL 上下文,例如在用于 SMTP、POP3 和 IMAP 的邮件服务器中。
这最近(2014 年 9 月)在德国达到顶峰,那里的数据保护机构已经开始检查和罚款不支持其邮件服务器上的 PFS 的组织,以及 heartbleed 和 poodle 漏洞。Web 浏览器中的 PFS 支持有些不完整,尽管所有主要浏览器都支持它 - 但我正在寻找有关邮件服务器和客户端的 PFS 兼容性信息,理想情况下是SSL Labs的握手测试提供的信息,但适用于邮件服务器。
任何人都可以提供或指出邮件服务器 PFS 兼容性的良好来源吗?
澄清一下,我不是要询问特定的服务器,而是要查看跨各种不同服务器的此类测试的结果,例如,知道 Outlook 2003 不支持 ECDHE 或 Android 2 不允许大于 2048 位的 DH 参数(我不知道这些是否属实,它们只是示例)。这样做的好处是知道如果我选择禁用某些特定密码,它可能会影响哪些客户端,就像 SSL 实验室测试显示的 Web 客户端一样。
您不需要将自己限制为特定密码,而只需启用您可以接受的所有密码,并按照您喜欢的顺序。生成的密码将在客户端和服务器之间根据两个站点上支持的密码进行协商。不要限制自己不必要的。
至于服务器端通常使用的密码,您可以查看Quantifying the quality of TLS support,我根据 Alexa 分析了前 1M 站点对 SMTP 的 TLS 支持,这些站点大约有 600000 个启用 TLS 的邮件服务器. 根据我的测试,大约 33% 的服务器使用 ECDHE 密码和 52% 的 DHE 密码,因此 85% 使用前向保密。
有关所用密码的更多信息,您在研究中找不到这里是与 OpenSSL 1.0.1 的 DEFAULT 密码集一起使用时协商的密码的详细列表:
请查看由Security SE的一位高素质人员工作的公司编写的免费脚本: https ://labs.portcullis.co.uk/tools/ssl-cipher-suite-enum/
如果您想慢慢地手动完成,
openssl
portmanteau 工具集非常方便:来自https://community.quallys.com/thread/12193:
openssl s_client -starttls smtp -crlf -connect YOUR_SMTP_SERVER:25
如果您在密码套件中看到 DHE(Diffie-Hellmann Ephemeral),它就是 PFS。
来自Security SE 的这篇文章
TLS_DHE_DSS_WITH_DES_CBC_SHA DHE-DSS-CBC-SHA TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA DHE-DSS-DES-CBC3-SHA TLS_DHE_RSA_WITH_DES_CBC_SHA DHE-RSA-DES-CBC-SHA TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA DHE-RSA-DES-CBC3-SHA