O que é o DNSSEC e porque importa

E se alguém pudesse sequestrar a resposta que o teu domínio dá quando um visitante tenta chegar ao teu site? O DNSSEC existe porque esse ataque é possível sem ele. De cada vez que um navegador consulta o teu domínio, confia na resposta que recebe do sistema…

Rascunho

O Domain Name System foi criado para ser rápido. Não foi criado para ser seguro. Quando o DNS foi desenhado, nos anos 1980, ninguém previu um mundo em que atacantes tentariam falsificar respostas de DNS para redirecionar os teus visitantes para websites falsos. O DNSSEC, abreviatura de DNS Security Extensions, foi criado para corrigir essa falha. Acrescenta assinaturas digitais aos registos DNS para que cada resposta dada por um servidor DNS possa ser verificada como autêntica antes de o navegador confiar nela.

O que é o DNSSEC?

O DNSSEC é um conjunto de extensões de segurança acrescentadas ao protocolo DNS. Funciona anexando uma assinatura criptográfica a cada registo DNS do teu domínio. Quando um resolver consulta o teu domínio, verifica se a assinatura coincide antes de aceitar a resposta. Se a assinatura estiver em falta ou não coincidir, a resposta é rejeitada. Isto impede que atacantes injetem respostas DNS falsas no sistema.

O DNSSEC não muda a forma como o DNS funciona. O processo de consulta é o mesmo. O teu domínio continua a ser resolvido para um endereço IP através de uma cadeia de servidores DNS. A diferença é que cada passo dessa cadeia pode agora ser verificado. O resolver não se limita a confiar na resposta. Verifica uma assinatura criptográfica para confirmar que a resposta veio de uma fonte autorizada e não foi alterada pelo caminho.

Que problema resolve o DNSSEC?

Sem o DNSSEC, as respostas de DNS são aceites tal como chegam. Não há forma integrada de verificar se a resposta veio do servidor certo ou se foi alterada em trânsito. Isto abre a porta a um tipo específico de ataque chamado envenenamento de cache de DNS, também conhecido como DNS spoofing.

Num ataque de envenenamento de cache, um atacante envia respostas DNS falsificadas a um resolver antes de a resposta legítima chegar. O resolver guarda a resposta falsa na cache e serve-a a todos os que consultam esse domínio. Cada visitante que escreve o teu domínio no navegador é enviado para um servidor que o atacante controla, em vez do teu website verdadeiro.

O site falso pode ser idêntico ao teu. Os visitantes podem introduzir credenciais de acesso, dados de pagamento ou dados pessoais sem perceberem que estão num servidor completamente diferente. O ataque é invisível para o visitante, porque o URL no navegador continua a mostrar o teu nome de domínio.

O DNSSEC evita isto tornando as respostas falsificadas detetáveis. Se a assinatura não coincidir, o resolver rejeita a resposta e o visitante não é enviado para um destino falso.

Como funciona o DNSSEC?

O DNSSEC usa um sistema de chaves públicas e privadas para assinar registos DNS. Eis como o processo funciona, em linhas gerais.

Quando ativas o DNSSEC, o teu fornecedor de DNS gera um par de chaves criptográficas para o teu domínio. A chave privada é usada para criar uma assinatura digital de cada registo DNS. A chave pública é publicada como um registo DNS, para que os resolvers lhe possam aceder.

Quando um resolver consulta o teu domínio, recebe a resposta DNS juntamente com a assinatura. O resolver usa então a chave pública para verificar se a assinatura coincide com os dados da resposta. Se tudo estiver certo, a resposta é considerada de confiança. Se a assinatura for inválida ou estiver em falta, o resolver trata a resposta como não fiável e não a passa ao navegador.

Esta verificação funciona através de uma cadeia de confiança. A chave pública do teu domínio é referenciada por um registo DS (Delegation Signer) na zona-mãe. Por exemplo, se o teu domínio é yourbrand.com, a zona .com tem um registo DS que aponta para a chave pública do teu domínio. A própria zona .com é assinada e verificada pela zona raiz. Cada nível da cadeia valida o nível abaixo, desde a raiz até ao teu domínio específico.

O que acontece sem o DNSSEC?

Sem o DNSSEC, todas as respostas DNS que o teu domínio gera não são assinadas. Os resolvers aceitam a resposta que chegar primeiro, sem forma de confirmar que veio de uma fonte legítima. Isto significa que um atacante bem posicionado pode meter respostas falsificadas no sistema e redirecionar os teus visitantes sem disparar nenhum alarme.

Para a maioria dos websites pequenos, o risco de um ataque dirigido de envenenamento de DNS é baixo. Os atacantes costumam ir atrás de alvos de grande valor, como bancos, fornecedores de email e grandes plataformas de comércio eletrónico. Mas o risco não é zero. Redes Wi-Fi públicas, routers comprometidos e vulnerabilidades em certo software de resolver podem criar oportunidades de DNS spoofing a menor escala.

O impacto prático de não teres DNSSEC depende da tua situação. Se tratas dados sensíveis, aceitas pagamentos ou dependes do teu website como principal ponto de contacto com os clientes, a verificação adicional vale a pena.

Precisas de DNSSEC para o teu domínio?

A resposta honesta é que depende. O DNSSEC acrescenta proteção real, mas não é um requisito para todos os domínios.

Deves ativar o DNSSEC se o teu site trata pagamentos, recolhe informação sensível ou funciona num domínio com muita visibilidade. Os websites governamentais, os serviços financeiros e as marcas de saúde beneficiam todos de ter o DNSSEC ativo. Se a segurança do domínio é uma prioridade para a tua marca, o DNSSEC é mais uma camada que vale a pena acrescentar.

Pode não precisares dele já se geres um site informativo mais pequeno, sem funcionalidade de login, e o teu registrador ainda não suporta o DNSSEC ou cobra extra por ele. Muitos websites funcionam sem ele e correm bem. O SSL já cifra a ligação entre o visitante e o teu servidor, o que protege os dados em trânsito. O DNSSEC resolve um problema diferente, especificamente a integridade da própria consulta DNS.

Se o teu registrador o suporta e a configuração é simples, há muito pouca desvantagem em ligá-lo. A proteção que acrescenta é real, mesmo que o risco a que responde não se aplique por igual a todos os domínios.

Como ativas o DNSSEC?

Ativar o DNSSEC exige ação em dois sítios. O primeiro é o teu fornecedor de DNS, onde estão alojados os registos DNS do teu domínio. O segundo é o teu registrador de domínios, onde o teu domínio está registado.

Os passos gerais são os seguintes.

  1. Inicia sessão no teu fornecedor de DNS e ativa o DNSSEC para o teu domínio. Isto gera as chaves criptográficas e começa a assinar os teus registos DNS.
  2. Copia o registo DS que o teu fornecedor de DNS te dá. Este registo contém uma referência à chave pública do teu domínio.
  3. Inicia sessão no teu registrador de domínios e adiciona o registo DS às definições do teu domínio. Isto liga as chaves DNSSEC do teu domínio à zona-mãe.
  4. Espera pela propagação. Como qualquer alteração de registo DNS, o novo registo DS pode demorar algumas horas a propagar-se pela internet.
  5. Testa a tua configuração com uma ferramenta online de validação de DNSSEC para confirmar que está tudo a funcionar.

Se o teu registrador e o teu fornecedor de DNS forem a mesma empresa, o processo é mais simples. Alguns fornecedores tratam dos dois passos num só painel. Outros exigem que copies registos entre duas contas separadas.

O erro mais comum durante a configuração é introduzir o registo DS de forma incorreta. Confirma duas vezes o key tag, o número do algoritmo, o tipo de digest e o valor do digest antes de guardares. Um dígito errado em qualquer destes campos quebra a cadeia de confiança e pode tornar o teu domínio inacessível até o erro ser corrigido.

O que não faz o DNSSEC?

O DNSSEC resolve um problema específico, verificar que as respostas DNS são autênticas. É importante perceber o que fica fora do seu âmbito.

O DNSSEC não cifra as tuas consultas DNS. O conteúdo de cada consulta DNS continua visível a quem monitorize a rede. Se a privacidade das consultas DNS te interessa, é um problema separado, resolvido por DNS over HTTPS (DoH) ou DNS over TLS (DoT), e não pelo DNSSEC.

O DNSSEC não cifra o tráfego entre o visitante e o teu website. Essa é a função de um certificado SSL, que cria uma ligação cifrada por HTTPS. O DNSSEC e o SSL protegem coisas diferentes em fases diferentes da ligação.

O DNSSEC não evita todos os tipos de ataques ao teu domínio. Não impede que alguém roube as credenciais do teu registrador e transfira o teu domínio. Não protege contra emails de phishing que se fazem passar pela tua marca. E não bloqueia ataques DDoS dirigidos aos teus servidores DNS. Para essas ameaças, precisas de proteções separadas, como autenticação de dois fatores, bloqueio de domínio e mitigação de DDoS.

Em que é que o DNSSEC é diferente do SSL?

O DNSSEC e o SSL são ambos camadas de segurança, mas protegem partes diferentes da ligação entre um visitante e o teu website.

O SSL (e o seu sucessor TLS) cifra os dados que circulam entre o navegador do visitante e o teu servidor web. Depois de a ligação estar estabelecida, tudo o que o visitante envia e recebe está protegido de escutas. O SSL também verifica que o servidor com que o visitante está a falar tem um certificado válido para o teu domínio.

O DNSSEC protege o passo que acontece antes de o SSL entrar em ação. Quando um visitante escreve o teu domínio, o navegador começa por consultar o endereço IP através do DNS. O DNSSEC garante que essa consulta devolve o endereço IP correto. Sem ele, um atacante poderia redirecionar o visitante para um servidor completamente diferente, que podia até ter o seu próprio certificado SSL para um domínio parecido.

Ambas as camadas têm a sua função. O SSL protege a conversa. O DNSSEC protege o caminho que o visitante segue para começar essa conversa. Usar ambos dá aos teus visitantes a garantia mais forte de que estão no teu site verdadeiro e de que os seus dados estão seguros.

Como o WEMASY trata do DNSSEC

O WEMASY gere o DNS de todos os domínios ligados à sua plataforma. Quando constróis o teu site no WEMASY, o DNS do teu domínio é tratado através da infraestrutura do WEMASY, que inclui certificados SSL, gestão de nameservers e configuração de registos DNS. Se o teu domínio e o teu registrador suportarem o DNSSEC, podes ativá-lo adicionando o registo DS no teu registrador e apontando-o para o DNS do WEMASY. Para detalhes sobre o que está incluído em cada plano, visita os preços.

Fecho do Módulo 6

Este capítulo encerra o módulo de segurança do domínio. Ao longo dos capítulos anteriores, viste o quadro completo. Aprendeste o que significa a segurança do domínio, como o bloqueio de domínio, a proteção de privacidade e a atenção às renovações mantêm o teu domínio sob o teu controlo, e as ameaças específicas, como o sequestro, a especulação e as burlas de renovação, que visam os donos de domínios. O DNSSEC acrescenta a camada final, ao proteger a própria consulta DNS, o passo que liga o teu nome de domínio ao teu website verdadeiro. Com todas estas proteções em vigor, o teu domínio fica coberto desde o registo até à resolução.

Perguntas frequentes sobre o DNSSEC

O DNSSEC pode estragar o meu website se for configurado incorretamente?

Sim. Se o registo DS no teu registrador não coincidir com as chaves do teu fornecedor de DNS, os resolvers que validam o DNSSEC rejeitam por completo as respostas DNS do teu domínio. Isto pode tornar o teu website inacessível para visitantes cujos resolvers aplicam a validação DNSSEC. Testa sempre a tua configuração com uma ferramenta de validação de DNSSEC depois de o ativares e mantém as chaves sincronizadas se alguma vez mudares de fornecedor de DNS. Com o criador de websites do WEMASY, podes configurar isto diretamente no teu website.

O DNSSEC torna o meu website mais lento?

O impacto na velocidade é mínimo. O DNSSEC acrescenta uma pequena quantidade de dados às respostas DNS por causa das assinaturas, e os resolvers fazem um passo extra de verificação. Na prática, isto acrescenta apenas alguns milissegundos à consulta DNS. Os visitantes não vão notar diferença no tempo de carregamento da página.

Todos os registradores suportam o DNSSEC?

Nem todos. A maioria dos grandes registradores suporta o DNSSEC, mas alguns registradores mais pequenos ou económicos ainda não o oferecem. Antes de tentares ativar o DNSSEC, consulta a documentação ou a página de apoio do teu registrador para confirmar que te permite adicionar registos DS. Se não permitir, podes ter de transferir o teu domínio para um registrador que o permita.

O que acontece ao DNSSEC se eu mudar de fornecedor de DNS?

Se mudares de fornecedor de DNS, tens de atualizar a tua configuração de DNSSEC. O novo fornecedor gera novas chaves, e tens de substituir o registo DS no teu registrador pelo novo. Durante a transição, há uma janela em que o registo DS antigo já não coincide com as novas chaves. Planeia a mudança com cuidado. Remove primeiro o registo DS antigo, espera pela propagação, migra o teu DNS, ativa o DNSSEC no novo fornecedor e só depois adiciona o novo registo DS.

O DNSSEC é o mesmo que DNS over HTTPS?

Não. Resolvem problemas diferentes. O DNSSEC verifica que uma resposta DNS é autêntica e não foi adulterada. O DNS over HTTPS (DoH) cifra a própria consulta DNS para que ninguém que monitorize a tua rede possa ver que domínios estás a consultar. O DNSSEC protege a integridade. O DoH protege a privacidade. Podem ser usados em conjunto, mas um não substitui o outro.

Põe isto em prática
no teu próprio site.

Começa grátis com a WEMASY e cria o teu site em poucos minutos.