AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 653652
Accepted
Synchro
Synchro
Asked: 2014-12-20 01:43:54 +0800 CST2014-12-20 01:43:54 +0800 CST 2014-12-20 01:43:54 +0800 CST

邮件服务器的完美前向保密 (PFS)

  • 772

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 客户端一样。

security
  • 2 2 个回答
  • 1957 Views

2 个回答

  • Voted
  1. Best Answer
    Steffen Ullrich
    2014-12-27T07:26:15+08:002014-12-27T07:26:15+08:00

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

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

    至于服务器端通常使用的密码,您可以查看Quantifying the quality of TLS support,我根据 Alexa 分析了前 1M 站点对 SMTP 的 TLS 支持,这些站点大约有 600000 个启用 TLS 的邮件服务器. 根据我的测试,大约 33% 的服务器使用 ECDHE 密码和 52% 的 DHE 密码,因此 85% 使用前向保密。

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

    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
    
    • 4
  2. Deer Hunter
    2014-12-20T01:58:37+08:002014-12-20T01:58:37+08:00

    请查看由Security SE的一位高素质人员工作的公司编写的免费脚本: https ://labs.portcullis.co.uk/tools/ssl-cipher-suite-enum/

    ssl-cipher-suite-enum 确定了以下与 SSL 相关的常见安全问题: ...支持不支持前向保密的密钥交换算法 - 或者等效地,如果私有 SSL,则允许对嗅探到的流量进行追溯解密的密码套件密钥被泄露。

    如果您想慢慢地手动完成,opensslportmanteau 工具集非常方便:

    来自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

    TLS_DHE_DSS_WITH_AES_128_CBC_SHA        DHE-DSS-AES128-SHA
    TLS_DHE_DSS_WITH_AES_256_CBC_SHA        DHE-DSS-AES256-SHA
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA        DHE-RSA-AES128-SHA
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA        DHE-RSA-AES256-SHA
    
    TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA  DHE-DSS-CAMELLIA128-SHA
    TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA  DHE-DSS-CAMELLIA256-SHA
    TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA  DHE-RSA-CAMELLIA128-SHA
    TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA  DHE-RSA-CAMELLIA256-SHA
    
    TLS_DHE_DSS_WITH_SEED_CBC_SHA          DHE-DSS-SEED-SHA
    TLS_DHE_RSA_WITH_SEED_CBC_SHA          DHE-RSA-SEED-SHA
    

    如果我们包括椭圆曲线密码,以下也实现了 PFS:

    TLS_ECDHE_RSA_WITH_NULL_SHA             ECDHE-RSA-NULL-SHA
    TLS_ECDHE_RSA_WITH_RC4_128_SHA          ECDHE-RSA-RC4-SHA
    TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA     ECDHE-RSA-DES-CBC3-SHA
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA      ECDHE-RSA-AES128-SHA
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA      ECDHE-RSA-AES256-SHA
    
    TLS_ECDHE_ECDSA_WITH_NULL_SHA           ECDHE-ECDSA-NULL-SHA
    TLS_ECDHE_ECDSA_WITH_RC4_128_SHA        ECDHE-ECDSA-RC4-SHA
    TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA   ECDHE-ECDSA-DES-CBC3-SHA
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA    ECDHE-ECDSA-AES128-SHA
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA    ECDHE-ECDSA-AES256-SHA
    

    如果您还想包括 TLS 1.2(请注意,没有 TLS 1.1 特定的套件),那么您可以扩展列表以包括:

    TLS_DHE_RSA_WITH_AES_128_CBC_SHA256       DHE-RSA-AES128-SHA256
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA256       DHE-RSA-AES256-SHA256
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256       DHE-RSA-AES128-GCM-SHA256
    TLS_DHE_RSA_WITH_AES_256_GCM_SHA384       DHE-RSA-AES256-GCM-SHA384
    
    TLS_DHE_DSS_WITH_AES_128_CBC_SHA256       DHE-DSS-AES128-SHA256
    TLS_DHE_DSS_WITH_AES_256_CBC_SHA256       DHE-DSS-AES256-SHA256
    TLS_DHE_DSS_WITH_AES_128_GCM_SHA256       DHE-DSS-AES128-GCM-SHA256
    TLS_DHE_DSS_WITH_AES_256_GCM_SHA384       DHE-DSS-AES256-GCM-SHA384
    
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256     ECDHE-RSA-AES128-SHA256
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384     ECDHE-RSA-AES256-SHA384
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256     ECDHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384     ECDHE-RSA-AES256-GCM-SHA384
    
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256   ECDHE-ECDSA-AES128-SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384   ECDHE-ECDSA-AES256-SHA384
    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   ECDHE-ECDSA-AES128-GCM-SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384   ECDHE-ECDSA-AES256-GCM-SHA384
    
    TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-ECDSA-CAMELLIA128-SHA256
    TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-ECDSA-CAMELLIA256-SHA384
    
    TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   ECDHE-RSA-CAMELLIA128-SHA256
    TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   ECDHE-RSA-CAMELLIA256-SHA384
    
    • 3

相关问题

  • OpenSSH 漏洞 [重复]

  • 选择什么安全套件?

  • 安全地授予对 SQL 2005 复制监视器的访问权限以创建快照

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • 如何将安全组添加到正在运行的 EC2 实例?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve