Compatibilidade com DNSSEC

Quando digitamos uma URL (Uniform Resource Locator) na barra de endereço de um navegador web, utilizamos um padrão de texto de fácil leitura e memorização, como www.azion.com. Com base na URL fornecida, ocorre então uma requisição para um servidor localizado na Internet, tal como num endereço postal.

Caso a requisição esteja correta, o servidor responde com uma página web ou algum outro recurso solicitado pelo computador que fez a requisição, denominado cliente. Esse processo repetitivo é conhecido como ciclo de requisições e respostas.

Porém, esse padrão de escrita de endereços baseado em URLs, de fácil entendimento para nós, é incompreensível para os computadores nas comunicações via web, pois elas utilizam um endereço baseado em números, conhecido como endereço IP (Internet Protocol). Portanto, sempre que digitamos uma URL na barra de endereços, uma conversão é necessária para que a URL seja transformada em um endereço IP.

Isso funciona da mesma forma quando fazemos uma ligação telefônica tradicional para outra pessoa. Os telefones não conseguem entender nomes. Eles só reconhecem sequencias de números que seguem um protocolo específico, com o código do país, da região, e finalmente, o número associado ao destinatário da ligação. Portanto, precisamos de catálogos para relacionar os nomes das pessoas, facilmente reconhecíveis por nós, aos respectivos números telefônicos a serem utilizados pelo sistema de telefonia.

No caso da Internet, precisamos converter um domínio de uma URL num determinado endereço IP para que a comunicação seja possível. Essa conversão acontece em servidores especiais que trabalham com o propósito específico de manter em funcionamento o Domain Name System (DNS), que é um sistema hierarquizado com o propósito de permitir as conversões dos domínios das URLs em endereços IP de forma descentralizada, conforme pode ser visualizado no diagrama da figura 1.

Diagram 1 normal IP address conversion

Esse processo é totalmente transparente para o usuário que acessa uma página na Internet. Ele acontece em diversas etapas utilizando diferentes servidores de DNS e sistemas de caches para agilizar as respostas.

A fim de simplificar o entendimento, considere apenas que uma requisição de conversão do domínio de uma URL tem origem em algum computador conectado à internet e chega num servidor do sistema DNS que é capaz de cumprir a tarefa solicitada. Entretanto, nesse momento surge uma dúvida. Como garantir que a conversão do domínio de uma URL para endereço IP se originou de fato de um servidor do sistema DNS?

É possível que intermediários mal-intencionados modifiquem o endereço IP de reposta fornecido pelo sistema DNS no meio do caminho até o cliente que solicitou a conversão. Essa interferência pode levar a navegação do cliente para outro destino diferente daquele solicitado pela URL requisitada, abrindo a possibilidade de ações fraudulentas, conforme apresentado no diagrama da figura 2.

Diagram 2 adulteração de um endereço IP

Para evitar essa interferência nociva, foi criada uma camada extra de segurança nas conversões de domínios de URL para endereço IP no sistema DNS, conhecida como Domain Name System Security Extensions (DNSSEC).

Para entender de forma simples o DNSSEC imagine que, no mundo físico, você recebeu uma correspondência pelo correio tradicional. Como garantir que o texto contido na carta foi, de fato, criado pelo remetente? Uma forma tradicional e simples de fazer isso é incluindo uma assinatura no documento que seja reconhecida pelo destinatário. Dessa forma, cartas sem assinatura seriam desprezadas, e somente aquelas assinadas seriam consideradas como legítimas e com o conteúdo íntegro.

É exatamente dessa forma que o DNSSEC previne que respostas DNS fraudulentas sejam utilizadas pelos computadores dos clientes. Assinaturas digitais “carimbam” as respostas de endereços IP vindo do servidor DNS, que são então verificadas no destinatário, garantindo a autenticidade e integridade das informações, conforme apresentado na figura 3.

Diagram 3 resposta do DNS com a camada de segurança DNSSEC

Compatibilidade entre o DNSSEC e a plataforma da Azion

Seção intitulada Compatibilidade entre o DNSSEC e a plataforma da Azion

A plataforma de Edge da Azion é compatível com a especificação DNSSEC, suportando a sua utilização nos sites e aplicações aceleradas pela Azion.

O DNSSEC utiliza assinaturas digitais para fornecer:

  • Autenticação criptográfica dos dados.
  • Negação autenticada de existência.
  • Integridade dos dados.

Ao verificar a assinatura associada aos registros DNS existentes como A, AAAA, CNAME, PTR etc., é possível validar que o registro DNS solicitado tem origem no servidor DNS autoritativo e que seu conteúdo original foi preservado, sem sofrer alterações pelo meio do caminho.

Diferentemente da segurança criptográfica provida pelo HTTPS em relação ao HTTP, a confidencialidade das respostas não é garantida pelo DNSSEC. Os dados e as chaves trafegam em texto puro, seguindo as especificações do protocolo DNS, e aptos a serem cacheados, preservando assim o alto desempenho do serviço.

Para o uso efetivo do DNSSEC:

  1. O seu Top-Level Domain (TLD) deve suportar o uso do DNSSEC.
  2. A sua zona deve estar configurada com registros de recurso relacionados ao DNSSEC.
  3. O DNSSEC deve estar ativado no seu registrador de domínio; ou seja, o seu DNSSEC deve estar funcionando.

Hospedando uma zona com DNSSEC na Azion

Seção intitulada Hospedando uma zona com DNSSEC na Azion

Caso os seus serviços contratados especifiquem que a Azion seja a responsável pela publicação da zona com DNSSEC (DNS autoritativo), novos registros (RRs ou Resource Records) serão adicionados aos já existentes. Além disso, serão providas as seguintes informações:

  • Chave pública (DS).
  • Algoritmo utilizado na geração da chave.
  • Endereço dos servidores DNS.

Com isso você poderá ativar o DNSSEC no registrador de domínios competente, por exemplo registro.br, estabelecendo uma cadeia de confiança.

Cada zona DNS tem um par de chaves pública/privada. A chave privada da zona é utilizada para assinar dados DNS na zona e gerar assinaturas digitais sobre esses dados. A chave privada é mantida em segredo e a chave pública é disponibilizada na própria zona de DNS para que qualquer pessoa a recupere.

Para viabilizar a verificação da assinatura, o DNSSEC exige a administração de novos Resource Records (RR), adicionais aos já utilizados:

  • DNSKEY contém a chave pública a ser utilizada na verificação.
  • DS (Signatário de Delegação) contém o HASH de um registro DNSKEY. Este registro é utilizado pelos servidores de DNS recursivos para verificar a autenticidade do próprio DNSKEY.
  • RRSIG contém a assinatura digital de um registro.
  • NSEC e NSEC3 viabilizam a resposta da inexistência de um registro consultado, conhecida como negação autenticada de existência, prevenindo que um ator mal intencionado falsifique uma resposta de endereço inexistente.

Recomendações e observações gerais

Seção intitulada Recomendacoes e observacoes gerais
  • Antes de contratar o serviço, certifique-se que o registro do TLD oferece suporte ao DNSSEC.
  • Alguns dias antes da mudança programada, é recomendado reduzir os TTLs da zona de DNS a ser transferida, bem como utilizar o TTL de poucos minutos nos registros DNSSEC (DS e DNSKEY) a fim de viabilizar uma rápida recuperação em caso de necessidade.
  • Para efetivação das novas configurações, aguarde uma nova publicação do responsável pelo TLD.
  • A efetiva propagação e visibilidade global da mudança pode demorar alguns dias, pois depende da atualização do cache de resolvers administrados por terceiros.

Entre em contato com a nossa equipe para hospedar na Azion uma zona DNS previamente configurada com DNSSEC.

Hospedando uma zona DNSSEC diretamente na plataforma da Azion

Seção intitulada Hospedando uma zona DNSSEC diretamente na plataforma da Azion

O gerenciamento de uma zona DNSSEC na plataforma da Azion inclui as tarefas de hospedagem e exclusão de uma zona previamente hospedada. Para cada tarefa, siga os procedimentos abaixo:

Para hospedar uma zona DNSSEC diretamente na plataforma da Azion, siga os seguintes passos:

  1. Acesse o Azion Console.
  2. No canto superior esquerdo da página, selecione Products Menu > Edge DNS.
  3. Na lista de zonas DNS, clique na zona na qual deseja hospedar o DNSSEC; a página de configurações da zona DNS será aberta.
  4. Clique na aba DNSSEC.
  5. Clique no botão Enable DNSSEC; uma janela de confirmação será apresentada.
  6. Clique no botão Confirm; as chaves demoram um tempo para serem criadas.
  7. Após a criação das chaves, anote ou copie a chave Digest (DS) da tabela; você pode clicar no ícone de cópia à direita na linha da chave.
  8. Localize a zona DNS em cada um dos seus servidores de domínio.
  9. Localize a área de registro do DNSSEC.
  10. Digite ou cole a chave DS citada no passo 7.
  11. Repita os passos 8, 9, e 10 para cada zona DNS de seus servidores de domínio.
  12. Aguarde até 48h para que a chave DS se propague.

Para deletar uma zona DNSSEC na plataforma da Azion, siga os seguintes passos:

  1. Acesse o Azion Console.
  2. No canto superior esquerdo da página, selecione Products Menu > Edge DNS.
  3. Na lista de zonas DNS, clique na zona que deseja deletar o DNSSEC; a página de configurações da zona DNS será aberta.
  4. Clique na aba DNSSEC.
  5. Clique no botão Disable DNSSEC; uma janela de confirmação será apresentada.
  6. Digite a palavra delete na caixa de texto e clique no botão Confirm; clique no botão Cancel para interromper a operação.
  7. Na janela de alerta DNSSEC has been disabled clique no botão Ok.
  8. Exclua as chaves no seu provedor.

Contribuidores