Saltar para o conteúdoHisnLabs
← DNS: o livro de endereços da internet

Lição 3 de 4 · 7 min

DNS encriptado: DoH e DoT

Duas normas envolvem as pesquisas DNS em encriptação. O que isso realmente esconde, o que continua a não esconder, e como o macOS o suporta.

A lição anterior descreveu uma pesquisa DNS simples como um postal: legível por qualquer pessoa que o manuseie pelo caminho. Existem duas normas do IETF para colocar esse postal num envelope: DNS over TLS (DoT, RFC 7858) e DNS over HTTPS (DoH, RFC 8484). Ambas encriptam a mesma pesquisa; diferem principalmente na forma como a transportam.

DNS over TLS

A RFC 7858 declara o seu objetivo diretamente: "a encriptação fornecida pelo TLS elimina oportunidades de escuta e de adulteração no percurso das consultas DNS", resolvendo o facto de que "quase todas as consultas DNS são enviadas sem encriptação, o que as torna vulneráveis a escuta por um atacante." O DoT usa a sua própria porta dedicada, a 853, em vez da habitual porta 53. A RFC explica porquê: "esta recomendação contra o uso da porta 53 para o DNS over TLS destina-se a evitar complicações na seleção do uso ou não uso de TLS e a reduzir o risco de ataques de downgrade."

DNS over HTTPS

A RFC 8484 segue um caminho diferente: "cada par de consulta-resposta DNS é mapeado para uma troca HTTP", transportada na mesma porta 443 que o tráfego HTTPS comum usa. A RFC nota que isto tem um benefício secundário: "a porta predefinida do HTTPS, 443, e a capacidade de misturar tráfego DoH com outro tráfego HTTPS na mesma ligação podem dissuadir dispositivos sem privilégios no percurso de interferirem com as operações de DNS", porque uma pesquisa é mais difícil de isolar e bloquear quando parece qualquer outro pedido web.

Fonte: Cloudflare Learning, DNS over TLS vs. DNS over HTTPS.
DNS over TLS (DoT)DNS over HTTPS (DoH)
Porta853, dedicada ao DoT443, partilhada com o tráfego HTTPS comum
Visível na rede comoO seu próprio tráfego distinto (fácil de identificar e, se uma rede assim escolher, bloquear)Misturado com a navegação web normal

O que a encriptação esconde, e o que continua a não esconder

Ambas as normas impedem que um operador de rede ou alguém a escutar o Wi-Fi leia as suas pesquisas em trânsito. Nenhuma delas as esconde do resolvedor a quem as enviou. A RFC 8484 é explícita quanto a o DoH não mudar o que o próprio servidor consegue ver: nota que "vários transportes de consultas e respostas DNS fornecem de facto dados que podem ser usados para correlacionar pedidos", e que os mecanismos web comuns, como endereços IP de cliente, cookies e informação de sessão TLS, significam que "não é conhecido que o DoH introduza novas preocupações para além das já associadas ao HTTPS" do lado do servidor. A RFC 7858 nota de forma semelhante que o DoT "não resolve outras questões de segurança no DNS" e que "mesmo com mensagens encriptadas, uma parte bem posicionada pode conseguir extrair certos detalhes a partir de uma análise dos tempos e tamanhos das mensagens." Em resumo: o DNS encriptado desloca quem vê as suas pesquisas de volta para o operador do resolvedor que escolheu, não remove a visibilidade por completo.

Há uma segunda lacuna que vale a pena conhecer. Encriptar a pesquisa DNS não esconde por si só a que site se liga a seguir: o cumprimento TLS (handshake) que se segue normalmente inclui o nome do anfitrião à vista. Como coloca a explicação da Cloudflare sobre a Indicação de Nome do Servidor (SNI), "a SNI inclui o nome do anfitrião na mensagem Client Hello, ou o primeiríssimo passo de um cumprimento TLS" — enviado antes de a encriptação ser estabelecida. Uma extensão chamada SNI Encriptada (ESNI), explica a mesma fonte, "acrescenta-se à extensão SNI ao encriptar a parte SNI do Client Hello", o que "impede que qualquer pessoa a espiar entre o cliente e o servidor consiga ver que certificado o cliente está a pedir." O suporte para esconder a SNI ainda depende do navegador e do site concordarem com isso, e ainda não é como todas as ligações funcionam.

Como o macOS o suporta

A Apple documenta uma configuração de Definições de DNS para Mac, iPhone e iPad que faz exatamente isto: permite a um dispositivo "encaminhar as consultas DNS de um dispositivo através de um servidor DNS encriptado usando DNS over HTTPS ou DNS over TLS." É entregue como um perfil de configuração, que pode restringir o resolvedor encriptado a domínios específicos através de "domínios de correspondência suplementares", ou aplicar-se apenas em certas redes usando "regras a pedido" que podem corresponder a coisas como o SSID da rede.

A reter

  • O DoT (RFC 7858) encripta o DNS com TLS numa porta dedicada, a 853; o DoH (RFC 8484) encripta-o e transporta-o pela porta habitual do HTTPS, a 443, misturando-se com outro tráfego web.
  • Ambos impedem que quem escuta na rede leia as suas pesquisas.
  • Nenhum dos dois esconde as suas pesquisas do resolvedor a quem as enviou: a própria RFC 8484 diz que não é conhecido que o DoH introduza novas preocupações para além das já associadas ao HTTPS do lado do servidor.
  • Mesmo com DNS encriptado, o cumprimento TLS do próprio site normalmente revela o seu nome de anfitrião à vista (SNI), a menos que seja usada uma extensão como a SNI Encriptada.
  • O macOS e o iOS suportam DNS encriptado através de um perfil de configuração documentado de Definições de DNS, que pode especificar DoH ou DoT e restringi-lo a certos domínios ou redes.

Teste-se

  1. 1. Que porta usa o DNS over TLS (DoT), e porquê uma dedicada?

    • A porta 80, a mesma do HTTP
    • A porta 853, escolhida em parte para evitar ataques de downgrade que poderiam surgir da ambiguidade na porta 53 — Certo.
    • A porta 25, a mesma do e-mail
    • Uma porta aleatória de cada vez

    A RFC 7858 atribui ao DoT a sua própria porta, 853, explicando que evitar a porta 53 para isto "reduz o risco de ataques de downgrade."

  2. 2. Porque é que o DNS over HTTPS (DoH) usa a porta 443?

    • Porque é a única porta livre
    • Porque partilhar a porta 443 com o tráfego HTTPS comum torna o DoH mais difícil de isolar e bloquear — Certo.
    • Porque a porta 443 é mais rápida do que outras portas
    • O DoH não usa a porta 443

    A RFC 8484 nota que misturar o DoH com o tráfego HTTPS normal na porta 443 "pode dissuadir dispositivos sem privilégios no percurso de interferirem com as operações de DNS."

  3. 3. O DoH ou o DoT escondem as suas pesquisas DNS do resolvedor a quem as envia?

    • Sim, completamente
    • Não, escondem as pesquisas do percurso de rede, mas o operador do resolvedor continua a ver as consultas — Certo.
    • Só o DoH as esconde do resolvedor
    • Só o DoT as esconde do resolvedor

    A RFC 8484 afirma que não é conhecido que o DoH introduza novas preocupações para além das já associadas ao HTTPS do lado do servidor, o que significa que o operador do resolvedor continua a conseguir ver e correlacionar as consultas.

  4. 4. Mesmo com DNS encriptado, o que costuma continuar a revelar a que site se está a ligar?

    • A palavra-passe do Wi-Fi
    • O nome do anfitrião enviado à vista no Client Hello do TLS (SNI), a menos que seja usada uma extensão como a SNI Encriptada — Certo.
    • O endereço IP privado do seu Mac
    • A cache do resolvedor de DNS

    A Cloudflare explica que "a SNI inclui o nome do anfitrião na mensagem Client Hello" antes de a encriptação começar; a SNI Encriptada (ESNI) foi concebida para o esconder, mas ainda não é universal.

Praticar com o FireAI

Ponha esta lição em prática no seu próprio Mac.

Fontes

Ponha em prática no seu Mac

Experimente todas as funcionalidades grátis durante 17 dias, sem cartão.

Transferir para Mac Docs