Tá acabando!

Compre agora com desconto
Corra enquanto há tempo!

dias

:

horas

:

minutos

:

segundos

DNS: O que é e qual escolher

Leonardo Sartorello
Leonardo Sartorello

Compartilhe

Na imagem vemos 3 computadores com um círculo preenchido de zeros e uns com um desenho de cadeado na frente.

Sempre que vamos acessar um site ou fazer uma requisição na internet, usamos a URL, como alura.com.br e google.com. Contudo, os computadores não sabem como se conectar à Alura ou ao Google, já que precisam de endereços IP.

Para auxiliar essa tarefa, foram criados os servidores DNS, que fazem a tradução e conversão dos nomes para endereços que podemos utilizar de forma rápida e normalmente imperceptível.

O que é DNS

O nome DNS significa Domain Name System, ou sistema de nomes de domínios, e contém o registro de todos os domínios da internet. A sua função não é hospedar sites ou aplicações que criamos, mas sim permitir que as requisições cheguem aos locais corretos.

Um servidor DNS é feito única e exclusivamente para a tradução de domínios para endereços de IP, então vamos entender como os servidores DNS podem realizar a sua tarefa e como são passadas as requisições para ele.

Funcionamento

Quando escrevemos uma URL no navegador, como alura.com.br, o nosso computador não sabe como se conectar com o site da Alura, mas ele conhece alguém que sabe, o servidor DNS, então ele manda uma requisição pedindo para o DNS responder com o endereço IP do site.

Agora, quando essa requisição chegar no servidor DNS, ele tem que agir rápido. Então, para ser o mais rápido possível, eles mantêm um cache, ou uma cópia da informação, em memória RAM e vão primeiro olhar o cache para ver se tem uma resposta.

Se não encontrar, têm que fazer uma requisição para um Servidor raiz, um servidor parecido com o DNS, que guarda informações de outros servidores e que irá responder com um endereço de um servidor de domínio de nível superior, ou servidor TLD.

O servidor TLD é o servidor responsável por guardar informações da última parte da ULR, o “.com”, “.net”, “.org” e assim por diante, sendo um servidor para cada, e a tarefa dele é responder a última requisição com o endereço do servidor DNS autoritativo.

Por último, o servidor DNS autoritativo, que conhece o endereço de onde o site está hospedado, responde o servidor DNS com o endereço, e assim o DNS pode te responder com o endereço IP.

Na imagem vemos todo o processo de funcionamento dos servidores DNS como mostrado anteriormente

Segurança

Os servidores DNS são de muita importância no funcionamento da internet, e caso encontrem problemas, tanto de performance quanto de segurança, podemos ter uma experiência ruim na internet, com ela parecendo lenta para carregar sites ou nos mandando para sites errados ou comprometidos, facilitando a aplicação de golpes e roubos de informações sensíveis.

Sendo assim, escolher um servidor DNS bom é uma decisão importante, e se for feita corretamente, só precisaremos fazê-la uma ou poucas vezes. Para podermos escolher um DNS, vamos falar de algumas tecnologias de segurança que estão aparecendo hoje em dia.

ECS

O ECS é uma extensão do DNS padrão. É um campo que, se habilitado pelo DNS, permite com que seja mais rápido responder as requisições, já que é possível fazer um balanceamento de carga, load balancing, para uma rede no próprio DNS, então você é conectado apenas ao servidor geograficamente mais próximo de você.

Porém, isso pode trazer algumas implicações de segurança, já que está revelando de qual local você está fazendo a requisição. Essa informação é aproximada a uma cidade ou bairro, então não contém seu endereço em si, mas revela algumas informações.

DNSSEC

O DNSSEC também é uma extensão do DNS padrão, e quer dizer Extensões de segurança do sistema de nomes de domínio, ou Domain Name System Security Extensions, e sua principal função é reduzir o risco de manipulação de informações e domínios forjados.

Seu funcionamento se dá com a utilização de chaves público-privadas, onde elas são utilizadas para assinar as respostas do DNS, com uma chave para cada domínio, não por requisição, parecido com um certificado HTTPS.

DNS sobre HTTPS ou TLS

O DNS sobre HTTPS ou o NS sobre TLS são uma maneira de criptografar a informação e transferi-la para o servidor DNS, assim, independente de quem esteja analisando o tráfego de uma rede, podendo ser outros dispositivos ou até mesmo o provedor, não terão acesso às informações.

O HTTPS é um protocolo muito conhecido, mas o TLS não é uma sigla tão famosa, apesar de ser usado o TLS no HTTPS para realizar a criptografia. Então, ambos têm o mesmo nível de segurança. Quando falamos de DNS a única diferença entre eles é a porta utilizada, com o HTTPS na porta 443 e o TLS na porta 853.

Como a porta para o DNS sobre TLS é exclusiva para essa função, pode acabar chamando atenção para os pacotes, mesmo sem poder acessar o seu conteúdo, enquanto todo o protocolo HTTPS passa pela porta 443, fazendo com que as requisições DNS não sejam percebidas.

Pontos importantes

O servidor DNS pode sempre ver quais sites você está acessando, mas nunca o conteúdo que você está acessando, e sabe exatamente qual é o seu endereço IP, já que tem que fazer uma resposta a sua requisição, e isso ocorre em redes privadas, como da sua casa, em uma rede pública, como de restaurante ou shopping, ou através de VPNs ou túneis SSH.

Sendo assim, é importante escolher um DNS que não irá fazer a venda dessas informações e de preferência nem armazená-las.

Opções mais conhecidas

Google DNS

O servidor DNS do Google é um dos servidores DNS mais famosos pelo mundo e cumpre muito bem a sua tarefa, tem um bom registro de privacidade e suporta DNS sobre HTTPS e DNSoverTSL para maior segurança e ECS para maior velocidade.

Endereços IPV4:

  • 8.8.8.8
  • 8.8.4.4

Endereços IPV6:

  • 2001:4860:4860:0:0:0:0:8888
  • 2001:4860:4860:0:0:0:0:8844

Cloudflare DNS

O DNS da Cloudflare é relativamente recente, criado em 2018, é um DNS focado em segurança e privacidade, além de ser muito rápido por utilizar a rede da Cloudflare, que conta com vários servidores pelo mundo todo, suporta DNS sobre HTTPS, DNS sobre TSL e DNSSEC, além disso a Cloudflare fechou contratos com empresas de auditoria para apagar qualquer registro de acesso em até 24h.

Endereços IPV4:

  • 1.1.1.1
  • 1.0.0.1

Endereços IPV6:

  • 2606:4700:4700::1111
  • 2606:4700:4700::1001

OpenDNS

O OpenDNS é uma parte da Cisco, e é um DNS bastante utilizado com opções de ECS e DNSSEC, porém suporta apenas DNS sobre TLS então nem todas as requisições podem ter tanta privacidade.

Endereços IPV4:

  • 208.67.222.220
  • 208.67.222.222
  • 208.67.222.213
  • 208.67.220.220
  • 208.67.220.222
  • 208.67.220.213

Endereços IPV6:

  • 2620:119:35::35
  • 2620:119:53::53

Escolhendo um DNS

Se a sua escolha for baseada apenas em desempenho e tempo de resposta, é possível utilizar um programa e medir esses tempos, te ajudando a escolher a melhor opção.

É possível baixar esse programa para windows direto através do site ou clicando aqui.

Para linux existe o namebench que pode ser obtido através dos gerenciadores de pacotes como apt e pacman.

Para fazer o teste basta abrir o programa, e clicar em “Nameservers”:

Janela do programa DNS Benchmark.

Selecione "Run Benchmark” e espere finalizar o processo, pode demorar até 10 minutos para finalizar.

Janela do programa DNS Benchmark.

Depois que for finalizado, teremos uma lista com o tempo de resposta organizados por ordem crescente, geralmente o primeiro da lista é o servidor DNS que está dentro do seu roteador. Então, podemos desconsiderá-lo, e ao clicarmos em algum deles, irá aparecer uma descrição com os tempo de resposta de cada DNS, nesse caso a melhor opção é o Cloudflare e o OpenDNS.

Janela do programa DNS Benchmark.

Configurando o DNS

Para podermos usar o DNS escolhido precisamos configurá-lo na rede ou no dispositivo, o DNS configurado na rede é utilizado por todos os dispositivos conectados a ela, desde que o dispositivo não tenha uma configuração própria.

As configurações no dispositivo por sua vez variam entre os sistemas operacionais, com MacOS, Windows e Linux permitindo a definição de múltiplos servidores DNS, diretamente nas configurações, enquanto sistemas como Android e IOS necessitam de aplicativos para essa configuração, ou a definição em cada rede WiFi, sem ser possível alterar o DNS da rede móvel.

Para aprender mais sobre o assunto, você pode conferir os links a seguir:

Leonardo Sartorello
Leonardo Sartorello

Leonardo é desenvolvedor e instrutor na Alura focado em Infraestrutura e DevOps. Com experiência em conteinerização, linguagens de alto desempenho e IOT

Veja outros artigos sobre DevOps