Como mitigar POODLE, mas manter o suporte SSLv3 para clientes antigos

19

Como atenuo o ataque do POODLE, mas continuo mantendo o suporte a clientes antigos, como o IE6, no Windows XP ou em um cliente de email.

Percebi que o Google faz isso: https://www.ssllabs.com/ssltest/analyze.html?d=mail.google.com

Estou usando o nginx e o openssl.

Além disso, quero manter o Forward Secrecy na maioria dos navegadores modernos. Quero manter minha classificação A no ssllabs.

cypres
fonte

Respostas:

23

Como o Google escreve nesta entrada de blog http://googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-exploiting-ssl-30.html, existem três maneiras de mitigar POODLE:

  • Desativar suporte a SSL 3.0
  • Desativar cifras no modo CBC com SSL 3.0
  • Suporte TLS_FALLBACK_SCSV

As duas primeiras opções quebram a compatibilidade com clientes antigos, como o IE6 no XP. O TLS_FALLBACK_SCSV depende do navegador que o suporta, o que, no momento, é apenas o Chrome, mas o Firefox será muito cedo. TLS_FALLBACK_SCSV requer o OpenSSL 1.0.1j recém-lançado.

Se possível, você deve desativar o suporte ao SSL 3, mas se precisar mantê-lo por perto, é assim que você pode mitigá-lo, se tiver o OpenSSL 1.0.1j e o 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;

Essa configuração de cifras fornecerá sigilo direto na maioria dos navegadores e atenuará o lado do servidor POODLE + BEAST. Ele funciona priorizando o RC4 sobre o AES quando confrontado com um navegador SSL 3 ou TLS 1.0, evitando assim o modo CBC. Os navegadores que executam o TLS 1.1+ não usam o RC4, que não é tão seguro quanto gostaríamos .

Atualmente, ele fornece uma classificação A no ssllabs, exemplo disso em ação: https://www.ssllabs.com/ssltest/analyze.html?d=s.nimta.com

cypres
fonte