Pular para o conteúdoHisnLabs
← DNS: a lista telefônica da internet

Aula 3 de 4 · 7 min

DNS criptografado: DoH e DoT

Dois padrões envolvem as buscas de DNS em criptografia. O que isso realmente esconde, o que ainda não esconde, e como o macOS oferece suporte.

A aula anterior descreveu uma busca de DNS simples como um cartão-postal: legível por qualquer um que o manuseie no caminho. Existem dois padrões do IETF para colocar esse cartão-postal em um envelope: DNS sobre TLS (DoT, RFC 7858) e DNS sobre HTTPS (DoH, RFC 8484). Os dois criptografam a mesma busca; eles diferem principalmente em como a transportam.

DNS sobre TLS

A RFC 7858 declara seu objetivo diretamente: “a criptografia fornecida pelo TLS elimina oportunidades de espionagem e adulteração no caminho das consultas de DNS”, tratando do fato de que “quase todas as consultas de DNS são enviadas sem criptografia, o que as torna vulneráveis à espionagem por um atacante”. O DoT usa sua própria porta dedicada, 853, em vez da porta 53 habitual. A RFC explica por quê: “essa recomendação contra o uso da porta 53 para DNS sobre TLS é para evitar complicação na escolha de uso ou não uso do TLS e para reduzir o risco de ataques de downgrade”.

DNS sobre HTTPS

A RFC 8484 segue um caminho diferente: “cada par de consulta-resposta de DNS é mapeado em uma troca HTTP”, transportado pela mesma porta 443 que o tráfego HTTPS comum usa. A RFC observa que isso tem um benefício colateral: “a porta padrão 443 do HTTPS e a capacidade de misturar o tráfego DoH com outro tráfego HTTPS na mesma conexão podem dissuadir dispositivos sem privilégios no caminho de interferir nas operações de DNS”, porque uma busca fica mais difícil de isolar e bloquear quando parece qualquer outra solicitação web.

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

O que a criptografia esconde, e o que ainda não esconde

Os dois padrões impedem que um operador de rede ou espião de Wi-Fi leia suas buscas em trânsito. Nenhum dos dois as esconde do resolvedor para o qual você as enviou. A RFC 8484 é explícita de que o DoH não muda o que o próprio servidor consegue ver: ela observa que “vários transportes de consultas e respostas de DNS de fato fornecem dados que podem ser usados para correlacionar solicitações”, e que mecanismos web comuns, como endereços IP do cliente, cookies e informações de sessão TLS, significam que “não se sabe que o DoH introduza novas preocupações além daquelas associadas ao HTTPS” no lado do servidor. A RFC 7858 observa de forma semelhante que o DoT “não trata outras questões de segurança no DNS” e que “mesmo com mensagens criptografadas, uma parte bem posicionada pode conseguir extrair certos detalhes a partir de uma análise dos horários e tamanhos das mensagens”. Em resumo: o DNS criptografado devolve a quem vê suas buscas para o operador do resolvedor que você escolheu, não remove a visibilidade por completo.

Existe uma segunda lacuna que vale a pena conhecer. Criptografar a busca de DNS não esconde, por si só, a qual site você então se conecta: o aperto de mão TLS que vem em seguida normalmente inclui o nome do host à mostra. Como a explicação da Cloudflare sobre a Indicação de Nome de Servidor (SNI) coloca, “a SNI inclui o nome do host na mensagem Client Hello, ou o primeiríssimo passo de um aperto de mão TLS” — enviada antes de a criptografia ser estabelecida. Uma extensão chamada SNI Criptografada (ESNI), a mesma fonte explica, “se soma à extensão SNI ao criptografar a parte SNI do Client Hello”, o que “impede que qualquer um espionando entre o cliente e o servidor consiga ver qual certificado o cliente está solicitando”. O suporte para esconder a SNI ainda depende de o navegador e o site concordarem com isso, e ainda não é como toda conexão funciona.

Como o macOS oferece suporte a isso

A Apple documenta uma configuração de Ajustes de DNS para Mac, iPhone e iPad que faz exatamente isso: ela permite que um dispositivo “encaminhe as consultas de DNS de um dispositivo através de um servidor de DNS criptografado usando DNS sobre HTTPS ou DNS sobre TLS”. Ela é entregue como um perfil de configuração, que pode restringir o resolvedor criptografado a domínios específicos por meio de “domínios de correspondência suplementares”, ou aplicar-se apenas em determinadas redes usando “regras sob demanda” que podem corresponder a coisas como o SSID da rede.

Para lembrar

  • O DoT (RFC 7858) criptografa o DNS com TLS em uma porta dedicada, 853; o DoH (RFC 8484) o criptografa e o transporta pela porta habitual do HTTPS, 443, misturando-se com o outro tráfego web.
  • Os dois impedem que espiões no caminho da rede leiam suas buscas.
  • Nenhum dos dois esconde suas buscas do resolvedor para o qual você as enviou: a própria RFC 8484 diz que não se sabe que o DoH introduza novas preocupações além daquelas associadas ao HTTPS no lado do servidor.
  • Mesmo com DNS criptografado, o aperto de mão TLS do próprio site normalmente revela seu nome de host à mostra (SNI), a menos que uma extensão como a SNI Criptografada seja usada.
  • O macOS e o iOS oferecem suporte a DNS criptografado por meio de um perfil de configuração de Ajustes de DNS documentado, que pode especificar DoH ou DoT e restringi-lo a determinados domínios ou redes.

Teste seus conhecimentos

  1. 1. Qual porta o DNS sobre TLS (DoT) usa, e por que uma dedicada?

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

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

  2. 2. Por que o DNS sobre HTTPS (DoH) usa a porta 443?

    • Porque é a única porta livre
    • Porque compartilhar 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 que outras portas
    • O DoH não usa a porta 443

    A RFC 8484 observa que misturar o DoH com o tráfego HTTPS comum na porta 443 "pode dissuadir dispositivos sem privilégios no caminho de interferir nas operações de DNS".

  3. 3. O DoH ou o DoT escondem suas buscas de DNS do resolvedor para o qual você as envia?

    • Sim, completamente
    • Não, eles escondem as buscas do caminho da rede, mas o operador do resolvedor ainda vê as consultas — Certo.
    • Só o DoH as esconde do resolvedor
    • Só o DoT as esconde do resolvedor

    A RFC 8484 afirma que não se sabe que o DoH introduza novas preocupações além daquelas associadas ao HTTPS no lado do servidor, o que significa que o operador do resolvedor continua conseguindo ver e correlacionar as consultas.

  4. 4. Mesmo com DNS criptografado, o que costuma ainda revelar a qual site você está se conectando?

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

    A Cloudflare explica que "a SNI inclui o nome do host na mensagem Client Hello" antes de a criptografia começar; a SNI Criptografada (ESNI) foi projetada para escondê-lo, mas ainda não é universal.

Praticar com o FireAI

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

Fontes

Coloque em prática no seu Mac

Teste todos os recursos grátis por 17 dias, sem cartão.

Baixar para Mac Docs