反监视运动中有很多人实际上要求我在我的环境中启用 SMTP STARTTLS 支持,以便启用机会性 MTA 到 MTA 加密。与此同时,同样的反监视人员抱怨 OpenSSL 代码质量很差,很可能存在严重的未发现漏洞。
将 OpenSSL(包括我们在内的大多数 MTA 仅支持 OpenSSL)暴露在 Internet 上是否值得冒险,以便有机会防止窃听?与在邮件服务器上利用 OpenSSL 窃取存储数据或安装持久后门的风险相比,人们在传输过程中窃听电子邮件的风险似乎微不足道。
反监视运动中有很多人实际上要求我在我的环境中启用 SMTP STARTTLS 支持,以便启用机会性 MTA 到 MTA 加密。与此同时,同样的反监视人员抱怨 OpenSSL 代码质量很差,很可能存在严重的未发现漏洞。
将 OpenSSL(包括我们在内的大多数 MTA 仅支持 OpenSSL)暴露在 Internet 上是否值得冒险,以便有机会防止窃听?与在邮件服务器上利用 OpenSSL 窃取存储数据或安装持久后门的风险相比,人们在传输过程中窃听电子邮件的风险似乎微不足道。
我认为您高估了启用STARTTLS. 当然,最近发生了一些关于 OpenSSL 的事件,但这是否意味着我们都应该停止使用 HTTPS?
在您的情况下,这是权衡:
STARTTLS 可能会在您的机器上打开安全漏洞STARTTLS 将允许任何窥探(在网络上,在水下电缆上......)的人轻松阅读电子邮件。(与您的暗示相反,这不是风险——它正在发生,正如斯诺登的文件所证明的那样。)基本上,您必须在减轻未来可能出现的安全问题和防御当前攻击之间做出选择。
除非你是一个备受瞩目的目标并且担心 0days 可能会被用来对付你,否则我建议你选择STARTTLS. 或者,如果您真的不信任 OpenSSL,您可能可以查看 GnuTLS(尽管它也存在一些问题)或等待 OpenBSD 的LibReSSL。
更新:OpenBSD 刚刚发布了 LibReSSL 的可移植版本......它仍然缺乏测试,但这意味着你可以两全其美,只要你比 OpenSSL 的开发人员更信任他们。
首先,您混淆了 SSL/TLS 及其实现。您的服务器可能使用 OpenSSL,但这并不意味着连接到它的客户端会使用。潜在的漏洞在很大程度上取决于上下文。如果您担心特定于 OpenSSL 的零日漏洞,您也许可以找到使用另一个堆栈的邮件服务器。
此外,由于 Heartbleed 漏洞,OpenSSL 的宣传不佳,但这可能是因祸得福,因为因此,一些大公司似乎决定为该项目提供大量资金(它没有)。我不确定其他实现(例如 GnuTLS、Mozilla 的 NSS,甚至 Java 的 JSSE,......)是否会分配给它们相同的预算。
STARTTLS在您的邮件服务器上启用通常仍然是一个好主意,因为它应该保护客户端和邮件服务器 (MSA) 之间的连接。至少,保护用户的密码是件好事(它们在实践中经常被重复使用)。与任何其他软件一样,只要有安全更新,就值得升级到新版本。不幸的是,没有什么是完美的。
附带说明一下,STARTTLS它将在客户端和 MSA(您的服务器)之间有所帮助,但通常在 MTA 之间几乎没有帮助(也就是说,一旦它离开您的服务器转到不同的服务器)。
尽管 OpenSSL 存在一些质量问题,但相信您在 Internet 上公开的其他软件运行得更好,这将是相当乐观的。OpenSSL 是受攻击最多的软件之一,因为它是一个高价值目标:
相同的库用于多种类型的服务器(HTTPS、SMTP、IMAP...),因此任何漏洞都有广泛的潜在适用范围。
人们认为 SSL 是“高度敏感的”,因此相关的吹牛权利是巨大的。从技术上讲,当您使用 SSL 时,它是为了保护一些敏感数据,这是攻击者的真正目标;窃取服务器私钥的攻击者不是为了自己的密钥,而是想运行一个假服务器以获取用户的信用卡号。SSL 及其密钥只是启用工具。但是,私钥是很棒的战利品。极客攻击者可能会通过使用被盗的 RSA 私钥在同行中声名鹊起,从而使他们更接近于 alpha 男性的地位。
一个后果是 OpenSSL 实际上是最安全的软件之一,因为当发现漏洞时,它们会被广泛宣传,并且由于使用 OpenSSL 的系统如此之多,攻击者在安装之前将漏洞利用到您的服务器的风险相关的安全补丁非常低。
实用的软件安全是发现漏洞和修复漏洞之间的竞赛。使用一个拥有庞大用户群的库,以及高效的响应式补丁历史(这得益于 OpenSSL 的开源状态),可以实现群体免疫。它工作得很好!
所以不要担心 OpenSSL。事实上,使用它。真正重要的是及时应用安全修复程序,这是系统管理员的问题。(另一方面,出于同样的原因,在家庭路由器等嵌入式系统中使用 OpenSSL,其软件从未真正更新过,这可能不是一个好主意。)