O blog da AWS
Como utilizar uma zona reversa de DNS com o Amazon Route 53 e o Registro.br
Alguns clientes usam uma zona de pesquisa reversa para ajudar na solução de problemas, filtragem de spam e detecção de bots, especialmente para serviços de e-mail que dependem de tal configuração para garantir a entrega confiável de mensagens. Por exemplo, muitos servidores de e-mail na internet são configurados para rejeitar mensagens originárias de endereços IP que não possuem uma zona reversa registrada. Isso torna crucial para as organizações terem um DNS reverso corretamente configurado para manter a reputação e o funcionamento correto de suas comunicações por e-mail. Além disso, hospedar a zona reversa no Amazon Route 53 oferece benefícios como alta disponibilidade, melhoria de desempenho, escalabilidade e integração com outros serviços da AWS, aumentando ainda mais a confiabilidade e segurança geral da infraestrutura de DNS.
Neste blog, vamos explorar como utilizar uma zona reversa de DNS do Registro.br no Amazon Route 53, incluindo a configuração de segurança do DNSSEC (Domain Name System Security Extensions) e as configurações no Registro.br.
O que é uma zona de pesquisa de DNS reversa?
Uma zona de pesquisa reversa, ou DNS reverso, é uma parte fundamental da infraestrutura de DNS que opera inversamente a zona de pesquisa direta. Enquanto a zona de pesquisa direta mapeia nomes de domínio para endereços IP, a zona reversa contém registros de endereços IP associados aos nomes de domínio correspondentes, permitindo a conversão de endereços IP em nomes de domínio. Esta zona é identificada por um sufixo especial “in-addr.arpa”, conforme definido na RFC 1035.
Quando um cliente envia uma consulta DNS reversa para um servidor DNS, fornecendo um endereço IP, o servidor verifica a zona reversa correspondente ao IP fornecido e retorna o registro DNS PTR (domain name pointer) associado, que contém o nome de domínio correspondente. Uma zona reversa precisa ser adequadamente configurada e mantida para garantir o bom funcionamento das comunicações na Internet. A falta de uma configuração correta pode resultar na rejeição de mensagens de e-mail ou marcá-las como spam, afetando a entregabilidade e a reputação do remetente.
Solução
Seguindo as diretrizes do Registro.br, a delegação DNS reversa para blocos IPv4 são restritas pelos octetos, ou seja, a cada 8 bits. Isso significa que a estrutura da zona reversa depende do tamanho do bloco IP delegado. Portanto é possível fazer delegações DNS de blocos IPv4 de prefixos /8, /16 e /24.
Se você tiver a delegação de um bloco /22, por exemplo, serão necessárias quatro zonas hospedadas no Route 53, uma para cada bloco /24. Se a sua delegação for de um bloco /16, será necessário apenas uma zona hospedada no Route 53.
Por exemplo, se a sua delegação é do bloco 192.168.0.0/22, serão necessárias as zonas hospedadas abaixo:
0.168.192.in-addr.arpa
1.168.192.in-addr.arpa
2.168.192.in-addr.arpa
3.168.192.in-addr.arpa
Para o bloco 192.168.0.0/16, será necessário a zona hospedada abaixo:
168.192.in-addr.arpa
Nota: usamos um exemplo de um bloco de endereços privado, definido pela RFC 1918. Em um caso real deve ser um range de IPs roteável na internet.
Com as zonas reversas hospedadas criadas no Route 53, é necessário fazer a delegação de DNS no Registro.br. No site do Registro.br devem ser indicados quais são os servidores de DNS para o bloco como um todo, ou seja, no exemplo do bloco /22 acima vamos indicar os servidores DNS que vão ser utilizados para as quatro zonas hospedadas. Portanto é necessário ter os mesmos servidores DNS em cada uma das zonas hospedadas. Usando conjuntos de delegações reutilizáveis do Route 53 podemos atingir este objetivo.
Passos necessários
Abaixo temos os passos necessários para fazer a configuração da zona hospedada no Route 53 e também as configurações necessárias no Registro.br.
- Criar conjuntos de delegações reutilizáveis
- Criar a zona hospedada
- Criar registros
- Alterar a delegação DNS no Registro.br
- Habilitar a assinatura de DNSSEC (Opcional)
- Configurar DNSSEC no Registro.br (Opcional)
Pré-requisitos
Para seguir os passos necessários, você deve ter os seguintes pré-requisitos:
- Uma conta AWS
- Um domínio registrado no Registro.br
- Um bloco de IP que permita roteamento na internet
- A última versão do AWS Command Line Interface (AWS CLI) instalado e configurado com a credencial necessária, ou AWS CloudShell
Criar conjuntos de delegações reutilizáveis
As delegações reutilizáveis são um conjunto de quatro servidores de nome autoritativos que você pode usar com mais de uma zona hospedada. Por padrão, o Route 53 atribui uma seleção aleatória de servidores de nome a cada nova zona hospedada. Como precisamos criar mais de uma zona hospedada e só temos uma delegação de bloco IP no Registro.br, você pode criar um conjunto de delegações reutilizáveis e associar esse conjunto a novas zonas hospedadas.
Você cria um conjunto de delegações reutilizáveis e o associa a uma zona hospedada de forma programática, via CLI. Não há suporte para o uso do console do Route 53.
Veja abaixo um exemplo da resposta do comando acima que vai gerar os conjuntos de delegações reutilizáveis. Tome nota do atributo Id
pois ele será necessário nos passos seguintes.
Criar a zona hospedada
É necessário criar uma zona hospedada pública para cada range /24 do bloco de IP delegado no Registro.br. No exemplo deste blog post estamos usando o bloco de IP 192.168.0.0/22, que é composto por quatro blocos /24.
Cada zona hospedada deve utilizar os conjuntos de delegações reutilizáveis criados anteriormente.
Você cria uma zona hospedada utilizando conjuntos de delegações reutilizáveis de forma programática, via AWS CLI. Não há suporte para o uso do console do Route 53.
Abaixo temos a lista de zonas hospedadas que deverão ser criadas:
0.168.192.in-addr.arpa
1.168.192.in-addr.arpa
2.168.192.in-addr.arpa
3.168.192.in-addr.arpa
Nos comandos abaixo, o argumento --delegation-set-id
deve ser o Id
retornado no passo anterior que você tomou nota. O argumento --caller-reference
precisa ser único, portanto, estamos usando um valor diferente em cada execução.
As zonas hospedadas criadas podem ser visualizadas na console do Route 53, conforme abaixo.
Imagem 2: Console do Route 53 com as zonas hospedadas
Criar registros
Depois de criar uma zona hospedada, crie registros do tipo PTR na zona hospedada que define onde você deseja mapear um nome de domínio para um endereço de IP correspondente. Por exemplo, se você deseja mapear o domínio mail.exemplo.com
para o endereço de IP 192.168.0.10
, crie um registro chamado 10.0.168.192.in-addr.arpa
com o valor mail.exemplo.com
.
Para criar um registro usando o console do Route 53
- Faça login no AWS Management Console e abra a página do serviço do Route 53 em https://console.thinkwithwp.com/route53/.
- No painel de navegação, escolha Zonas hospedadas.
- Na página Hosted zones (Zonas hospedadas), escolha o nome da zona hospedada na qual deseja criar os registros. No nosso exemplo é 0.168.192.in-addr.arpa.
- Escolha Create record (Criar registro).
- Escolha o Tipo de registro, PTR.
- Preencha os campos nome do registro e valor.
- Escolha Create records (Criar registros).
Imagem 3: Criar registro DNS tipo PTR
Habilitar a assinatura de DNSSEC (Opcional)
Quando você configura o DNSSEC para o seu domínio, um resolvedor de DNS estabelece uma cadeia de confiança para respostas de resolvedores intermediários. A cadeia de confiança começa com o registro do TLD do domínio (a zona principal do domínio) e termina com os servidores de nome autorizados no seu provedor de serviços de DNS.
A habilitação da assinatura de DNSSEC tem duas etapas:
- Etapa 1: Habilitar a assinatura de DNSSEC para o Route 53 e solicitar que o Route 53 crie uma chave de assinatura da chave (KSK) com base em uma chave gerenciada pelo cliente no AWS Key Management Service (AWS KMS).
- Etapa 2: Criar uma cadeia de confiança para a zona hospedada adicionando um registro DS (Delegation Signer) a zona pai, para que as respostas DNS possam ser autenticadas com assinaturas criptográficas confiáveis.
Para obter instruções, consulte Como habilitar a assinatura de DNSSEC e estabelecer uma cadeia de confiança.
No exemplo deste blog post é necessário habilitar o DNSSEC em cada uma das quatro zonas hospedadas criadas anteriormente. Deve ser utilizado a mesma chave KSK, utilizando o customer managed CMK ARN.
Imagem 4: Habilitando DNSSEC signing
Configurar DNSSEC no Registro.br (Opcional)
Depois que o DNSSEC for habilitado nas 4 zonas hospedadas no Route 53, é necessário configurar o DNSSEC no Registro.br. O valor a ser configurado para o registro tipo DS (Delegation Signer) deve ser o mesmo que foi criado em uma das zonas hospedadas.
Você irá notar que o valor do Registro DS será diferente em cada uma das zonas hospedadas, porém note que a chave pública é a mesma, portanto pode ser utilizado qualquer valor do Registro DS de uma das quatro zonas hospedadas.
Removendo recursos
Para evitar gerar custo com os recursos criado neste blog post, é necessário removê-los, caso não vá deixar a alteração permanente.
Veja a documentação para excluir uma zona hospedada pública. Você deve excluir todas as zonas hospedadas criadas neste post através da console do Route 53. No nosso exemplo criamos quatro zonas hospedadas.
Para excluir conjuntos de delegações reutilizáveis é necessário fazer de forma programática, via AWS CLI. Neste caso não há suporte para o uso da console do Route 53. Veja abaixo um exemplo do comando para excluir. É necessário usar o Id
dos conjuntos de delegações reutilizáveis criados anteriormente, o qual você tomou nota.
É necessário que os conjuntos de delegações reutilizáveis não estejam associados com nenhuma zona hospedada, caso contrário não será possível excluir.
Conclusão
Neste blog post explicamos como utilizar zona de DNS reversa no Route 53 em conjunto com o Registro.br. Este processo vai melhorar sua postura de segurança em relação ao DNS e também ajudará a manter uma boa reputação para os seus blocos de IP, permitindo a verificação do seu nome de domínio conforme o bloco de endereços IP.
Você pode obter mais detalhes sobre esse processo na página de suporte do Registro.br. Você também pode encontrar mais detalhes sobre os conceitos do Amazon Route 53.
Sobre os autores
Leonardo Azize Martins é Arquiteto de Soluções na AWS Brasil | |
Silvio Nunes Junior é Arquiteto de Soluções na AWS Brasil | |
Andre Mello é Arquiteto de Soluções na AWS Brasil |