Defaults.Exposed

Defaults.ExposedCorreções › Encriptação moderna (versão de TLS e cifras)

Como corrigir Encriptação moderna (versão de TLS e cifras)

O TLS é o cadeado que baralha os dados que circulam entre os seus visitantes e o seu site. Duas coisas tornam esse cadeado confiável: usar uma versão moderna de TLS (não as antigas e quebradas) e usar cifras fortes (a receita de baralhamento propriamente dita). Esta página cobre ambas — além de algumas definições relacionadas que não afetam a sua nota mas vale a pena conhecer.

O essencial para o seu negócio: Se o seu site corre sobre encriptação desatualizada ou cifras fracas, os dados privados que os seus clientes escrevem — logins, números de cartão, contactos — podem ser intercetados e lidos em silêncio em redes partilhadas, e pode falhar as verificações de segurança que bancos, processadores de pagamento e clientes maiores exigem hoje antes de fazerem negócio consigo.

Quanto isto lhe pode custar

Por que importa. Encriptação que é segura é invisível; encriptação que é desatualizada ou fraca é uma responsabilidade que fica quieta até ao dia em que lhe custa um cliente, um contrato ou uma aprovação de conformidade. As verificações da versão de TLS e das cifras são as duas partes que realmente movem a sua nota, e ambas são tipicamente uma única definição gratuita — não há vantagem nenhuma em deixar ligadas as opções antigas e quebradas.

Em palavras simples

Quando alguém visita o seu site, tudo o que escreve — logins, números de cartão, nomes, números de telefone, mensagens — é baralhado em trânsito para que estranhos não o possam ler. A tecnologia que faz o baralhamento chama-se TLS (também pode ouvir chamar-lhe SSL, o seu nome mais antigo). Para que esse baralhamento seja de facto seguro, duas coisas têm de estar certas:

  1. A versão de TLS — qual a geração da tecnologia que está a usar. As primeiras versões (TLS 1.0 e 1.1) estão publicamente quebradas há anos; as seguras são o TLS 1.2 e o TLS 1.3.
  2. A cifra — a receita específica que o TLS usa para fazer o baralhamento. Algumas cifras (como RC4, DES e 3DES) foram quebradas e estão agora banidas; as cifras modernas continuam fortes.

Esta página cobre ambas, porque um site pode acertar numa e errar na outra. Pode ter um cadeado moderno com uma receita antiga e quebrável ainda ligada — ou uma receita forte protegida por um cadeado desatualizado. Qualquer das brechas é uma porta aberta. Ambas se fecham normalmente com a mesma única alteração gratuita às definições do seu servidor ou alojamento.

Quanto isto lhe pode custar

O que é na realidade

A versão de TLS

Um site não suporta apenas uma versão de TLS — pode oferecer várias ao mesmo tempo e deixar o navegador de cada visitante escolher. Um visitante moderno vai usar a versão mais recente disponível e ver um cadeado normal. O perigo é que as versões antigas e quebradas podem ficar ali ao lado das boas como uma porta das traseiras aberta: um atacante pode forçar a ligação de um visitante a «descer» para TLS 1.0 ou 1.1 e depois explorar as fraquezas conhecidas dessas versões (os ataques BEAST e POODLE são os exemplos famosos) para desencriptar o tráfego.

Por isso, a nossa verificação liga-se ao seu site e testa cada versão individualmente — TLS 1.0, 1.1, 1.2 e 1.3 — para ver quais o seu servidor ainda aceita. Eis como é o «bom» e como pontua:

A cifra

Depois de escolhida uma versão, o TLS escolhe uma cifra — o algoritmo que de facto baralha os dados. A maioria das cifras modernas é forte. Um punhado está quebrado e nunca deve ser usado: RC4 (o seu baralhamento é enviesado e revela o texto), DES (a sua chave é tão curta que se quebra por força bruta), 3DES (vulnerável ao ataque «Sweet32»), além de NULL (sem encriptação nenhuma), cifras de grau EXPORT (deliberadamente enfraquecidas — os ataques FREAK e Logjam) e cifras anónimas (sem verificação de identidade, por isso um impostor pode meter-se no meio).

A nossa verificação de cifras faz duas coisas. Primeiro olha para a cifra que o seu servidor de facto negociou connosco. Depois — e esta é a parte importante — tenta ativamente estabelecer handshake usando várias cifras conhecidas como quebradas (RC4, 3DES, EXPORT, NULL e variantes anónimas). Um servidor pode escolher uma cifra forte quando fala com um cliente moderno e ainda assim aceitar uma fraca se um atacante insistir — e isso é um risco real de descida. Se o seu servidor aceitar qualquer cifra banida, a verificação sinaliza-o; aceitar uma crítica (como RC4 ou NULL) é uma falha. (No TLS 1.3 não há nada a recear aqui — essa versão removeu todas as cifras fracas por desenho, por isso as sondagens são saltadas.)

Os três extras informativos

Três itens relacionados são relatados mas não afetam a sua nota — são sinalizados como informativos porque não podem ser verificados de forma fiável a partir do exterior, e em qualquer servidor ou CDN moderno já são tratados corretamente:

Mostramos estes para que o seu técnico de TI tenha o quadro completo, mas para a grande maioria dos donos não há nada a fazer — a sua nota é movida pelas verificações da versão e da cifra acima.

Como corrigir (gratuito, ~30 minutos)

Entregue isto ao seu técnico de TI — a correção é gratuita. Esta secção é para quem gere o seu domínio, site ou alojamento. A correção é uma alteração de configuração, não uma compra; só cobramos para monitorizar que a sua encriptação se mantém corretamente configurada ao longo do tempo. A única configuração moderna abaixo corrige de uma só vez os achados da versão e da cifra.

A abordagem mais simples e fiável é gerar uma configuração comprovadamente boa em vez de a escrever à mão: cole o tipo do seu servidor no Gerador de Configuração SSL da Mozilla em https://ssl-config.mozilla.org/ e escolha o perfil «Intermediate» (compatibilidade ampla) ou «Modern» (só TLS 1.3, se não precisar de suportar nada antigo). Ele produz por si as linhas ssl_protocols e ssl_ciphers corretas.

Por plataforma:

  1. Cloudflare ou um alojamento gerido — normalmente um ou dois cliques. Na Cloudflare: SSL/TLS → Edge Certificates → Minimum TLS Version → TLS 1.2, e os conjuntos de cifras aí são geridos por si (a plataforma não oferece cifras banidas). A maioria dos alojamentos geridos e construtores de sites (Squarespace, Wix, Shopify, alojamentos WordPress modernos) já impõe TLS 1.2+ com cifras fortes — basta confirmar que não há nenhuma opção de «TLS legado» ou «compatibilidade com navegadores antigos» ainda ligada.
  2. Nginx. Defina só versões modernas e uma lista explícita de cifras fortes, depois recarregue:
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    
    (O TLS 1.3 requer OpenSSL 1.1.1+ na máquina.)
  3. Apache. Desative as versões antigas e fixe uma lista de cifras fortes, depois reinicie:
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
    SSLHonorCipherOrder on
    
  4. Windows / IIS. Use a ferramenta gratuita IIS Crypto (ou as definições de registo equivalentes) para desativar o TLS 1.0 e 1.1, desativar as cifras RC4/DES/3DES/NULL/EXPORT, e deixar o TLS 1.2 e 1.3 com cifras fortes ativadas. O modelo «Best Practices» da ferramenta faz tudo isto num clique.
  5. Os extras informativos (opcional, gratuito). Se quiser a limpeza completa: no Nginx adicione ssl_stapling on; ssl_stapling_verify on; (com uma linha resolver) para OCSP stapling; no Apache, SSLUseStapling On. A compressão de TLS e a renegociação segura já são seguras por omissão em servidores modernos — nenhuma ação necessária. Na Cloudflare as três são tratadas automaticamente.
  6. Verifique, depois volte a verificar aqui. Confirme que só as versões e cifras seguras permanecem — por exemplo com nmap --script ssl-enum-ciphers -p 443 seudominio.com, ou teste nas ferramentas ligadas em https://ssl-config.mozilla.org/ — e depois execute novamente esta verificação. Sempre que possível, ative o TLS 1.3 ao lado do 1.2: é mais rápido e mais seguro.

Erros comuns

O que reter

A versão de TLS e a cifra são as duas partes da sua encriptação que realmente movem a sua nota, e ambas se resumem a desligar opções que estão quebradas em público há anos. A correção é gratuita, é normalmente uma linha de configuração moderna por servidor, e para um visitante normal não muda nada exceto tornar a ligação dele genuinamente segura. Os itens relacionados — compressão, OCSP stapling, renegociação segura — vale a pena conhecê-los mas não afetam a sua pontuação, e em qualquer configuração moderna já são tratados por si.

Perguntas frequentes

Não percebo de informática — consigo resolver isto sozinho?

Não precisa de perceber o detalhe técnico. Na maioria do alojamento moderno isto é uma ou duas definições, e é gratuito. Entregue a secção «Como corrigir» abaixo a quem gere o seu site ou alojamento (ou ao seu fornecedor de TI) — costuma ser uma alteração de cinco a dez minutos sem diferença visível para os visitantes, exceto uma ligação mais segura.

Mudar para encriptação moderna vai impedir os navegadores de clientes antigos de funcionarem?

Na prática, não. Todos os navegadores e telemóveis modernos sensivelmente da última década já usam a nova encriptação e cifras fortes por omissão — fazem-no há anos. As únicas coisas que dependiam das versões antigas ou cifras fracas são elas próprias desatualizadas e inseguras, que é exatamente porque todos os grandes navegadores já as recusam. Para quase todas as empresas a mudança é invisível para os clientes.

O meu site carrega bem com um cadeado — porque está isto ainda a ser sinalizado?

O cadeado só significa que existe uma ligação segura; não lhe diz qual a versão de TLS nem qual a cifra por trás dela. O seu site pode mostrar um cadeado perfeitamente normal enquanto, em silêncio, ainda aceita uma versão antiga e quebrada ou uma cifra banida ao lado das boas — e essa porta das traseiras aberta é o que estas verificações apanham. Fechá-la não remove o cadeado; só garante que apenas as opções seguras são permitidas.

Qual é a diferença entre a versão de TLS e a cifra?

Pense na versão de TLS como a geração do cadeado que está a usar, e na cifra como a receita específica que ele usa para baralhar os dados. Pode ter um cadeado moderno (TLS 1.2 ou 1.3) mas ainda deixar uma receita antiga e quebrável (como RC4 ou 3DES) ligada — ou o contrário. Ambas têm de estar certas, e é por isso que as verificamos separadamente. A boa notícia é que a mesma configuração moderna de uma linha costuma corrigir as duas de uma vez.

E o OCSP stapling e a compressão de TLS — afetam a minha nota?

Não. Essas (juntamente com a renegociação segura) são apenas informativas — relatamo-las porque importam para o desempenho e a defesa em profundidade, mas não movem a sua pontuação. Em servidores web modernos e em qualquer CDN como a Cloudflare são tratadas corretamente por omissão, por isso para a maioria dos donos não há nada a fazer. O detalhe está na secção abaixo para o seu técnico de TI.

Corrigir isto é mesmo gratuito?

Sim. Desativar versões antigas de TLS e cifras fracas, e ativar estas proteções, são alterações de configuração no seu servidor ou alojamento existente — não há nada a comprar. Só cobramos para monitorizar que a sua encriptação se mantém corretamente configurada ao longo do tempo, não para a corrigir.