Visão geral técnica: Evitando vazamentos de DNS ao alternar interfaces de rede

[ware_item id=33][/ware_item]

Impedindo vazamentos de DNS ao alternar interfaces de rede


Para oferecer efetivamente a privacidade e segurança de um usuário, um aplicativo VPN deve garantir que as solicitações de DNS de um usuário permaneçam privadas por todo o período da conexão com a VPN. Os aplicativos geralmente fazem isso garantindo que todas as solicitações de DNS sejam enviadas criptografadas pelo túnel da VPN e tratadas pelos servidores DNS do provedor de VPN.

Para manter essa garantia, é importante entender em que cenários podem ocorrer vazamentos de DNS. Considerando apenas cenários simples, como quando as conexões de rede são estáveis, não é suficiente. No mundo real, as redes geralmente são instáveis, ou suas configurações podem mudar, e geralmente é quando ocorrem vazamentos. Investigar cenários complexos é, portanto, uma parte crucial do processo de engenharia de um aplicativo VPN à prova de vazamentos.

Na ExpressVPN, investimos tempo e esforço consideráveis ​​na investigação de cenários complexos sob os quais o aplicativo VPN pode vazar. No restante deste artigo, discutimos um cenário específico que descobrimos onde poderiam ocorrer vazamentos de DNS. Explicaremos como e por que o vazamento do DNS ocorre e forneceremos uma maneira de testar você mesmo os vazamentos.

Cenário: o DNS vaza após um comutador nas interfaces de rede

Alternar entre interfaces de rede é um cenário comum em que é possível vazar o DNS. Considere o seguinte exemplo:

  • Você está em casa com seu laptop e conectado ao Wi-Fi
  • Você se conecta ao seu aplicativo VPN
  • Algum tempo depois, você conecta seu cabo Ethernet

A maioria dos aplicativos VPN não detectará essa alteração na configuração da rede. Eles continuarão informando que sua privacidade e segurança ainda estão 100% protegidas; no entanto, a realidade pode ser muito diferente.

Nos bastidores, suas solicitações de DNS podem estar persistentemente vazando para o seu ISP ou para terceiros, e você nunca pode perceber isso.

Divisão técnica

Quando isso pode realmente acontecer?

Vamos dar o exemplo de um Mac (observe, porém, que esse vazamento também ocorre com dispositivos Windows). Suponha que você tenha uma conexão Wi-Fi e Ethernet disponível. Abra o aplicativo "System Preferences" e navegue para "Network". Você verá algo como o seguinte:

Vazamentos de DNS Wi-Fi

Isso indica que você está conectado a Wi-Fi e Ethernet, mas Ethernet é sua conexão preferida.

Suponha ainda que seu DNS seja entregue a um endereço IP "local". Você pode verificar isso clicando em “Avançado” quando sua conexão Ethernet estiver destacada e navegando para “DNS”. ​​Você verá algo parecido com isto:

Exibir servidor DNS

Se os endereços IP em "Servidores DNS" tiverem o formato 10.x.x.x, 192.168.x.x ou entre 172.16.x.xe 172.31.x.x, eles serão o endereço IP "local". Isso provavelmente significa que seu roteador está agindo como seu servidor DNS e, portanto, sem uma VPN, seu ISP pode ver todas as suas solicitações de DNS. Se você tiver essa configuração, poderá estar vulnerável a esse vazamento de DNS.

Observe que, mesmo que seus servidores DNS não tenham endereços IP locais, você provavelmente ainda estará vulnerável a vazamentos de DNS. Nesse caso, as solicitações de DNS podem passar pelo túnel da VPN. No entanto, eles não seriam roteados para o servidor DNS da VPN, mas para outro servidor DNS, como o do seu ISP ou de um provedor DNS de terceiros.

Como você pode verificar se você vaza?

O método mais simples é usar a ferramenta de vazamento de DNS da ExpressVPN e fazer o seguinte:

  • Verifique se o cabo Ethernet está desconectado
  • Verifique se você está conectado a uma rede Wi-Fi
  • Conecte-se ao seu aplicativo VPN
  • Use o testador de vazamento de DNS da ExpressVPN ou um testador de terceiros
  • Você deve ver apenas um servidor DNS listado
  • Se você estiver usando o ExpressVPN, nosso testador também dirá que é um servidor reconhecido.
  • Conecte seu cabo Ethernet
  • Atualize a página de vazamento de DNS. Se você está vazando DNS, agora verá uma lista diferente de servidores DNS

Você também pode verificar se há vazamentos de DNS sem depender de nossa página da web usando o tcpdump da seguinte maneira.

Primeiro, encontre a interface de rede correspondente à sua conexão Ethernet:

  • Abra uma janela do Terminal
  • Digite networksetup -listallhardwareports
  • Procure uma linha como "Porta de hardware: Ethernet Thunderbolt", p..
  • Porta de hardware: Thunderbolt Ethernet

  • A interface de rede para sua conexão Ethernet é mostrada ao lado de "Dispositivo". Neste exemplo, é en4

Agora, vamos executar o teste:

  • Verifique se o cabo Ethernet está desconectado
  • Conecte-se ao seu aplicativo VPN via Wi-Fi
  • Conecte seu cabo Ethernet
  • Abra uma janela do Terminal
  • Digite sudo tcpdump -i en4 port 53 e digite sua senha
  • O sudo fornece ao tcpdump os privilégios necessários para capturar o tráfego da rede
  • -O i en4 diz ao tcpdump para ouvir na interface Ethernet
  • Substitua en4 pela interface que você descobriu acima
  • porta 53 é a porta usada para o tráfego DNS e, portanto, mostra apenas solicitações DNS
  • Se você vir algum tráfego, há vazamentos de DNS, por exemplo.
  • Tráfego de vazamento de DNS

    O que realmente está acontecendo aqui?

    A causa principal desse vazamento é a maneira como o sistema operacional determina quais servidores DNS usar. Os servidores DNS usados ​​pelo sistema são sempre os associados ao serviço de rede ativa de prioridade mais alta - isso corresponde ao serviço verde no topo da lista na imagem acima.

    Com a Ethernet desativada, os servidores que receberão suas consultas DNS são os associados ao serviço Wi-Fi, pois agora é o serviço de rede ativa de maior prioridade. O mesmo acontece quando você se conecta a uma VPN. Para enviar corretamente o tráfego DNS para o servidor DNS da VPN, a maioria dos provedores de VPN altera os servidores DNS na interface de maior prioridade para seu próprio servidor DNS. Nesse cenário, isso significa que eles alteram os servidores DNS associados ao seu serviço de rede Wi-Fi.

    Quando você conecta o cabo Ethernet, o serviço de rede Ethernet volta ao topo da lista ativa, pois agora é o serviço de rede de maior prioridade. O sistema operacional tentará usar os servidores DNS associados a esse serviço para qualquer pesquisa de DNS.

    Muitos aplicativos de VPN não perceberão o problema porque sua rede Wi-Fi ainda está em funcionamento - nunca foi interrompida. No entanto, embora eles possam enviar seus dados criptografados pela rede Wi-Fi, suas solicitações de DNS serão enviadas não criptografadas para o seu ISP.

    Se seu aplicativo VPN não se proteger contra esse cenário, isso significará que suas solicitações de DNS vazarão do túnel para o seu ISP.

    Verificando servidores de nomes DNS no Terminal

    Como uma observação lateral, você pode investigar o comportamento dos servidores DNS com o comando scutil. Para ver quais servidores DNS o sistema está usando simplesmente:

    • Abra uma janela do Terminal
    • Digite scutil --dns
    • Na parte superior da saída, você deverá ver o "resolvedor nº 1" com uma lista de "servidores de nomes", por exemplo.
    • servidores de nomes do resolvedor # 1

    • Os endereços IP ao lado de cada "servidor de nomes" indicam o que o sistema usará para solicitações de DNS

    Interessado em aprender mais? Tem uma pergunta ou comentário?

    Nossa equipe de engenharia gostaria de saber sua opinião - basta nos escrever em [email protected]

    Visão geral técnica: Evitando vazamentos de DNS ao alternar interfaces de rede
    admin Author
    Sorry! The Author has not filled his profile.