用于 MTA 的 TLS 密码套件

信息安全 tls 密码选择
2021-08-29 14:01:51

在配置邮件网关的 TLS 设置时,是否应该坚持与运行 HTTPS 服务时相同的密码套件规则(首选 EDCHE/DHE、禁用 SSLv3、不使用 RC4 等东西),还是应该更多地关注与其他服务的兼容性MTA 以防止电子邮件在未加密的情况下发送?

在我看来,这是一种权衡。一方面,如果我只使用强密码套件,我会提高大多数传输邮件的安全性,因为您无法降级到弱密码套件或 SSLv3。但另一方面,我完全放弃了对某些邮件的加密,因为它们是在未加密的情况下发送的(例如,如果另一个 MTA 非常旧并且仅支持 RC4)。

3个回答

即使使用 3DES 或 RC4 的密码,攻击者也无法以适度的成本破解密码。甚至秘密服务也可能宁愿进行 DNS MX 欺骗或简单地从接收 MTA 的功能中去除 STARTTLS,因为这比尝试破解此类密码便宜得多。

因此,我建议您接受具有 RC4 和 3DES 的密码,以防对等 MTA 没有更好的密码,因为糟糕的加密肯定比纯文本好,而且在许多情况下也比根本不发送邮件好。当然,您应该只将这些弱密码放在列表的末尾,而更喜欢强密码。并且您不应该使用 EXPORT 密码等弱密码的方法。

但是,如果您在具有更高安全要求的环境中,您应该将 MTA 配置为仅使用强密码并强制使用 TLS,即即使对等方似乎不支持 TLS,也不会回退到纯文本。您还应该保护自己免受 MX 欺骗,即强制执行 DNSSec。除此之外,无论如何,您最好在这样的环境中使用端到端加密(PGP、S/MIME)。

这是一个很好的问题,我不确定是否有一个很好的答案。

所以有两种类型的攻击:主动和被动。对于被动攻击者来说,只要攻击需要某种流量修改/注入,破坏协议就可以了。他们不能做诸如生成假证书并使用冲突的 md5 签名对其进行签名之类的事情,因为作为被动攻击者,他们无法将它们注入流中。

主动攻击者可以对连接做一些事情,例如让它看起来好像另一端的邮件服务器根本不支持 TLS。

所以一般来说,除非你想强制 TLS 并完全禁止普通连接,否则我认为你应该弄清楚哪些协议对被动攻击者是安全的。或者至少是低于您的风险水平的攻击:例如,如果破解密码需要花费 200 万美元(例如,具有 1024 位密钥的 RSA)并且民族国家不是您担心的对手,那可能是可以接受的.

抱歉,我没有时间弄清楚哪些 TLS 版本和密码可以用来对付被动攻击者,但我希望这会有所帮助。

我个人会启用强密码(例如,使用来自https://cipherli.st/的建议)。

RC4 已被有效破坏(https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2808),因此启用它充其量只是一个可疑的价值(它可以防止不经意的观察者) .

也就是说:您收到的电子邮件有多少会受到影响?根据我自己的经验,这个论点类似于关于网络浏览器的论点。偶尔会有一些令人信服的理由偏离高级加密方法,但默认方法是不这样做。就我而言,事实证明,我关心的邮件中只有极少数会受到影响。

我确实知道 MTA 不是浏览器,而且情况并不那么乐观,但我也怀疑情况并没有许多人想象的那么糟糕(托管邮件提供商有帮助)。

所以总的来说,我会选择 HTTPS 方法,而不是支持低质量的加密(在某些情况下,这首先不能胜任保护数据的工作)。