邮件服务器的完美转发保密 (PFS)

Syn*_*hro 6 security email ssl email-server tls

Perfect Forward Secrecy是 SSL/TLS 通信的重要增强,即使攻击者拥有私钥,也有助于防止捕获的 SSL 流量被解密。在 Web 服务器中支持它很容易,但它也适用于任何其他 SSL 上下文,例如用于 SMTP、POP3 和 IMAP 的邮件服务器。

这最近(2014 年 9 月)在德国达到了顶峰,数据保护机构已经开始检查和罚款在其邮件服务器上不支持 PFS 的组织,以及 Heartbleed 和贵宾犬漏洞。Web 浏览器中的 PFS 支持有些参差不齐,尽管所有主要浏览器都支持它 - 但我正在寻找邮件服务器和客户端上的 PFS 兼容性信息,理想情况下类似于SSL Labs的握手测试提供的信息,但用于邮件服务器。

任何人都可以提供或指出邮件服务器 PFS 兼容性的良好来源吗?

澄清一下,我不是要询问特定的服务器,而是要查看在各种不同服务器上进行此类测试的结果,例如,了解 Outlook 2003 不支持 ECDHE 或 Android 会很有用2 不允许大于 2048 位的 DH 参数(我不知道这些是否属实,它们只是示例)。这样做的好处是知道如果我选择禁用某些特定的密码,它可能会影响哪些客户端,就像 SSL 实验室测试为 Web 客户端显示的那样。

Ste*_*ich 4

这样做的好处是知道如果我选择禁用某些特定密码,哪些客户端可能会受到影响,就像 SSL 实验室测试针对 Web 客户端显示的那样。

您不需要将自己限制为特定的密码,而只需启用您可接受的所有密码并按照您喜欢的顺序即可。然后,将根据两个站点上支持的密码在客户端和服务器之间协商生成的密码。不要不必要地限制自己。

至于服务器端通常使用的密码,您可以查看量化 TLS 支持的质量,其中我根据 Alexa 分析了前 100 万个站点对 SMTP 的 TLS 支持,这些站点大约有 600000 个启用了 TLS 的邮件服务器。根据我的测试,大约 33% 的服务器使用 ECDHE 密码,52% 使用 DHE 密码,因此 85% 使用前向保密。

有关所使用密码的更多信息,您在研究中找不到,这里是与 OpenSSL 1.0.1 的默认密码集一起使用时协商的密码的详细列表:

100.00%     600433 TOTAL
 29.53%     177285 DHE-RSA-AES256-GCM-SHA384
 21.20%     127304 ECDHE-RSA-AES128-GCM-SHA256
 20.62%     123804 DHE-RSA-AES256-SHA
  7.65%      45919 AES256-SHA
  6.40%      38404 ECDHE-RSA-AES256-GCM-SHA384
  4.42%      26558 AES256-GCM-SHA384
  4.36%      26189 ECDHE-RSA-AES256-SHA384
  1.76%      10586 AES128-SHA
  1.17%       7003 RC4-SHA
  0.93%       5577 DHE-RSA-AES256-SHA256
  0.90%       5389 ECDHE-RSA-AES256-SHA
  0.56%       3372 DHE-RSA-CAMELLIA256-SHA
  0.19%       1137 RC4-MD5
  0.08%        503 EDH-RSA-DES-CBC3-SHA
  0.08%        454 DES-CBC3-SHA
  0.07%        444 AES128-SHA256
  0.04%        235 DHE-RSA-AES128-GCM-SHA256
  0.01%         82 AES128-GCM-SHA256
  0.01%         59 AES256-SHA256
  0.01%         53 DHE-RSA-AES128-SHA
  0.00%         23 ECDHE-RSA-AES128-SHA
  0.00%         14 DHE-DSS-AES256-SHA
  0.00%         11 ECDHE-RSA-AES128-SHA256
  0.00%         10 ECDHE-RSA-RC4-SHA
  0.00%         10 ECDHE-RSA-DES-CBC3-SHA
  0.00%          4 DHE-DSS-AES256-GCM-SHA384
  0.00%          2 CAMELLIA256-SHA
  0.00%          1 DHE-RSA-SEED-SHA
  0.00%          1 AECDH-DES-CBC3-SHA
Run Code Online (Sandbox Code Playgroud)