Como configurar e usar DNS criptografado no Windows

🕑 ± 6 minutos de leitura

Desde o Windows 10 é possível usar criptografia de DNS a nível de sistema operacional. Assim todas as consultas feitas pelo próprio sistema e por programas instalados nele estarão protegidas de curiosos.

A tecnologia empregada aqui é o DNS over HTTPS (DoH), que faz as consultas DNS trafegarem embaralhadas usando o protocolo HTTP seguro. O Firefox e navegadores baseados no Google Chrome já suportam o DoH.

Mas, caso você configure esses browsers para criptografar seu tráfego DNS, a proteção só funcionará dentro deles. Configurando o Windows para fazer isso significa que todos os programas instalados farão uso da criptografia.

Com suas consultas DNS embaralhadas durante o trânsito pela internet até seu servidor DNS favorito, suas atividades online ficam protegidas de curiosos. Estes podem ser desde seu provedor de internet até algum atacante na mesma rede.

O DNS over HTTPS também evita que manipulem suas consultas para se passarem pelo site que você deseja visitar e não permite interceptação do tráfego por um intermediário malicioso (um ataque chamado de man-in-the-middle).

Isso significa que ninguém pode alterar sua conexão com o servidor DNS para te enganar e encaminhar para um site fraudulento. Sem a criptografia do DoH, suas consultas ficam expostas para todos verem ou manipularem se souberem como.

E se você se preocupa com seu histórico de navegação, também vai se importar com suas consultas DNS já que a cada site que você acessa, várias requisições são feitas para que a página carregue.

No DNS tradicional, sem criptografia, elas ficam expostas em trânsito até seu servidor DNS, algo que geralmente não está na sua rede local. Seu servidor DNS sabe todo seu histórico, é preciso confiar nele.

Então diz logo como configura

Justo, já me estendi demais. O negócio é o seguinte: por padrão, até o momento da publicação deste post, o Windows só permite usar DoH com uma lista interna e bastante limitada de provedores que se resume em: Cloudflare, Google e Quad9.

Se você quer usar algum desses, ótimo, está tudo pronto. Mas caso queira usar um servidor próprio ou de outras empresas, vai ser necessário digitar algumas linhas no prompt de comando do Windows.

Primeiro vamos pelo mais fácil: servidores DNS criptografados que vem “de fábrica”. Siga por esse caminho: Configurações > Rede e Internet > WiFi > Propriedades do Hardware.

Definindo um servidor DNS over HTTPS no Windows 11
Tela de edição das configurações de DNS do Windows 11

Caso deseje definir o DNS criptografado para conexão via cabo, em Rede e Internet simplesmente clique em Ethernet. Em ambos os casos, no trecho Atribuição de Servidor DNS, clique em Editar.

Na tela Editar Configurações DNS, no menu que diz Automático, selecione a opção Manual. Ative a opção IPv4 e agora você só precisa informar os endereços IP dos servidores que deseja utilizar e que já estão na lista pré-configurada.

No caso, são esses aqui:

Google DNS primário8.8.8.8
Google DNS secundário8.8.4.4
Cloudflare DNS primário1.1.1.1
Cloudflare DNS secundário1.0.0.1
Quad9 DNS primário9.9.9.9
Quad9 DNS secundário149.112.112.112
Lista de servidores DNS IPv4 inclusos no Windows

Digitando qualquer um desses IPs vai ativar um menu chamado Criptografia do DNS Preferencial onde você pode escolher dentre três opções:

  • somente descriptografado;
  • somente criptografado (DNS over HTTPS);
  • criptografado preferencial, não criptografado permitido.

Caso seu provedor de internet forneça IPv6, marque a referida opção e insira os endereços IP versão 6 dos servidores DNS pré-configurados na lista interna do Windows:

Google DNS primário2001:4860:4860::8888
Google DNS secundário2001:4860:4860::8844
Cloudflare DNS primário2606:4700:4700::1111
Cloudflare DNS secundário2606:4700:4700::1001
Quad9 DNS primário2620:fe::fe
Quad9 DNS secundário2620:fe::fe:9
Lista de servidores DNS IPv6 inclusos no Windows

Adicionando outros servidores DoH

Se você não está interessado em usar um dos servidores disponíveis como itens de série no Windows, será necessário uma linha de comando e uma tela do prompt de comando.

A referida linha é essa daqui:

netsh dns add encryption server=[endereço IP do resolvedor] dohtemplate=[URL do resolvedor] autoupgrade=yes udpfallback=no

Você só precisa editar os trechos em negrito e colar a linha numa tela do cmd do Windows aberta com privilégios de Administrador. Para exemplificar, se eu quisesse adicionar o OpenDNS, esta seria a linha:

netsh dns add encryption server=208.67.222.222 dohtemplate=https://doh.opendns.com/dns-query autoupgrade=yes udpfallback=no

Para começar a usar o OpenDNS no Windows via DoH, agora basta digitar o endereço IP 208.67.222.222 no campo DNS Preferencial na tela Editar Configurações DNS como ilustrado no tópico anterior.

Uma vez preenchido, o menu Criptografia do DNS Preferencial ficará ativo e você poderá selecionar nele a opção DNS over HTTPS. Antes do comando acima, se você digitasse o IP do OpenDNS, o menu não ficaria disponível.

Para adicionar o segundo IP do OpenDNS, basta editar a linha de comando deste tópico, substituir somente o IP e colar no prompt de comando do Windows. Deixa que eu te ajudo com a primeira parte:

netsh dns add encryption server=208.67.220.220 dohtemplate=https://doh.opendns.com/dns-query autoupgrade=yes udpfallback=no

Digite o IP 208.67.220.220 como DNS alternativo e selecione no menu Criptografia do DNS Alternativo para que o DNS over HTTPS seja utilizado também. Agora tanto o DNS primário quanto o secundário estarão seguros.

Você pode alterar a linha de comando para usar qualquer servidor DNS com suporte a DoH, desde que você saiba ao menos um IP dele e o endereço (URL) do chamado endpoint do serviço de DNS over HTTPS oferecido.

No caso do exemplo acima, o endpoint do OpenDNS é https://doh.opendns.com/dns-query, mas ele muda de acordo com quem presta o serviço de DNS over HTTPS.

O AdGuard fornece uma lista com diversos serviços de DNS com todas as informações que você precisa para editar o comando acima e adicionar os servidores DNS que te interessarem.