1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20
E-BOOK

Como ter um site seguro, rápido e com máximo desempenho usando um DNS moderno

Você sabia que acessar um site vai muito além de digitar o endereço na barra de ferramentas do navegador? Pode parecer muito simples, mas nada no mundo online é tão simples quanto parece. Existe um universo por trás dos bastidores, coisas que não vemos diante das nossas telas, mas que fazem esse mundo chamado internet girar – e um dos elementos-chave desse universo é o DNS. E se o DNS for moderno, esse mundo gira ainda mais rápido.

Para você entender por que estamos falando do DNS, vale relembrar que os seres humanos, na tentativa de melhor assimilar o conhecimento, têm o costume de nomear todas as coisas. Por exemplo, se algum objeto é criado ou descoberto, uma das primeiras coisas que fazemos é inventar um nome. Nas redes de computadores também precisamos de nomes, mas os sistemas, em vez de se comunicarem por nomes, comunicam-se através de números, também conhecidos como endereços IP – e é aí que o DNS entra: a principal função dele é traduzir os endereços que digitamos em números, e vice e versa. Para isso acontecer, outros processos também estão envolvidos.

E a importância do sistema DNS vai além da simples participação como peça no funcionamento da internet: ele impacta diretamente nos negócios. Mas por quê? Porque, se pensarmos no contexto atual, de economia hiperconectada, de imediatismo e altíssima demanda por serviços cada vez melhores, um DNS moderno proporciona segurança, rapidez e alto desempenho para aplicações e, consequentemente, para os clientes – e isso é, sem dúvida, sinônimo de sucesso. Portanto, as nossas boas escolhas são como um efeito dominó: serviços e ferramentas modernas certamente vão resultar em sistemas com bom funcionamento, que por sua vez geram clientes satisfeitos e, por fim, aumento de receita.

São inúmeros os benefícios de um DNS moderno para o seu site e para os negócios, e só para você ter uma ideia, os principais são:

  • Alta performance

  • Rapidez

  • Confiabilidade

  • Proteção Adicional

  • Custos operacionais reduzidos

Mas antes de explorarmos os benefícios, saber por que escolher um DNS moderno e por que ele é essencial para empresas de sucesso, vamos mostrar o que é DNS, como esse sistema funciona e os elementos que fazem parte do processo.

O que é DNS?

A sigla DNS significa Domain Name System, ou Sistema de Nomes de Domínio. Em linhas gerais, o DNS é um sistema para traduzir nomes de domínios em endereços IP, sendo, portanto, um serviço necessário para todos os computadores ou equipamentos que utilizam a internet.

De uma perspectiva teórica, conforme Kurose e Ross, "o DNS é um banco de dados distribuído executado em uma hierarquia de servidores DNS, e um protocolo da camada de aplicação que permite que os hospedeiros consultem o banco de dados distribuídos".¹

Cantu simplifica essa definição ao evidenciar que o DNS é "um nome de domínio hierárquico implementado com a utilização de um Sistema de Nomes de Domínio. O DNS proporciona um banco de dados online e distribuído para resolver nomes de domínios a seus endereços IP correspondentes". ²Ainda nas palavras do autor, O DNS "facilita na medida em que não precisamos mais memorizar endereços IP, mas sim nomes de domínio, muito mais fáceis de serem lembrados e ao mesmo tempo identificados com o proprietário do domínio". ³

Caso queira aprofundar numa perspectiva mais técnica, duas boas fontes de consulta são os RFCs 1034 e 1035.

Então, a principal função do DNS é converter o endereço digitado em um número IP correspondente. E por que precisamos disso? Isso acontece porque as máquinas entendem o endereço IP, a sequência de números, e não o endereço que digitamos na barra de ferramentas. Sem o DNS, teríamos que lembrar o endereço IP de qualquer dispositivo ao qual quiséssemos nos conectar.

Com o endereço IP é possível localizar o servidor ou o conjunto de servidores que hospeda o site e, assim, acessar as suas páginas. Mas a pergunta que não quer calar é: por que não digitamos logo o endereço IP na barra de ferramentas em vez do URL (Uniform Resource Locator), o endereço eletrônico? Porque para o ser humano, de modo geral, é muito mais difícil memorizar grandes sequências de números. Imagine ter que saber a sequência numérica de cada site que você quer acessar? Certamente seria bem difícil memorizar muitos números – ainda mais hoje, que muitos de nós sabemos somente o nosso número do celular e olhe lá.

Para simplificar, tente pensar no DNS como uma lista telefônica que, em vez de registrar o telefone e o endereço das pessoas, mostra o endereço IP de cada dispositivo conectado à internet. Mas como existem milhões de endereços IP, seria impossível colocar tudo em uma única lista telefônica – e o mesmo acontece com o DNS. Com os milhões de computadores e dispositivos conectados e a impossibilidade de se ter um único servidor que armazene todos os endereços IPs, existem outros servidores que armazenam todos os registros DNS que existem na internet. Resumindo, podemos considerar os serviços de DNS como grandes bancos de dados que estão localizados em servidores no mundo todo.

Agora, vamos conhecer um pouco sobre a origem do DNS.

Breve história do DNS

Ainda na época da ARPANET, a "mãe" da internet, havia relativamente pouquíssimos dispositivos conectados em rede. A estrutura da rede era bem mais simples e possuía apenas um arquivo de texto, com uma tabela dos IPs de cada dispositivo. À medida que novos computadores se conectavam, o número IP deles era adicionado a essa tabela, mas, obviamente, chegou um momento que ficou insustentável atualizar a planilha.

Foi nesse cenário, com a necessidade de automatizar a gestão e a criação de novos endereços IP, que surgiu o DNS em 1985. Um dos objetivos da criação do DNS foi tornar mais fácil a expansão e a escalabilidade da internet por meio do uso do protocolo TCP/IP.

Além disso, outra importante mudança foi que essas informações passaram a estar disponíveis em outras máquinas, o que deu origem, então, ao sistema distribuído.

Como o DNS funciona?

Vamos explicar aqui de uma maneira bem básica o funcionamento do DNS. Para encontrar o endereço IP escolhido, o servidor de DNS usa uma série de servidores especializados para descobrir a localização exata. Primeiro, seu próprio sistema operacional checa para ver se o endereço IP já está salvo no seu cache local. Isso é possível se você buscou o mesmo endereço eletrônico recentemente. Se não estiver no cache, é nesse momento que o serviço de DNS entra em cena.

Seu pedido é encaminhado para um servidor de DNS de entrada, chamado servidor local ou DNS resolver. Esse servidor local vai buscar em sua própria memória de cache, muito mais extensa, e retornar com o endereço de IP correto que está guardado. Se o servidor local não tiver o endereço certo, ele procura a resposta em outro servidor.

O servidor local envia o pedido para um DNS central, chamado servidor raiz. Há apenas 13 conjuntos de servidores raiz no mundo (10 nos Estados Unidos, 1 na Holanda, 1 na Suécia e 1 no Japão), distribuídos globalmente para atender às necessidades de todas as redes ligadas ao DNS. O servidor raiz checa se seu próprio cache tem a informação e, caso não tenha, ele sabe como encontrar quem tem. O servidor raiz, por sua vez, encontra o servidor de domínio de topo (Top-Level Domain Server ou TLD) e cria uma conexão entre ele e o servidor.

Os TLDs são repositórios imensos e cada um deles é responsável por diferentes categorias de nomes de domínios, como .com, .org ou .net. Por exemplo, se você digita azion.com, o servidor raiz vai estabelecer uma conexão entre seu servidor local e o servidor TLD .com. Depois disso, o TLD passa a requisição para a fase final do labirinto de servidores: o servidor autoritativo.

O servidor autoritativo é o responsável por saber tudo sobre o domínio em questão, incluindo o endereço IP. Esse servidor entrega o endereço IP para o servidor local, que o encaminha para o equipamento do usuário – e tudo isso rapidamente, no tempo de carregar uma página de internet.

Arquitetura e fluxo do sistema DNS

Resumindo, esse é um exemplo básico da estrutura e do fluxo de funcionamento do sistema DNS:

1. O cliente solicita ao servidor local a resolução do nome (por exemplo, www.azion.com.br).

2. O servidor local pergunta www.azion.com.br a um servidor raiz;

3. O servidor raiz responde: quem é responsável por .br é esse aqui 200.219.148.10;

4. O servidor local pergunta www.azion.com.br ao servidor responsável por .com.br;

5. O servidor responsável por .com.br responde: quem é responsável por .com.br é esse aqui 179.191.160.2;

6. O servidor local pergunta www.azion.com.br ao servidor autoritativo responsável por .azion.com.br

7. O servidor autoritativo responsável por .azion.com.br responde para o servidor local www.azion.com.br = 200.240.235.4

8. O servidor local envia a resposta www.azion.com.br = 200.240.235.4 para o usuário.

A imagem a seguir mostra a arquitetura do sistema DNS e o fluxo mencionado anteriormente:

Quais são os elementos de um serviço DNS?

Como já dissemos, nada na internet é tão simples quanto parece. O processo de consulta de DNS e carregamento de uma página na internet também depende de outros componentes, de processos mais complexos, e para entender isso é importante saber sobre todas as peças que fazem parte da engrenagem. É isso que vamos ver a seguir.

Endereço IP

O endereço IP é uma sequência numérica única, cada dispositivo tem o seu, estruturada por uma sequência de números e pontos, que ajuda a identificar os dispositivos conectados à internet. Como o endereço IP é necessário para reconhecer os dispositivos, o DNS conecta nomes de domínio aos endereços IP correspondentes. Basicamente, quando o usuário insere um endereço web no navegador da web, o DNS converte o nome de domínio em endereço IP.

Então, quando o usuário digita o domínio no navegador da web, o DNS pesquisa seu banco de dados para encontrar o endereço IP correspondente para esse nome de domínio. Em seguida, ele relaciona o nome de domínio ao endereço IP do site. Depois disso, o usuário pode se comunicar com a página.

Vamos fazer um teste? O endereço IP da Azion no Brasil é 107.22.50.165. Copie essa sequência numérica e cole em seu navegador. Pronto! Você vai ser direcionado para a nossa página principal.

Servidores DNS

Os servidores DNS executam as seguintes tarefas:

  • respondem a consultas de clientes ou servidores externos (vindas da internet) sobre nomes registrados em seu domínio local;

  • realizam resoluções de nomes de domínio na internet para seus clientes locais (máquinas dentro de seu domínio);

  • armazenam em cache local as resoluções de nomes solicitadas por seus clientes, para agilizar consultas futuras.

E, de acordo com a função, um servidor DNS pode ser classificado em:

Primário: é responsável por um domínio. A inclusão, alteração ou exclusão dos registros desse domínio são feitas neste servidor.

Secundário: funciona como backup do servidor primário, recebendo dele os registros do domínio através de um processo chamado zone transfer; também responde às requisições dos clientes quando requisitado.

Caching-only: apenas efetua consultas e retorna resultados, mantendo um cache local. Não é responsável por nenhum domínio, sua única função é melhorar o desempenho das resoluções de nome para os clientes locais usando seu cache.

Tipos de servidores

Fazem parte do sistema DNS quatro tipos de servidores: o servidor local (Resolver), o servidor raiz (Root Name Server), o servidor de domínio de topo (Top-Level Domain Server) e o servidor autoritativo (Authoritative Server).

Veja na imagem abaixo a localização de cada um deles no fluxo de uma consulta:

Servidor local (Resolver)

O servidor local é o servidor que responde a uma consulta DNS vinda do cliente (máquina do usuário) por meio de navegadores e pede o endereço a outro servidor DNS caso já não tenha o endereço IP do site armazenado em cache.

Para entendermos melhor o funcionamento do servidor local, vamos fazer uma analogia com uma biblioteca. Pense nele como um bibliotecário que procura um livro específico na biblioteca a pedido de um usuário, ou seja, é ele quem inicia a procura do número IP.

Tipos de consulta do servidor local

Recursiva

Na consulta recursiva, o servidor DNS local para o qual você solicitou o endereço não sabe a resposta, então ele verifica com outro servidor. Ele se encarrega de encaminhar a consulta do cliente a todos os servidores DNS necessários até que ela seja resolvida, devolvendo ao cliente apenas a resposta final.

Iterativa (Não recursiva)

Na consulta iterativa, o servidor local consulta sua base de dados (inclusive o cache) para poder responder. Não ativa outros servidores de nomes na tentativa de achar a resposta. E aí, se não conseguir responder, o servidor procura um servidor de nomes que possa ter a informação requisitada.

Em consultas iterativas, a resposta de um servidor DNS ao cliente pode ser:

  • Autoritativa - quando ele é o servidor responsável pelo domínio objeto da consulta;

  • Não autoritativa - quando ele respondeu por já ter a resposta em seu cache local.

Servidor raiz (Root Server)

O servidor raiz é um servidor de nome para a zona raiz do DNS. Ele pode ser considerado o principal serviço de DNS e é a primeira etapa na tradução de nomes em endereços IP. Nessa etapa, o servidor raiz responde à consulta vinda do servidor local com uma lista de servidores de nome com o domínio de topo, ou seja, ela é responsável por dizer qual servidor TLD possui a resposta sobre o domínio de topo. Só para relembrar, no mundo todo existem somente 13 servidores DNS raiz, dez localizados nos EUA, dois na Europa e um na Ásia.

Utilizando novamente a analogia da biblioteca, um servidor raiz pode ser pensado como um índice, que descreve diferentes estantes de livros e funciona, então, como uma referência para encontrar os livros em locais mais específicos.

Servidor de domínio de topo (Top-Level Domain Server)

O servidor de domínio de topo, também conhecido como TLD (Top-Level Domain), é a próxima etapa na pesquisa após o servidor raiz. O servidor de domínio de topo conhece os endereços dos servidores autoritativos que pertencem àquele domínio de topo, ou o endereço de algum servidor DNS intermediário que conhece um servidor autoritativo. Ou seja, o TLD é responsável por responder qual servidor autoritativo possui a resposta sobre o endereço IP requisitado.

Servidor autoritativo (Authoritative Server)

O servidor autoritativo tem autoridade de domínio, ou seja, sabe tudo sobre o domínio em questão, incluindo o endereço de IP. O servidor autoritativo é a última etapa na consulta DNS e entrega o endereço IP para o servidor local (que fez a requisição inicial), que o encaminha para o equipamento do usuário.

Fazendo novamente a analogia com a biblioteca, o servidor autoritativo pode ser considerado um dicionário em uma estante de livros, no qual um nome específico pode ser traduzido em sua definição, que será finalmente entendida pela pessoa que fez a pesquisa.

Servidor secundário

É considerada boa prática manter um ou mais servidores secundários ligados a todo servidor de DNS primário. Um servidor secundário é uma réplica simplificada de um servidor primário, que guarda muitas das mesmas informações, mas como arquivos de texto estáticos, apenas para leitura. Em si, servidores secundários não fazem quaisquer modificações da maneira que os servidores primários fazem; em vez disso, recebem zonas de transferência periódicas do servidor primário, que adiciona algo ou reorganiza os dados existentes.

Além disso, serve como uma camada extra de redundância, garantindo que, caso um servidor primário se torne irresponsivo, haverá sempre uma cópia para resolver requisições de DNS. Com servidores secundários o suficiente, também é possível fazer balanceamento de carga com seus servidores de DNS, garantindo que nenhum servidor se sobrecarregue.

Espaço de Nomes de Domínio (Domain Name Space)

O Espaço de Nomes de Domínio (Domain Name Space), também conhecido como hierarquia de domínios, possui uma estrutura hierarquizada, em formato de árvore, e contém especificações de nomes de domínios e dados associados a esses nomes. Esse espaço de nomes é dividido em domínios e a responsabilidade pelo gerenciamento de nomes dentro de cada domínio é delegada em sistemas dentro de cada domínio. Ou seja, a estrutura de nomenclatura é dividida em zonas pequenas, gerenciáveis, e cada servidor DNS mantém um arquivo de banco de dados específico e só é responsável por gerenciar os mapeamentos de nome para IP para essa pequena parte da estrutura de DNS. Quando um servidor DNS recebe uma solicitação para a conversão do nome que não faça parte da zona DNS, o servidor DNS encaminha a solicitação para outro servidor DNS na zona apropriada para conversão.

Essa hierarquização tem como objetivo facilitar a consulta, pois permite um esquema de trabalho distribuído, onde cada nível da hierarquia conta com serviços específicos de DNS. Além disso, esse formato de distribuição do DNS, com uso de cache das informações e delegação de autoridade, aumenta a escalabilidade do sistema e o torna mais eficaz também.

Para você entender melhor, pense no sistema DNS como um banco de dados de nomes distribuído hierarquicamente, em que cada hierarquia de domínios tem a função de descobrir qual endereço IP e, consequentemente, qual servidor está associado a um domínio – esse processo é denominado resolução de nome.

Para você conseguir visualizar isso que falamos, veja a imagem a seguir:

Nela, podemos observar uma divisão em níveis e em cada um deles há informações específicas: Raiz, Domínio de topo, Domínio secundário, Subdomínio e Resultado.

Sobre essa estrutura, temos que entender que:

  • cada interseção (nesse caso, o retângulo com um nome dentro) é chamada de ;

  • cada nó representa um domínio;

  • cada domínio tem um nome, então, cada nó nessa estrutura é chamado de nome de domínio;

  • o nome do domínio identifica a posição de cada um na hierarquia lógica do DNS em relação ao seu domínio principal. Cada nome de domínio consiste em alguns nomes separados por pontos;

  • cada domínio pode conter subdomínios;

  • um subdomínio faz parte de um domínio maior. Por exemplo, docs.azion.com e mail.azion.com e www.azion.com são subdomínios do domínio azion.com;

  • os domínios e subdomínios agrupam-se em zonas para permitir a administração distribuída do espaço de nomes.

Níveis

Raiz (Root)

Um dos componentes dos endereços da web é a raiz, também conhecida como domínio raiz, que se encontra no topo da hierarquia. Em um host, a raiz é representada pelo ponto (.). Por exemplo, em uma consulta, ele é responsável por identificar o servidor responsável pelo .com, .br., .org, etc., ou seja, o servidor topo de domínio.

Domínio de topo (Top-Level Domain)

O domínio de topo (TLD) é o nível abaixo da raiz. Quando pensamos em um domínio, o TLS hospeda a última parte do endereço de um site que vem logo após o último ponto, como .com, .org e .br. Por exemplo, em www.azion.com, o servidor TLD é o .com. Os domínios de topo nos dão informações sobre a classificação do site, se é uma empresa, uma instituição governamental ou educacional, o país de origem, dentre outras. No site da IANA (Internet Assigned Numbers Authority) você pode conferir a listagem completa dos TLDs.

Exemplos mais comuns de domínios de topo:

Classificações do TLD

O domínio de topo pode ser classificado em:

  • gTLD (generic Top-Level Domain) - domínios de topo genéricos são os mais conhecidos e utilizados. Qualquer um que possui um site pode registrá-lo com um gTLD. Alguns exemplos são o .com, .net e .info.

  • sTLD (sponsored Top-Level Domain) - domínios de topo patrocinados são aqueles patrocinados por entidades, empresas ou até mesmo governos. Alguns exemplos são .gov, .edu e .mil.

  • ccTLDs (country code Top-Level Domain) - domínios de topo de código de país se encarregam de representar sites de países específicos, como .br (Brasil), .uk (United Kingdom e .es (Espanha).

  • TLD de Infraestrutura - existe somente um TLD nessa categoria, o .arpa. Esse TLD contém os domínios usados para a resolução inversa de nomes de domínio.

Domínio secundário (Second Level Domain)

O domínio secundário (SLD, do inglês Second Level Domain) está logo abaixo do TLD na hierarquia. Quando pensamos no endereço web, ele é o nome à esquerda do domínio de topo. Por exemplo, em azion.com, o domínio secundário é azion. Ele é muito importante porque geralmente é o nome da instituição ou da pessoa a quem o site pertence e por isso facilita a identificação do usuário com o site.

Cache DNS

O cache DNS ocorre quando uma consulta que já foi feita pelo servidor fica armazenada nele por um determinado tempo, evitando que a mesma pesquisa seja feita novamente quando outro usuário do provedor tentar acessar o mesmo site. Assim, novas requisições para o mesmo nome serão respondidas diretamente pelo cache, diminuindo a quantidade de mensagens que chegam aos servidores TLD.

O período de tempo que as informações são armazenadas é determinado pelo TTL (Time-To-Live). Sua função é evitar que o conteúdo fique desatualizado e o seu período de duração varia de acordo com as configurações determinadas para o servidor. Após o tempo determinado, a informação é apagada do cache.

Registro DNS

Como mencionamos, o DNS é um banco de dados e esse banco de dados é dividido em registros, também chamados de RR (Resource Records), relativos aos nomes de domínios. Lembra da lista telefônica que mencionamos anteriormente? Então, o registro DNS é equivalente a ela, pois contém o nome de domínio e outras informações relevantes.

Um registro DNS possui as seguintes informações:

Nome de domínio: o nome de domínio deve ser um nome FQDN (Fully Qualified Domain), ou seja, deve terminar por um ponto (como está nas informações anteriores). Se o ponto for omitido (normalmente não digitamos esse ponto no final de um endereço), o nome de domínio é relativo, o que quer dizer que o nome de domínio principal será automaticamente acrescentado ao domínio digitado.

Tipo: é um valor em 16 bits que especifica o tipo de recurso descrito pelo registro. O tipo de recurso pode ser um dos seguintes:

  • A: é o tipo básico, que estabelece a correspondência entre um nome canônico e um endereço IP. Além disso, podem existir vários registros A, correspondendo às diferentes máquinas da rede (servidores).

  • CNAME (Canonical Name): permite fazer corresponder um pseudônimo ao nome canônico. É particularmente útil para fornecer nomes alternativos que correspondem aos diferentes serviços de uma mesma máquina.

  • HINFO (Host Information): é um campo unicamente descritivo, que permite descrever o material (CPU) e o sistema operacional (OS) de um host. É aconselhável que ele não seja informado para que não sejam fornecidos elementos que possam ser utilizados por hackers.

  • MX (Mail eXchange): corresponde ao servidor de gestão do email.

  • NS (Name Server): corresponde ao servidor de nomes que tem autoridade sobre o domínio.

  • PTR (Pointer Record): é um indicador para outra parte do espaço de nomes de domínios.

  • SOA (Start of Authority): permite descrever o servidor de nome que tem autoridade sobre a zona, bem como o email do contato técnico (cujo caractere @ é substituído por um ponto).

    Classe: a classe pode ser IN (que corresponde aos protocolos de internet, ou seja, o sistema utilizado no nosso caso) ou CH (o sistema caótico).

    RDATA: são os dados que correspondem ao registro. As informações dadas de acordo com o tipo de registro são:

    • A: um endereço IP em 32 bits;

    • CNAME: um nome de domínio;

    • MX: um valor de prioridade de 16 bits, seguido de um nome de host;

    • NS: um nome de host;

    • PTR: um nome de domínio;

    • SOA: vários campos.

DNSSEC

A principal razão para que a qualidade dos servidores de DNS aumente são preocupações severas com segurança. O DNS é uma das áreas mais populares para ataques de hackers e empresas pelo mundo reportaram perdas de milhões de dólares por causa de infrações de DNS. Mas existe uma forma de garantir a segurança do DNS: com o DNSSEC.

O DNSSEC (Domain Name System Security Extensions ou Extensões de Segurança DNS em português) é um recurso que adiciona uma camada de segurança extra aos domínios por meio de assinaturas digitais, com a finalidade de confirmar se a origem do DNS do site é válida e se os endereços IPs solicitados são legítimos. O principal objetivo do DNSSEC é impedir ataques por meio da verificação da autenticidade do nome de domínio de origem para proteger os usuários de entrar em contato com dados de DNS falsos.

Mas como o DNSSEC protege o DNS? De modo bem simplificado, o DNSSEC consulta a assinatura digital e se ela não corresponder, o site não é exibido pelo navegador.

E como o DNS verifica a assinatura digital? A assinatura digital fica armazenada no registro DS (Digital Signature ou declaração de assinatura) e deve ser correspondente à assinatura digital produzida pelos servidores de nomes do domínio.

A seguir, apresentamos algumas das várias formas de ataque a servidores de DNS.

Ataques comuns ao DNS

DNS spoofing/Cache poisoning

No DNS spoofing (disfarce de DNS), também conhecido como cache poisoning (envenenamento de cache), o resolvedor de DNS é atacado e o registro DNS é alterado por meio da introdução de dados DNS falsos no cache do resolvedor. Já que servidores locais tentam fazer o cache do máximo de endereços de IP possíveis para evitar o trabalho de fazer requisições a todos os outros servidores, corromper os dados do cache é um jeito fácil de levar dados ruins a todos os computadores que dependem daquele servidor local. Nesse ataque, o cache DNS retorna um endereço IP incorreto e o tráfego é redirecionado para um site impostor, geralmente idêntico ao original, onde os cibercriminosos terão acesso às credenciais da vítima, como senhas de acesso, ou a informações sensíveis, como dados pessoais ou financeiros. Os hackers também podem utilizar o site fraudulento para instalar um malware que dá acesso ao computador do usuário e a tudo o que estiver ali armazenado.

Na imagem a seguir, podemos ver como funciona um ciclo alterado com o DNS spoofing/Cache poisoning:

DNS tunneling

Apesar de o tunelamento (tunneling) poder ser usado para ações benignas, como uma atualização de antivírus feita por um software de terminal, ele também é usado para fins maliciosos, o que é conhecido como DNS tunneling. Nesse tipo de ataque, os hackers usam o DNS para codificar dados de protocolos (por exemplo, HTTP, TCP e SSH) em requisições e respostas DNS. Assim, eles conseguem passar pelos firewalls e podem roubar informações em consultas DNS, extrair informações internas de uma rede ou inserir malwares.

Para simplificar, é basicamente assim que o tunneling acontece:

  1. O hacker adquire um domínio, por exemplo, badsite.com.

  2. O hacker configura os servidores de nome do domínio para seu próprio servidor DNS.

  3. O hacker delega um subdomínio, como tun.badsite.com e configura sua máquina como o servidor DNS autorizado do subdomínio.

  4. Qualquer requisição de DNS feita pela vítima a {data}.tun.badsite.com vai chegar na máquina do invasor.

  5. A máquina do hacker codifica uma resposta que será roteada de volta para a máquina da vítima.

  6. Um canal de transferência de dados bidirecional é obtido usando uma ferramenta de tunelamento DNS.

DNS hijacking

No ataque DNS hijacking, ou sequestro de DNS, o agente mal intencionado redireciona consultas para um servidor de nome de domínio diferente por meio de malwares ou da modificação não autorizada de um servidor DNS. Assim, o tráfego DNS é desviado para um site ou um servidor fraudulento, onde os hackers poderão ter acesso a informações sensíveis dos usuários ou inserir malwares. Esse tipo de ataque é bem parecido com o DNS spoofing, mas a diferença é que o spoofing atinge o cache do resolvedor e o hijacking, o registro DNS.

NXDOMAIN attack

No ataque NXDOMAIN, o hacker inunda o servidor DNS com uma quantidade imensa de requisições falsas com o objetivo de sobrecarregar o sistema até ele cair, causando uma negação de serviço (denial-of-service) para todo o tráfego legítimo. Se o servidor não estiver equipado com um filtro contra requisições ruins, ou não estiver propriamente balanceado para distribuir o tráfego, esses ataques podem danificar partes vitais do processo de DNS.

Como ter um sistema DNS seguro, rápido e com alto desempenho?

Apesar de todos os ataques, é possível sim se prevenir. E como velocidade, segurança e performance são elementos cruciais para os negócios hoje, estar à frente e preparado antes de o ataque acontecer é a melhor estratégia. Para isso, as empresas devem se equipar com ferramentas modernas, com a melhor capacidade de proteção possível, tanto para o negócio quanto para o cliente. Além disso, utilizar serviços de DNS em uma plataforma de edge computing vai elevar ainda mais a capacidade de proteção, velocidade e performance.

Apresentamos, então, duas soluções:

  1. A primeira seria adotar um sistema que combina alta disponibilidade, escalabilidade e segurança para substituir um serviço de DNS existente ou para ampliar um DNS primário – como o Intelligent DNS, o servidor autoritativo da Azion. Esse tipo de DNS é inteligente porque utiliza uma rede de edge redundante e distribuída para diminuir o tempo de requisições e entregar conexões de rede de alta velocidade. A tecnologia de DNS inteligente permite que a rede se adapte às mudanças e às interrupções enquanto elas ocorrem, mudando de rota para não encontrar servidores caídos e integrando diretamente com as ferramentas de balanceamento de carga para otimizar o tráfego.

  2. Outra solução é empregar uma ferramenta para proteger o sistema DNS contra variados ataques externos e garantir que vulnerabilidades comuns ao DNS não sejam a causa de uma rede comprometida. Um bom exemplo desse serviço é o DDoS Protection da Azion.

O que faz um DNS ser moderno?

Que o mundo não vive sem a internet, e isso inclui o sistema DNS, é um fato. Mas um sistema mais sofisticado proporciona uma experiência muito melhor para o usuário, e quando o DNS está em uma plataforma de edge computing – como a da Azion – os benefícios são maiores ainda, porque são super potencializados.

Então, respondendo à pergunta do nosso título, "O que faz um DNS ser moderno", a resposta é simples: ter sua infraestrutura no edge.

Edge computing é a tecnologia mais moderna e sofisticada para impulsionar a economia hiperconectada. Isso porque, devido à proximidade do edge com os usuários e a distribuição de seus elementos, essa implementação proporciona uma série de vantagens cujo resultado final é, sem dúvida, aumento de receita para as empresas.

Quais são as vantagens do edge?

São inúmeras as vantagens que um DNS no edge proporciona, mas reunimos aqui as principais:

  • Descentralização: com os edge nodes distribuídos geograficamente, a rede de edge abrange mais territórios e pode estar presente em mais locais, em comparação com cloud data centers centralizados.

  • Baixa latência e menor uso de largura de banda: resposta mais rápida já que as viagens para resolver as requisições são mais curtas.

  • Resiliência: mesmo quando um node ou um equipamento específico falha, o sistema continua operando, utilizando outros recursos da rede que garantem sua disponibilidade permanente.

  • Escalabilidade: a infraestrutura pode ser expandida ou reduzida automaticamente para atender o nível de demanda, reduzindo os custos relacionados ao provisionamento ou à falta de recursos.

  • Orquestração: os desenvolvedores podem implementar, gerenciar, controlar, monitorar e atualizar recursos no edge em tempo real, sem a necessidade de provisionamento, além de poder integrar outros serviços.

  • Automação: o uso de SDN facilita esses recursos, de modo que os desenvolvedores só precisam se preocupar com a criação e a execução de código e workloads no edge; sem provisionamento, manutenção ou tarefas operacionais.

  • Observabilidade: o modelo de edge computing oferece ferramentas para rastrear e monitorar todos os eventos e os comportamentos registrados em aplicações e redes. Isso permite melhores business insights e melhor entendimento do comportamento dos usuários.

  • Segurança: o provedor é capaz de criar um plano que inclui um perímetro de segurança multicamada, usando recursos como Web Application Firewall, Network Layer e DDoS Protection.

  • Padrões abertos: idealmente, uma plataforma de edge computing deve ser compatível com diferentes recursos, linguagens, equipamentos e que possa ser integrada com soluções de terceiros.

  • Modelo serverless: o provedor executa e gerencia os servidores e toda a infraestrutura, além dos recursos, o que elimina as tarefas de escalabilidade, planejamento e manutenção para desenvolvedores ou operadores.

  • Custos operacionais reduzidos: com menos viagens até a infraestrutura de origem, os custos de uso de serviços de cloud diminuem.

  • Novos casos de uso: a infraestrutura de edge computing facilita o desenvolvimento de projetos com tecnologia moderna, inteligência artificial, realidade virtual, realidade aumentada, machine learning, IoT, streaming de dados e vídeo, 5G e muito mais.

Então, ao termos um sistema DNS em uma rede de edge computing, bem mais próxima dos usuários finais e dos seus dispositivos, o processo é potencializado ao máximo, porque, além do que mencionamos previamente, o processamento de dados no edge da rede diminui o tempo entre a requisição e a resposta de uma consulta do endereço IP, diminuindo drasticamente a latência – e na era do "tempo é dinheiro", os milissegundos que a rede edge reduz são literalmente sinônimo de ganhar dinheiro.

Benefícios de um DNS moderno no edge

Nós listamos os principais benefícios que um DNS no edge proporciona:

  • Alto desempenho - resolução rápida de DNS, mantendo até mesmo sites complexos carregando rapidamente mesmo com muitas requisições por página.

  • Confiabilidade - construída com base na redundância de várias camadas, mantém seu site ativo e evita a perda potencial de receita; possui balanceamento de carga distribuído, tornando-o tolerante a falhas.

  • Proteção adicional - construída para proteger contra ataques comuns, como DDoS (Distributed Denial of Service) e DNS spoofing.

  • Criado para desenvolvedores - criado para dar aos desenvolvedores flexibilidade de seus domínios.

  • Facilidade de uso - redistribuição de domínio sem www.

  • Plataforma única - é possível transferir o gerenciamento de DNS para a plataforma edge e reunir todas as tarefas para otimizar os serviços; assim, uma única entidade fica responsável por eliminar problemas de compatibilidade ou acusações.

Conclusão

Como você pôde ver, os serviços de DNS são uma peça fundamental da engrenagem chamada internet, e por isso nós dependemos, e muito, do bom funcionamento deles – principalmente por vivermos na era do imediatismo, em que qualquer coisa que não seja rápida o suficiente e não tenha bom desempenho é sinônimo de fracasso, e cada milissegundo pode significar sucesso ou perda de clientes em um negócio.

Mas, assim como acontece com qualquer item tecnológico, o DNS também tem vulnerabilidades, e os hackers sabem muito bem disso. E é exatamente por isso que escolher um serviço de DNS seguro e inteligente em uma plataforma edge se tornou crítico para uma empresa alcançar alta confiabilidade – e algo que merece total atenção, pois uma falha pode literalmente levar a uma catástrofe tecnológica e social.

Portanto, quando se trata de tecnologia, o melhor caminho para uma empresa é utilizar sempre as ferramentas mais modernas, mais seguras e com melhor desempenho, pois elas são elementos-chave para tornar os negócios mais competitivos, os clientes mais satisfeitos e, consequentemente, alavancar a receita.

Referências

¹KUROSE, J. F.; ROSS, K. Redes de computadores e a Internet: uma abordagem top-down. Tradução Daniel Vieira. 6. ed. São Paulo: Pearson Education do Brasil, 2013.

² ³CANTU, E. Redes de computadores e Internet. São José: CEFET/SC, 2003. Disponível em: https://docente.ifrn.edu.br/rodrigotertulino/disciplinas/2016.2/arquitetura-de-redes-de-computadores/resumo-livro-do-kurose. Acesso em: 13 Set. 2021.

Quer saber mais como o DNS funciona em uma plataforma de edge computing?

Se você ficou curioso e quer saber mais sobre como funciona um DNS em uma moderna plataforma de edge computing, conheça a Azion, a maior e melhor empresa de edge computing do mundo.