Agora que o serviço de DNS não é mais um mistério, vale adentrar no quesito privacidade de dados na web no que se refere ao DNS, porém inicialmente vale conferir algumas palavras de Tim Berners-Lee que é físico, cientista da computação, professor do MIT e foi o criador da World Wide Web (www). No 28º aniversário da proposta de criação da World Wide We ocorrido em 12/03/2017, Tim elencou três tendências que são ameaças para o futuro da rede: a coleta desenfreada de dados, as notícias falsas e as propagandas políticas enganosas. Anteriormente, no 25º aniversário, ele registrou em video ao TED Talks onde deixou sua excelente e inesquecível carta magna para a internet que vale conferir no vídeo abaixo:
Vazamento de IP pelo Navegador
Para entendermos como nos proteger contra este tipo de vazamento, primeiramente é preciso atentar ao conceito WebRTC ( Web Real-Time Communication ) que é um projeto gratuito e de código aberto que fornece aos navegadores da Web e aplicativos móveis comunicação em tempo real (RTC) via interfaces de programação de aplicativos (APIs) simples. Ele viabiliza a comunicação de áudio e vídeo funcione dentro de páginas da Web, permitindo a comunicação ponto a ponto direta, eliminando a necessidade de instalar plug – ins ou baixar aplicativos nativos. Com suporte do Google , Mozilla e Opera , o WebRTC é padronizado através do World Wide Web Consortium (W3C) e da Internet Engineering Task Force (IETF).
Mas em que isso é importante? Bom o WebRTC implementa o STUN (Session Traversal Utilities para Nat), um protocolo que permite descobrir o endereço IP público de alguém. Para testar se o seu WebRTC está exposto é simples, basta acessar o link IPLEAK e, caso esteja, irá aparecer o endereço WebRTC, IP e todas as tuas informações em relação à seu acesso e localização, ou seja, você está exposto para ser encontrado caso apareça seus dados, teoricamente.
Um site que quer saber o seu endereço IP real pode configurar muito facilmente um código oculto e fazer solicitações UDP para este servidor STUN, que encaminharia esses pedidos para todas as interfaces de rede disponíveis. Nessa situação, tanto o seu endereço IP real quanto o seu endereço IP VPN seriam revelados, e isso pode ser feito com apenas algumas linhas de código javascript. Tais pedidos não são solicitações HTTP típicas e os plugins do navegador não podem bloquear de forma confiável esse tipo de vazamento, o que piora consideravelmente a situação. Vale realizar algumas configurações para desativá-lo, caso desejar. Segue abaixo o que fazer:
- Mozilla Firefox: Digite “about: config” na barra de endereços. Desça até “media.peerconnection.enabled”, clique duas vezes para defini-lo como false;
- Google Chrome: Instale a extensão oficial do Google WebRTC Network Limiter;
- Opera: Digite “about: config” na barra de endereços ou vá para “Configurações”. Selecione “Mostrar configurações avançadas” e clique em “Privacidade e segurança”. Na marca “WebRTC”, selecione “Desativar UDP não-proxy”;
- Caso utilize VPN, configure também as regras de firewall adequadas, para que nenhuma solicitação fora de sua VPN possa ser realizada.
Vazamento de um endereço IP a partir da VPN
Por Padrão o servidor DNS utilizado é o do seu ISP (Provedor de Internet), porém não é recomendável mantê-lo, uma vez que informações podem ser utilizadas já que estes servidores necessitam manter logs e informações de tráfego. Pode-se optar por um servidor DNS público como o da Google (8.8.8.8) por exemplo, porém este também mantém logs. Porém se você utiliza uma boa VPN, as pagas com certeza, esta normalmente possui um servidor de DNS dedicado e isto evita que seus dados de trafego DNS sejam vazados, caso o servidor DNS da sua VPN seja confiável claro.
Outro ponto que merece atenção é a certeza de que há suporte ao IPv6 por ser provedor de VPN. IPv6 é a versão mais recente do protocolo de endereçamento que hoje está em difusão, porém a maioria dos dispositivos ainda utilizam o IPv4 que usa endereços de 32 bits, ou seja, teoricamente só poderia existir 2^32 dispositivos com um IP público exclusivo no mundo, porém sabemos que isso não é uma realidade e a internet se expande de forma contínua necessitando o que fez surgir o IPv6 que utiliza endereços de 128 bits aumentando o número de IPs exclusivos para 2^128. A implantação do IPv6 ainda ocorre de forma lenta e alguns sites já possuem suporte para ambas as versões atendendo em canal próprio para cada versão do sistema do cliente. O problema começa a ocorrer quando uma VPN não suporta o IPv6 e o usuário acessa sites que suportam o IPv6, neste caso o provedor de VPN ignora essa informação e ao direcionar o tráfego pelo túnel o que ocasiona no envio de uma solicitação visível pelo navegador fora de sua VPN deixando o seu endereço de IP real vulnerável. Para mitigar esse risco é só seguir o já mencionado:
Use uma VPN que forneça um servidor DNS dedicado de preferência com suporte ao IPv6 e uma proteção de vazamento de DNS integrada ou configure seu próprio servidor DNS ou utilize o 1.1.1.1 que é uma excelente opção por não manter logs, mas falaremos sobre em breve.
Vazamento de DNS a partir do sistema operacional
O Windows como sistema operacional mais comum entre os usuários de internet merece atenção neste ponto. O Windows normalmente utiliza uma sequencia para mapeamento DNS, ou seja, inicia por verificar se há uma configuração DNS específica do usuário, normalmente em um arquivo HOST, e tentará resolver a partir desta especificação local caso exista. Caso não haja uma configuração específica, o sistema tentará resolver a partir de algum servidor DNS configurado. Caso também não consiga resolver ele apontará para a Netbios (Network Basic Input / Output System). Ou seja, há uma sequência lógica de busca por um “resolvedor de endereços” no Windows hierarquizando esta busca. Porém há ainda outra ressalva direcionada a ao Windows 10, pois este realiza um broadcast de solicitações aos adaptadores de rede e aceita o resultado do servidor DNS que responder primeiro. O que isso significa é que mesmo se você estiver conectado a uma VPN, as solicitações de resolução de DNS podem ainda ir ao servidor do seu ISP caso este responda primeiro.
Mais um ponto a citar é sobre o Tunel de Teredo utilizado pelo Windows para suporte ao IPv6 nativo. Neste caso o DNS pode vazar de uma VPN e devem ser seguidas as seguintes etapas caso queira mitigar esse risco O Windows usa o túnel Teredo para suportar endereços IPv6 para hosts que ainda estão na rede IPv4 e não possuem suporte IPv6 nativo. Isso significa que o seu DNS pode estar vazando de sua rede VPN. As seguintes etapas devem ser tomadas para evitar esses tipos de vazamento:
- Desabilitar o túnel Teredo.
- Desativar a otimização do Windows 10 desabilitando a resolução de nomes multihomed inteligente no editor de política de grupo. A versão Windows 10 home basic não possui uma opção para editar a política de grupo.
Mas eu realmente devo me preocupar com um vazamento de DNS?
Consultas DNS padrão, que são necessárias para quase todo o tráfego da Web, criam oportunidades para explorações de DNS, como sequestro de DNS e ataques man-in-the-middle. Esses ataques podem redirecionar o tráfego de entrada de um website para uma cópia falsa do site, coletando informações confidenciais do usuário e expondo as empresas a grandes responsabilidades.
Se você não quer que seu ISP(Internet Service Provider – Provedor de Internet) ou qualquer pessoa com capacidade de monitorar sua conexão, saiba os nomes que seu sistema tenta resolver (os sites que você visita, etc.) você deve evitar que seu sistema vaze DNS. E isso se torna extremamente relevante caso você seja uma pessoa pública importante, um grande empresário ou jornalista, ou mesmo esteja em países hostis com forte repressão e censura à internet, pois a descoberta de certos tipos de acesso pode ser prejudicial, além da possibilidade de utilização desta informação para direcionamento de publicidade conforme análise de tráfego. Uma das formas mais conhecidas de proteção contra ameaças de DNS é adotar o protocolo DNSSEC.
Já sabemos os riscos sobre vazamentos DNS e como nos precavermos, agora vamos nos aprofundar no protocolo DNSSEC e nos mais comuns ataques sobre o DNS em breve.
Leia toda a série de posts:
- Cloudflare DNS 1.1.1.1: Velocidade e Privacidade – Parte 1/6: O que é DNS?
- Cloudflare DNS 1.1.1.1: Velocidade e Privacidade – Parte 2/6: Tipos de servidores de DNS
- Cloudflare DNS 1.1.1.1: Velocidade e Privacidade – Parte 3/6: Você está exposto na web e o que o seu serviço de DNS tem com isso?
- Cloudflare DNS 1.1.1.1: Velocidade e Privacidade – Parte 4/6: DNSSEC e Ciberataques de DNS
- Cloudflare DNS 1.1.1.1: Velocidade e Privacidade – Parte 5/6: Por que o serviço de DNS 1.1.1.1 é um diferencial?
- Cloudflare DNS 1.1.1.1: Velocidade e Privacidade – Parte Final: Já está convencido? Veja como configurar o DNS 1.1.1.1