如何缓解 POODLE 但保持对旧客户端的 SSLv3 支持

cyp*_*res 19 ssl nginx poodle

我如何减轻 POODLE 攻击,但仍保持对旧客户端的支持,例如 Windows XP 上的 IE6 或电子邮件客户端。

我注意到谷歌这样做:https : //www.ssllabs.com/ssltest/analyze.html?d=mail.google.com

我正在使用 nginx 和 openssl。

此外,我想对现代/大多数浏览器保持正向保密。我想在 ssllabs 上保持 A 级。

cyp*_*res 23

正如谷歌在这篇博客文章http://googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-exploiting-ssl-30.html上所写的那样,有三种方法可以缓解 POODLE:

  • 禁用 SSL 3.0 支持
  • 使用 SSL 3.0 禁用 CBC 模式密码
  • 支持 TLS_FALLBACK_SCSV

前两个选项破坏了与旧客户端(例如 XP 上的 IE6)的兼容性。TLS_FALLBACK_SCSV 取决于支持它的浏览器,目前只有 Chrome 支持,但 Firefox 很快就会支持。TLS_FALLBACK_SCSV 需要新发布的 OpenSSL 1.0.1j。

如果可能,您应该禁用 SSL 3 支持,但如果您需要保留它,如果您有 OpenSSL 1.0.1j 和 nginx,这就是您可以减轻它的方法:

ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!CAMELLIA;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
Run Code Online (Sandbox Code Playgroud)

这种密码配置将在大多数浏览器中提供前向保密并减轻 POODLE+BEAST 服务器端的影响。当面对 SSL 3 或 TLS 1.0 浏览器时,它的工作原理是将 RC4 优先于 AES,从而避免 CBC 模式。运行 TLS 1.1+ 的浏览器不使用 RC4,它不像我们希望的那么安全

它目前在 ssllabs 上给出了 A 评级,例如:https ://www.ssllabs.com/ssltest/analyze.html?d=s.nimta.com