POODLE: Vulnerabilidade no SSLv3

poodlebleedRecentemente uma falha de segurança consideravelmente grave foi descoberta na versão 3 do protocolo SSL. A falha é inerente ao SSLv3 mas torna-se ainda mais notória, embora não seja uma exclusividade, pra quem usa a família OpenSSL (muito comum em servidores Linux e *NIX) para implementá-lo.

O protocolo SSLv3 é extensivamente utilizado para criptografar conexões em sites e serviços de e-mail na Internet, dentre outros. Esta vulnerabilidade permite que um atacante utilize a técnica de man-in-the-middle (o homem do meio) para interceptar e decifrar conexões seguras como no acesso a contas bancárias, compras e pagamentos via Internet. Para saber mais sobre o bug, acesse o poodlebleed.com.

Só para contextualizar, o SSL foi criado na década de 90 pela Netscape e sua última versão é exatamente a 3.0. Já há vários anos a IETF acabou homologando como um padrão mundial de fato o TLS, que é uma espécie de evolução do SSL (embora ambos não inter-operem entre si). Por isso a recomendação atual é jamais usar SSL e só permitir TLS nos seus clientes e servidores seguros. Neste ponto, vale seguir as dicas e sugestões da Equipe de Segurança da Mozilla (OpSec).

Como testar?

Pra saber se o seu servidor Linux está vulnerável a este bug, utilize o shell script abaixo. Este código é uma contribuição da Red Hat.

#!/bin/bash
ret=$(echo Q | timeout 5 openssl s_client -connect
"${1-`hostname`}:${2-443}" -ssl3 2> /dev/null)
if echo "${ret}" | grep -q 'Protocol.*SSLv3'; then
  if echo "${ret}" | grep -q 'Cipher.*0000'; then
    echo "SSL 3.0 disabled"
  else
    echo "SSL 3.0 enabled"
 fi
else
  echo "SSL disabled or other error"
fi

Como posso me proteger?

Se você não é um sysadmin e simplesmente utiliza “serviços seguros” na web (HTTPS) ou quer proteger a ponta do usuário final, o ideal é desabilitar o uso do SSL nos navegadores (e outros clientes). Cada browser possui um caminho específico para fazer isso, mas tanto no Internet Explorer, quanto Mozilla Firefox e Chrome, por exemplo, procedimento é bastante simples.

Agora se você é um sysadmin e o script acima resultou em um “SSL 3.0 enabled”, está na hora de desativar o protocolo, ficar de olho no site oficial do sistema operacional ou distribuição utilizada e realizar updates de segurança tão logo eles saiam.