Abrir Introdução ao DNS (mudar para uma explicação longa do DNS)
Dispositivos ligados à Internet são atribuídos números únicos chamados endereços IP. Conhece este site como RouterSecurity.org e o seu endereço IP é 216.92.136.14. Toda a comunicação na Internet é baseada nestes números únicos, os nomes dos sítios e os nomes dos computadores são apenas uma conveniência. O sistema que traduz nomes para os endereços IP numéricos subjacentes é chamado DNS (Domain Name System) e os computadores que fazem a tradução são referidos como servidores DNS.
DNS Servidores são extremamente importantes. Provavelmente 99% de toda a comunicação entre dois computadores na Internet, começa com uma chamada a um servidor DNS para traduzir um nome de computador para um endereço IP.
Servidores DNS maliciosos podem fazer o que qualquer tradutor malicioso pode fazer – mentir-lhe. Por exemplo, podem enviar-lhe uma cópia fraudulenta de um website. Tal como a comida, não deve levar servidores DNS de um estranho.
P>Pode verificar um computador ou router para ver quais devem ser os seus servidores DNS, mas as páginas abaixo mostram o que eles realmente são. Elas relatam os servidores DNS que o seu dispositivo informático está actualmente a utilizar. Precisamos de testes como estes porque existem quatro locais de onde os servidores DNS poderiam ter vindo: o router a que um dispositivo informático está ligado, o próprio dispositivo informático, software cliente VPN a correr no dispositivo informático ou um navegador Web configurado para utilizar DNS encriptado (DoH ou DoT). Para mais sobre DNS encriptado ver o tópico DNS encriptado no meu sítio da Lista de Controlo de Computação Defensiva.
Nota: Se um navegador web estiver a utilizar DNS encriptado enquanto outro, no mesmo dispositivo informático, não estiver, então espere que os testes abaixo mostrem resultados diferentes em cada navegador.
Aprenda os seus servidores DNS actuais
- O teste de fugas DNS é patrocinado pelo fornecedor de VPN IVPN. Oferece um teste padrão rápido e um teste prolongado mais lento. Ambos reportam o endereço IP, nome do anfitrião, ISP e país para cada servidor DNS detectado (sem cidade).
- O teste de fugas DNS do fornecedor de VPN Perfect Privacy reporta o endereço IP, nome do anfitrião, ISP e país anfitrião para cada servidor DNS detectado.
- No browserleaks.com/ip é necessário rolar para baixo para ver o(s) servidor(es) DNS. Relata o endereço IP, o ISP, a cidade e o país dos servidores DNS. Não reporta os nomes de anfitriões dos servidores DNS. A página também mostra muitas outras informações úteis, como o seu endereço IP público, nome do anfitrião, localização e ISP.
/li>>li> DNS Leak Test do fornecedor de VPN ExpressVPN reporta o endereço IP, País e “Fornecedor” para cada servidor DNS detectado. Não comunica um nome de anfitrião ou cidade. Note que avisa sempre que “O seu DNS está exposto!” o que significa realmente que não está ligado ao ExpressVPN. - Se estiver a utilizar o OpenDNS, pode verificar isto em www.opendns.com/welcome/. Em vez de mostrar todos os servidores DNS detectados, simplesmente reporta um estado SIM/NÃO sobre se o OpenDNS está a ser utilizado.
- Cloudflare tem uma página de teste em cloudflare-dns.com/help. Um URL mais memorável que também funciona é 1.1.1.1/help. O mais importante parece estar “Ligado a 1.1.1.1.1” que é SIM/NÃO. Se estiver a utilizar Cloudflare, mostra o estado do DNS sobre HTTPS e do DNS sobre TLS. O “AS Name” identifica o ISP do seu fornecedor de DNS. Provavelmente não é útil quando utiliza uma VPN, mas dirá “Cloudflare” se estiver a utilizar o seu serviço. Também testa a capacidade do seu computador para se ligar a 1.1.1.1 e 1.0.0.1 e aos seus irmãos IPv6. Só mais uma coisa: eles também fornecem www.cloudflarestatus.com que relata o estado geral do seu serviço. Ironicamente, se o seu serviço estiver em baixo, irá bloquear os seus utilizadores de verem este website. Não é possível aceder ao cloudflarestatus.com por endereço IP (216.146.46.11). Eu tentei.
Update. 2 de Abril de 2020: O Cloudflare acaba de anunciar dois novos serviços DNS de filtragem. O ancorado em 1.1.1.2 (backup é 1.0.0.2) filtra o malware e o ancorado em 1.1.1.3 (backup é 1.0.0.3) filtra tanto o malware como a pornografia. A partir de hoje, não parecem ter testadores especificamente para estes novos serviços. A partir de Julho de 2020, estes serviços mais recentes não estão disponíveis como DNS encriptado.
Update. 27 de Maio de 2020: Note-se que a página de testes Cloudflare está apenas interessada em Cloudflare. Portanto, quando diz que nem DoH nem DoT estão a ser utilizados, isso significa que não estão a ser utilizados com o Cloudflare. Um web browser que esteja a utilizar DoH ou DoT com outro fornecedor DNS, será reportado como não utilizando DoH ou DoT. - NextDNS não tem uma página web de teste dedicada, mas a sua página web serve o mesmo propósito. Para testar o NextDNS, vá ao seu website e clique no grande botão azul que diz “Experimente-o agora gratuitamente”. O topo da página resultante dirá: “Tudo de bom! Este dispositivo está a utilizar NextDNS com esta configuração” se estiver a ser utilizado o NextDNS. Caso contrário, a página dirá: “Este dispositivo não está a utilizar o NextDNS. Este dispositivo está actualmente a utilizar xxxxxx como resolvedor DNS”. Note-se que ambas as mensagens são mal redigidas. O teste não se aplica necessariamente a todo o sistema, é apenas garantido para o navegador da web que está a ser utilizado actualmente. Outros navegadores no mesmo sistema e o próprio SO poderiam estar a utilizar diferentes fornecedores de DNS.
Update. 14 de Junho de 2020: Graças à Reddit, soube hoje que o NextDNS tem uma página de teste: test.nextdns.io. No entanto, não consegui encontrar qualquer documentação sobre ela. Brincando com ela descobri que um estado de “ok” e um protócl de “DOH” significa que o browser/OS está a usar NextDNS. Um estado de “não configurado” significa que ele/eles não estão a utilizar NextNDS.Quando NextDNS está a ser utilizado, também mostra o seu endereço IP público (IP do cliente) e o endereço IP do servidor NextDNS.
/li>li> O testador Tenta VPN relata mais detalhes sobre os seus servidores DNS do que em qualquer outro lugar que eu conheça. Para cada servidor DNS detectado reporta o endereço IP, ISP, e a cidade, estado e país. Não mostra o nome da hostname. Mostra se o TLS está activado, se o DNSSEC está activado e muitos outros atributos de cada servidor DNS que estão, francamente, sobre a minha cabeça e não explicados. Também dá uma nota ao servidor DNS. A página testa muitas outras coisas também. - ipx.ac é do provedor VPN VPN.ac. Clique no grande fundo cor-de-laranja na parte inferior da página para ver o endereço IP, país e ISP dos servidores DNS detectados. Não mostra os nomes de cada servidor DNS. Testa muito mais do que apenas DNS.
- Am I Mullvad? é uma página de teste de VPN para a VPN Mullvad. Além de confirmar que está ligado à sua VPN, mostra também o endereço IP, nome e país dos seus servidores DNS. E, também testa WebRTC.
- Se utilizar AdGuard para DNS, a sua página de resumo inclui um testador e confirmará/denegará a utilização do seu serviço (está algures no meio de uma página muito longa. Além disso, têm uma página de teste dedicada que testa tanto para o seu serviço DNS como para outro software do seu.
- dnsleak.com é patrocinada e operada pela London Trust Media, a empresa por detrás do provedor VPN Private Internet Access. Relata o endereço IP, nome da máquina, cidade e país para cada servidor DNS detectado, mas não o fornecedor de acesso privado à Internet. Uma coisa agradável sobre os resultados dos testes é que mostra o seu endereço IP público mesmo ao lado do endereço IP do servidor DNS. Se estiver numa VPN que utiliza o servidor VPN como servidor DNS, pode facilmente verificar se é este o caso. No entanto, quando o experimentei pela última vez em Setembro de 2020, o teste não pendurou e não reportou nada. Experimentei vários computadores, vários navegadores.
- www.whatsmydnsserver.com é da Sericon Technology. Relata um único servidor DNS, mesmo quando outros testadores reportam múltiplos. Mostra o endereço IP e o “Proprietário” do servidor DNS.
- O F-Secure Router Checker não verifica realmente os routers, apenas informa sobre um servidor DNS. Todos os outros verificadores do servidor DNS reportam sobre múltiplos servidores DNS detectados, mas o F-Secure apenas reporta sobre um. A empresa diz que o seu objectivo é assegurar que o seu router está a utilizar um “servidor DNS autorizado”, mas não existe tal coisa e eles não a definem.
- ipleak.net é do fornecedor de VPN AirVPN. Para cada servidor DNS, reporta o endereço IP e a localização. Sem ISP ou hostname. Também informa sobre muitas outras coisas, tais como WebRTC e a resolução do seu ecrã. Esta é a minha opção menos favorita, uma vez que a fonte utilizada para os endereços IP é praticamente ilegível. Está também disponível nas portas 8000 e 62222.
TESTES DE SISTEMA DE OPERAÇÃO
Para ver o que o Sistema Operativo está a usar para DNS, fora de qualquer navegador da web, podemos usar o comando nslookup nos sistemas operativos de desktop (Windows, macOS, Linux). A sintaxe do comando é muito simples: “nslookup domainname”. A primeira coisa devolvida pelo comando é o nome e o endereço IP do servidor DNS padrão. Abaixo está um ecrã do Windows 7 mostrando que o sistema está a utilizar o servidor DNS dns9.quad9.net no endereço IP 9.9.9.9.
configurações DNS no Sistema Operativo pode estar em todo o mapa. Podem existir diferentes servidores DNS configurados para Ethernet vs. Wi-Fi. E, cada rede sem fios (SSID) pode ser configurada para utilizar diferentes servidores DNS. O Android 9, 10 e 11 permitem uma configuração de DNS global para todo o sistema operativo.
Se uma ligação de rede específica/SSID especifica o(s) seu(s) servidor(es) DNS desejado(s), então é-lhe atribuído um servidor DNS pelo router. Mas, mais uma vez, uma complicação. O router pode funcionar como um servidor DNS em si, ou pode simplesmente passar pedidos DNS para um servidor DNS na Internet.
No exemplo acima, a ligação de rede foi especificamente configurada para utilizar o Quad9. No exemplo abaixo, um computador Windows 10 está a utilizar o próprio router como servidor DNS.
É comum pensar que se o Sistema Operativo especificar servidores DNS, estes serão utilizados. Nem sempre é este o caso. Alguns routers (tais como o Pepwave Surf SOHO) podem forçar os clientes a utilizar os servidores DNS especificados no router. Dito isto, a minha experiência tem sido que isto só se aplica ao antigo DNS. Os browsers que especificaram servidores DNS do tipo DoH tiveram os seus pedidos honrados.
Isto significa que o servidor DNS reportado por nslookup não pode ser confiável. Na primeira imagem do ecrã acima, parece que o Windows está a utilizar o 9.9.9.9 para a resolução DNS. Mas, se o Windows estiver configurado para utilizar o 9.9.9.9 e o router estiver configurado para utilizar o 1.1.1.1 (por exemplo) e o router estiver a impor a sua vontade em todos os dispositivos anexos (uma funcionalidade oferecida pelo Peplink e outros routers), nslookup irá reportar que está a utilizar o 9.9.9.9. Não está a mentir de propósito, está a ser falsificado pelo router. Os pacotes que saem da porta WAN serão enviados para 1.1.1.1, de acordo com o router. Aprendi isto da maneira mais difícil, ao fazer traços de pcap dos pacotes de dados que saem da porta WAN. Presumo que o mesmo é verdade com o comando digitar em Linux e macOS.
p>E, claro, uma VPN complica ainda mais isto. Abaixo está um ecrã de nslookup feito enquanto um computador Windows 10 estava ligado a uma VPN. Neste caso, nslookup devolve o endereço IP do servidor DNS na rede interna do fornecedor de VPN. O servidor não é desconhecido, apenas o seu nome é.
Os utilizadores do Windows podem localizar todas as instâncias de DNS antigo utilizando o programa DNSQuerySniffer gratuito e portátil de Nir Sofer (ver uma imagem do ecrã). Execute-o antes de utilizar um navegador para ver se o navegador está a utilizar DNS antigo ou novo. Desligue todos os navegadores, execute DNSQuerySniffer e espere, para ver os pedidos DNS antigos gerados pelo próprio Windows.
Até agora outra abordagem, para Windows, foi sugerida por Sergiu Gatlan no seu artigo de Agosto de 2020, Microsoft adiciona o DNS do Windows 10 na secção de definições HTTPS. Ele sugere a utilização do comando pktmon para rastrear toda a actividade na porta TCP/IP 53. O comando pktmon não pode exibir apenas pedidos de saída, inclui sempre também as respostas, pelo que gera muita actividade na janela de comando. Mas, irá confirmar a utilização do antigo DNS. Os comandos que Gatlan sugere são:
pktmon filter remove
pktmon filter add -p 53
pktmon filter start –etw -l real-time
I sugere que se faça primeiro uma lista de filtros pktmon apenas para ver se algum filtro está activo. O registo pode ser interrompido com Ctrl+C.
Tanto em Linux como em macOS, pode usar o comando digitar para ver qual o servidor DNS que está a ser utilizado. Em macOS, faça Aplicações -> Utilitários -> Terminal. Para Linux ver Como Utilizar o Comando Digitalizar no Linux por Dave McKay (Abril de 2020). Um simples comando dig somedomain.com deve mostrar o servidor DNS utilizado para responder à pergunta. Procurar “SERVER:” na saída.
SAD DNS
Um novo ataque aos servidores DNS, chamado SAD DNS foi tornado público em Novembro de 2020. O ataque tenta envenenar os resultados do DNS, ou seja, apontar as vítimas para um servidor malicioso no endereço IP errado para um domínio. O ataque foi criado por seis académicos na Universidade da Califórnia, em Riverside e na Universidade de Tsinghua. Ver o seu papel e diapositivos.
Pode testar se está a utilizar um servidor DNS vulnerável utilizando a ligação “Clique para verificar se o seu servidor DNS está afectado” na página DNS do SAD. No entanto, advertem que o seu teste não é 100% exacto.
A 12 de Novembro de 2020 realizei alguns testes. Cloudflare, Google e Quad9 eram todos vulneráveis. O DNS do meu fornecedor de VPN não era. A seguir, o DNS do SAD não conseguiu resolver inicialmente a página do DNS. O registo mostrou que estava a bloquear o saddns.net porque era um domínio recentemente registado. Nada de mais importante do que fazer uma lista branca do domínio. O NextDNS também foi reportado como vulnerável.
Porquê Incómodo
Hackear um router e alterar os servidores DNS é um tipo de ataque muito popular. Alguns relatórios nas notícias:
- O Brasil está na vanguarda de um novo tipo de ataque de router por Catalin Cimpanu para a ZDNet 12 de Julho de 2019
- Os ataques de drive-by a routers estão vivos e bem. Eis o que fazer por Dan Goodin a 11 de Julho de 2019
li> NCSC Issues Alert About Active DNS Hijacking Attacks by Ionut Ilascu for Bleemping Computer 14 de Julho de 2019li> Ongoing DNS hijackings target Gmail, PayPal, Netflix, banks and more by Dan Goodin of Ars Technica 5 de Abril de 2019
And…
Aviso aos utilizadores do Windows: Existe um problema de cache ou de buffering envolvendo VPNs. Após a ligação a uma VPN, os sítios acima indicados mostram tipicamente tanto os servidores DNS pré-VPN como o servidor DNS actual do fornecedor de VPN. No iOS 12 e Android 7.1 todos os testadores acima funcionam bem, apenas Windows é buggy. Não testei outros sistemas operativos. Na imagem do ecrã abaixo, a partir da página do Express VPN tester, os quatro servidores OpenDNS estavam em uso antes da ligação VPN ter sido feita e o servidor da Leaseweb USA é do fornecedor de VPN. Tentei o comando “ipconfig /flushdns” mas não ajudou.
br>Express VPN tester while connected to a VPN
On Windows, a única página de teste acima que foi à prova de bala na minha experiência é a do OpenDNS. Simplesmente relata um SIM/NÃO sobre se o OpenDNS está a ser utilizado e não se deixa enganar por qualquer problema de cache que confunda os outros testadores. Como nota secundária, todos os serviços VPN que utilizei atribuem um único servidor DNS. Fora de uma VPN, existem normalmente dois ou mais servidores DNS em uso.
Outro problema é que diferentes testadores DNS reportam um número diferente de servidores DNS. Alguns só reportam num servidor DNS, outros reportam em vários servidores DNS. Não sei porque é que isto é.
Servidores DNS de nuvem são 1.1.1.1 e 1.0.0.1. Em Novembro de 2018, o Cloudflare lançou aplicações iOS e Android que configuram esses sistemas para utilizar os seus servidores DNS. Funciona através da criação de uma pseudo ligação VPN. Os testadores acima não reportam 1.1.1.1 ou 1.0.0.1 como os servidores DNS em uso. A aplicação Cloudflare mostrará que está a ser utilizada, e tenho a certeza que sim, mas os testadores de DNS acima referidos reportam outros endereços IP. E, também não se pode ir pelo nome do anfitrião, os servidores utilizados pelo Cloudflare não têm nomes de anfitrião. A única pista destes testadores é que o Cloudflare é o ISP.
Uma característica do DNS Cloudflare é a encriptação. A ligação entre o seu computador e o seu servidor DNS é encriptada utilizando uma de duas abordagens bastante novas: DNS sobre TLS ou DNS sobre HTTP. Isto é apenas um problema quando não se está a utilizar uma VPN. Uma VPN encripta tudo (quando está a funcionar correctamente) vindo e vindo do computador, pelo que não há necessidade de prestar especial atenção à encriptação de DNS.
Aviso aos leitores WIRED: O artigo You Know What? Go Ahead and Use the Hotel Wi-Fi by Brian Barrett (18 de Novembro de 2018) chega a uma conclusão muito errada. O ponto principal do artigo é que o uso generalizado de HTTPS (sites seguros) elimina os antigos perigos de farejar e bisbilhotar dados não encriptados. Por um lado, isto mostra uma falta de compreensão dos limites do HTTPS. Os sítios Web seguros não merecem tanta confiança. Ainda assim, o maior perigo é que, numa rede pública sem fios, se tenha uma ligação encriptada com os maus da fita. O HTTPS não faz nada para o proteger de um site fraudulento que parece suficientemente real, exibe o URL correcto na barra de endereços, mas cujo único objectivo é recolher palavras-passe. A Validação Alargada poderia oferecer esta protecção, mas no mundo real não o faz. Por um lado, os navegadores web estão constantemente a mudar a forma como indicam EV vs. DV (Domain Validation). E, alguns navegadores não dão qualquer indicação visual da diferença. E, suspeito que nenhuma não-tecnologia está sequer ciente do conceito EV/DV em primeiro lugar. Ainda mais insidioso é utilizar o DNS não para falsificar o nome de domínio principal/displayed, mas para apontar o navegador para uma cópia fraudulenta do código incluído de um terceiro. Muitos sites são comprometidos pela inclusão de código malicioso de terceiros hackeados. O DNS significa que o terceiro não precisa sequer de ser pirateado. Assim, a utilização de servidores DNS de confiança, não os de hackers, uma cafetaria ou um hotel, é fundamental para uma computação segura. O artigo também ignora a questão das redes gémeas maléficas, um ataque para o qual (tanto quanto sei) não há defesa.
Anyone running a VPN on Windows 8 or 10 needs to be aware of a situation where DNS requests may be sent outside of the VPN tunnel. Para mais informações, ver Guia: Prevenir fugas de DNS ao utilizar uma VPN no Windows 10 (e Windows 8).
Em Maio de 2017, a Trend Micro fez uma grande observação: “Infelizmente, os testes baseados em websites podem não ser fiáveis uma vez que um router doméstico tenha sido comprometido”. Com isso em mente, faz sentido verificar directamente com o router, seja com uma interface web ou uma aplicação, para verificar duas vezes os servidores DNS.
Os utilizadores do Windows têm outra excelente opção, o programa sniffer de consulta DNS da Nir Sofer. O programa é gratuito, portátil e proveniente de uma fonte de confiança. Limita-se a rastrear pedidos e respostas DNS. Antes de se ligar a uma VPN, diga-lhe para examinar a sua ligação Wi-Fi ou Ethernet para confirmar que o programa está a funcionar. Depois ligue-se à VPN e não deverá ver mais nenhuma actividade DNS. Como prova adicional de que a VPN está a tratar das coisas, diga ao programa para examinar a sua ligação VPN (Options -> Capture Options) e deverá ver todos os seus pedidos DNS.
Assobre se um servidor DNS está realmente a funcionar bem, temos Steve Gibson’s um teste de spoofability DNS. A página não tem data de criação nem data de última actualização, mas já existe há muito tempo.
0 comentários