foto de três cadeados sobre uma mesa, sendo dois deles abertos e caídos e um fechado e de pé
Unsplash/flyd2069

O DNS (Domain Name System) é um serviço fundamental na internet, responsável por traduzir nomes de domínio de sites legíveis por humanos (como www.google.com.br) em endereços IP numéricos que os computadores podem entender. No entanto, o DNS tradicional através de IPv4 e IPv6 não oferece criptografia, o que significa que as consultas DNS podem ser interceptadas e manipuladas por terceiros.

O DNS-over-TLS (DoT) é um protocolo que criptografa as consultas DNS, protegendo-as contra espionagem e manipulação de dados. Isso oferece uma série de benefícios, como:

  • Maior segurança: O DoT impede que hackers e outros invasores interceptem suas consultas DNS e roubem informações confidenciais, como senhas ou dados bancários.
  • Privacidade aprimorada: O DoT impede que seu provedor de internet (ISP) ou outros terceiros rastreiem sua atividade online.
  • Melhor desempenho: O DoT pode melhorar o desempenho da navegação web ao reduzir o tempo de espera para a resolução de nomes de domínio.

Leia também: DNS-over-HTTPS e DNS-over-TLS: Qual a diferença?

Habilitando o DoT no Linux com Systemd

O Systemd, o sistema de init padrão em muitas distribuições Linux, oferece suporte nativo ao DoT. Para ativar o DoT no Systemd, siga estas etapas:

Passo 1: Abra um terminal e edite o arquivo resolved.conf com o comando abaixo:

sudo nano /etc/systemd/resolved.conf

Passo 2: Adicione as seguintes linhas ao final do arquivo, logo abaixo da linha [Resolve]:

Domains=~.
DNSOverTLS=yes
DNSSEC=yes

Caso os parâmetros já existam, apenas modifique-os para como mostrado no texto acima.

O DNSSEC é um sistema de segurança para o DNS, que protege contra ataques e garante a confiabilidade das informações online, impedindo que hackers manipulem o DNS para direcionar o tráfego para sites fraudulentos e garante que as informações do DNS sejam confiáveis e de fontes legítimas.

No entanto, o DNSSEC cria uma etapa a mais na consulta de DNS e pode aumentar a latência neste processo, mas não chega a ser algo perceptível.

Nos testes que fiz com o DoT da CloudFlare, a latência com DNSSEC ativado ficou em ~170ms, contra ~85ms com ele desativado. Em navegação, não notei diferença na inicialização de carregamento das páginas. Preferi deixar ativado.

Você também pode mudar a configuração do parâmetro DNSOverTLS para opportunistic ou strict. O primeiro dá prioridade ao DoT, tentando criar uma conexão segura primeiro. Se não obtiver êxito na resolução, ele usa o DNS tradicional. O segundo usa apenas o DoT, mas pode criar falhas de conexão caso não haja êxito.

Configurando novos endereços de DNS

Serviços como o AdGuard e o NextDNS oferecem endereços de DoT customizados com filtragem avançada de ameaças online, incluindo planos gratuitos, mas há alternativas abertas bem interessantes como a CloudFlare e OpenDNS. Você pode configurá-los usando uma das opções abaixo, adicionando ao final do arquivo resolved.conf, logo abaixo de [Resolve] e acima de Domains=~..

Google Public DNS

DNS=8.8.8.8#dns.google 2001:4860:4860::8888#dns.google
FallbackDNS=8.8.4.4#dns.google 2001:4860:4860::8844#dns.google

OpenDNS

DNS=208.67.222.222#dns.umbrella.com 2620:119:35::35#dns.umbrella.com
FallbackDNS=208.67.220.220#dns.umbrella.com 2620:119:53::53#dns.umbrella.com

Cloudflare

DNS=1.1.1.2#security.cloudflare-dns.com 2606:4700:4700::1112#security.cloudflare-dns.com
FallbackDNS=1.0.0.2#security.cloudflare-dns.com 2606:4700:4700::1002#security.cloudflare-dns.com

Quad9

DNS=9.9.9.9#dns.quad9.net 2620:fe::fe#dns.quad9.net
FallbackDNS=149.112.112.112#dns.quad9.net 2620:fe::9#dns.quad9.net

Passo 3: Salve o arquivo com Ctrl+O, feche com Ctrl+X e reinicie os serviços systemd-resolved e NetworkManager com os comandos a seguir:

sudo systemctl restart systemd-resolved
sudo systemctl restart NetworkManager

Verificando se o DoT está funcionando

Para verificar se o DoT está funcionando, você pode usar o seguinte comando no terminal:

resolvectl status

Se a configuração estiver correta, você deverá ver os novos endereços de DNS a partir das linhas Current DNS Server, DNS Servers e Fallback DNS Servers.

Você pode também usar o comando:

dig +short @8.8.8.8 google.com

Se o DoT estiver funcionando, o comando retornará o endereço IP do Google (que começa com 142.250). Se o DoT não estiver funcionando, o comando retornará um erro.

Há também a opção de testar seu DNS através do site dnscheck.tools. Seus novos endereços de DNS devem aparecer apartir do trecho “Your DNS resolvers are:”.

Leia também: O que é DNS-over-QUIC? É mais rápido do que um DNS convencional?

Considerações importantes

  • O DoT não é suportado por todos os servidores DNS.
  • Se você estiver usando um servidor DNS que não suporta DoT, você não poderá ativar o DoT em seu sistema.
  • O DoT pode ter um impacto marginal no desempenho da sua conexão com a internet.

O DoT é uma tecnologia importante que oferece uma série de benefícios de segurança e privacidade. Se você se preocupa com sua segurança online, você deve ativar o DoT em seu sistema Linux.