如果我保护自己免受 POODLE 的伤害,我也会保护自己免受溺水的伤害

信息安全 tls
2021-08-18 23:02:20

POODLE 漏洞利用了 SSLv3 中的一个弱点。较新的 DROWN 漏洞利用了 SSLv2 中的一个弱点。我对 POODLE 的部分保护(对于我的网络服务器)是禁用 SSLv3 和更早版本。

那么我已经免于溺水了吗?

4个回答

POODLE 是对 SSL 3.0 中的一个漏洞的滥用。如果您禁用了对 SSL 3.0 的支持,您将受到 POODLE 的技术保护。

DROWN 利用了 SSL 2.0 中的一个缺陷。在上面解释的意义上,您可能在技术上受到 POODLE 的保护,但仍然容易受到溺水的影响。

当然,SSL 2.0 还有其他缺陷,它已经被弃用/禁止;长期以来一直如此。POODLE 的建议通常被表述为“停用所有早于 TLS 1.0 的东西”,其中包括 SSL 2.0,但老实说,早在 POODLE 之前,SSL 2.0 就应该被停用、杀死,并将其尸体倾倒在海中。如果您必须等待 POODLE 禁用 SSL 2.0,那么您已经非常非常草率了。粗心没有上限,因此鼓励您测试您的服务器是否仍然接受 SSL 2.0。以防万一。

这取决于。

如果任何服务器具有与您相同的 RSA 密钥并且正在运行 SSLV2 并允许低安全性“导出密码”,那么您很容易受到 DROWN 的攻击。这方面的示例可能是具有多个替代名称的证书或通配符证书。

例如:

您在网络服务器上禁用了 SSLV2 和 SSLV3。您组织中的另一位管理员 Bob 与您共享相同的 SSL 证书,两者都使用备用名称进行签名,因此共享相同的 RSA 密钥。您的服务器是运行 https 的 www.mydomain.com,而 Bob 的服务器是 email.mydomain.com,运行 SSL over SMTP。

Bob 对 SSL 有点草率,并没有在他的服务器上禁用 SSLV2。由于你们都拥有相同的 RSA 密钥,攻击者可以使用 Bob 配置错误的服务器来破坏您正确配置的服务器的 SSL 安全性。

请注意,最近的 OpenSSL 版本有一个错误 ( CVE-2015-3197 ),它允许客户端协商禁用的密码套件(例如 SSLv2 的 EXPORT 密码,用于 DROWN),即使它们在运行时在 OpenSSL 中被禁用。确保您是最新的(当然,无论如何总是一个好主意,尤其是使用 OpenSSL 之类的东西),并禁用所有版本的 SSL。不要忘记在更新库后重新启动服务器进程,以便它选择新版本的 OpenSSL 库。

此外,请注意,如果另一台服务器支持 SSL2 并且使用与您的 Web 服务器相同的公钥,则可以跨托管不同协议的服务器(例如,使用电子邮件服务器攻击 HTTPS 连接)利用 DROWN。由于重复使用公钥是相当普遍的,并且由于与电子邮件服务器(和类似服务器)的安全连接通常不像 Web 服务器连接安全那样受到严格审查,即使您的Web服务器没有,您仍可能容易受到 DROWN 的影响允许 SSLv2。

SSL Labs 目前在他们的登台服务器上进行了 DROWN 攻击的测试,他们对这个漏洞有很好的描述

其他答案中可能已经提到的一些更突出的点:

...我们知道 SSL v2 是不安全的很长一段时间——超过 20 年。

...DROWN 实际上让事情变得更糟,因为它滥用 SSL v2 来攻击所有其他协议

...服务器的安全性不能仅通过查看其配置来确定。对于 DROWN,我们必须在其他地方寻找服务器的 RSA 密钥和/或证书主机名的存在。