DNS RECURSIVO - Como Testar sua Eficiência e Segurança com dig e nslookup | AMS SOFT


No mundo digital de hoje, a velocidade e a segurança são essenciais. E quando se trata da infraestrutura do seu Provedor de Internet, o Sistema de Nomes de Domínios (DNS) é uma peça fundamental.

Mas você sabe como testar a eficácia e a segurança do seu DNS recursivo com cache e DNS-SEC?

Neste guia, vamos mergulhar nos comandos dig e nslookup, ferramentas poderosas para qualquer administrador de rede ou entusiasta de tecnologia.

O que é DNS Recursivo com Cache?

O DNS é o herói desconhecido que traduz nomes de sites para endereços IP. O DNS recursivo com cache melhora essa tradução, armazenando as respostas para que futuras solicitações sejam atendidas mais rapidamente. Este caching é uma faca de dois gumes, pois também requer verificações de segurança rigorosas.

Leia também:

3- A IMPORTÂNCIA DO DNS-SEC PARA ISP: SEGURANÇA E CONFIANÇA NA RESOLUÇÃO DE DNS


Utilizando dig ou nslookup para Testar o DNS.

Quer verificar como está o desempenho do seu DNS?
Os comandos dig e nslookup são seus melhores amigos. Vamos usar no terminal o comando dig nic.br @8.8.8.8 para consultar diretamente o DNS do Google e ver como ele resolve esse domínio.

Se você tem DNS LOCAL, substitua o 8.8.8.8 pelo seu IP de DNS.

  • Observação importante: É crucial notar que o comando dig é nativo em sistemas Linux e não está disponível por padrão no Windows. Se você é Provedor de Internet que operam com máquinas Linux, como aquelas que executam PROXMOX ou outras, podem utilizar o dig diretamente no terminal em modo SHELL para realizar os testes.

  • Para verificar a implementação do DNSSEC de forma eficaz com o comando dig, é necessário escolher domínios que suportam esta tecnologia de segurança.

    Não são todos os sites que é configurados para trabalhar com o DNSSEC.

    Domínios como nic.br, registro.br e gov.br são exemplos que comumente têm o DNSSEC ativado, permitindo que a flag AD (Authenticated Data) seja retornada na resposta, confirmando a validação bem-sucedida da consulta DNSSEC.

Decifrando a Saída com o Comando DIG:

Ao usar no terminal Linux o comando 
dig nic.br @8.8.8.8 a saída desses comandos pode parecer um enigma. Mas não se preocupe, vamos explicar o que cada linha significa.

A seção "ANSWER" mostra os registros DNS do domínio consultado ou seja, foi resolvido o nome do site para o IP que ele pertence, enquanto "Query time" revela a rapidez da resposta, se você tem DNS local o Query time precisa ficar próximo a 1ms, mas isso depende da latência da sua rede.

Aqui está o detalhamento de cada parte da saída:
  1. Versão do dig: <<>> DiG 9.16.42-Debian <<>>: Indica a versão do dig que está sendo usada, neste caso, a versão 9.16.42 para Debian.

  2. Comando executado: nic.br @8.8.8.8: O comando que foi executado para consultar o registro DNS do domínio "nic.br" usando o servidor DNS 8.8.8.8, que é o servidor público do Google.

  3. Global options: ;; global options: +cmd: Mostra as opções globais utilizadas. O +cmd significa que os comentários de linha de comando serão incluídos na saída.

  4. Header da resposta: A seção HEADER contém detalhes técnicos da resposta, como:
    opcode: Operação do pedido, geralmente QUERY.
    status: Status da resposta, aqui NOERROR indica que não houve erro.
    id: Identificador da consulta, útil para emparelhar respostas com consultas em tráfego DNS assíncrono.

  5. Flags qr rd ra ad: Sinalizadores que são atributos da consulta:
    qr (query response): Indica que a mensagem é uma resposta.
    rd (recursion desired): Solicita que o servidor faça uma consulta recursiva.
    ra (recursion available): Indica que o servidor pode fazer consultas recursivas.
    ad (authenticated data): Mostra que a resposta tem dados autenticados pelo DNSSEC.

  6. Seção de Pseudo-Header (OPT) do DNS: Detalhes adicionais como a versão do protocolo EDNS usado, tamanho do buffer UDP, entre outros.

  7. QUESTION SECTION: Mostra a pergunta feita ao DNS:
    nic.br.: O domínio que foi consultado.
    IN: Classe de internet.
    A: Tipo de registro DNS solicitado, neste caso, um endereço IPv4, se fosse IPv6 ficaria AAAA.

  8. ANSWER SECTION: Contém a resposta para a consulta feita:
    nic.br.: Nome do domínio consultado.
    21600: TTL (Time To Live), tempo em segundos que o registro pode ser armazenado em cache.
    IN: Classe.
    A: Tipo de registro, nesse caso é IPv4.
    200.160.4.6: Endereço IP associado ao domínio.

  9. Tempo da Consulta: Query time: 24 msec: O tempo que levou para a consulta ser realizada, 24 milissegundos neste caso.

  10. Servidor Utilizado: SERVER: 8.8.8.8#53(8.8.8.8): O servidor DNS que foi consultado (8.8.8.8 na porta 53).

  11. Timestamp: WHEN: Wed Jan 31 20:13:01 -03 2024: Data e hora em que a consulta foi realizada.

  12. Tamanho da Mensagem: MSG SIZE rcvd: 51: O tamanho da mensagem de resposta recebida, 51 bytes neste caso.

Esta saída nos informa que a consulta foi bem-sucedida, não houve erros, e foi possível obter o registro A "IPv4" para o domínio "nic.br" do servidor DNS 8.8.8.8 rapidamente e com autenticação DNSSEC, indicada pela flag ad.

  • Sobre o DNSSEC:
    Usar dig para testar o DNSSEC é crucial para garantir que as respostas DNS não foram adulteradas. O domínio nic.br é frequentemente utilizado para esses testes, pois está configurado para trabalhar com o DNSSEC, permitindo verificar a presença da flag AD.
  • Sobre o Query Time:
    O query time é o termômetro do desempenho do seu DNS. Um tempo alto na primeira consulta sugere que a resposta veio diretamente do root server, enquanto um tempo baixo em consultas subsequentes indica que as informações foram recuperadas do cache.
  • Cache e a Popularidade dos Sites:
    Sites como Google e Facebook raramente saem do cache de um DNS, devido à sua alta frequência de acessos. Entretanto, sites menos visitados têm um TTL (Time To Live) que determina por quanto tempo ficam no cache. Sem novas solicitações, eles são removidos após o TTL expirar, necessitando de uma nova consulta ao root server.
Decifrando a Saída com o Comando NSLOOKUP:


O comando nslookup é uma ferramenta que pode ser usada em Windows ou no Linux nativamente, para consultar servidores de nomes de domínio (DNS) para obter informações sobre endereços IP de domínios e outros dados relacionados ao DNS.

Também é uma forma pratica e rápida para saber se o seu DNS local esta operando 100% na rede do provedor de internet.

Aqui está a explicação detalhada dos campos apresentados:
  1. Comando Executado: nslookup nic.br 8.8.8.8
    nslookup: O comando utilizado para iniciar a consulta DNS.

  2. nic.br: O domínio que está sendo consultado.

  3. 8.8.8.8: O servidor DNS específico (neste caso, o DNS público do Google) utilizado para resolver o nome de domínio.

  4. Servidor: Servidor: dns.google
    Este campo indica o nome do servidor DNS que respondeu à consulta.

  5. Endereço do Servidor: Address: 8.8.8.8
    Mostra o endereço IP do servidor DNS utilizado para a consulta.

  6. Resposta Não Autoritativa: Não é resposta autoritativa.
    Esta linha indica que a resposta recebida não é autoritativa, ou seja, o servidor DNS que respondeu não tem autoridade direta sobre o domínio consultado. Ele está fornecendo informações baseadas no cache ou em uma consulta recursiva.

  7. Nome: nic.br
    O nome do domínio que foi consultado.

  8. Endereços: Addresses: 2001:12ff:0:4::6, 200.160.4.6
    Este campo lista os endereços IP associados ao domínio nic.br. 2001:12ff:0:4::6: É um endereço IPv6 do domínio.
    200.160.4.6: É um endereço IPv4 do domínio.

  • Conclusão:
    Entender e saber testar o seu DNS é mais do que uma habilidade técnica, é uma necessidade para manter a fluidez e segurança da sua navegação online. Com dig e nslookup, você tem o controle de verificar e otimizar a configuração do seu DNS.



Comentários

Postagens mais visitadas