Configurando DNS-over-TLS no Linux com Systemd
DoT oferece criptografia e mais velocidade para consultas DNS, protegendo contra espionagem e manipulação de dados
Atualizado em
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.