Como gerenciar a configuração da DNSSEC

Como ativar a DNSSEC para zonas gerenciadas

Ativar a DNSSEC para uma zona gerenciada atual no Console do Google Cloud é fácil. Para isso, clique na configuração da DNSSEC para a zona e selecione "Ativar" no menu pop-up:

Pop-up de ativação da DNSSEC da zona

Na caixa de diálogo de confirmação mostrada, clique no botão Ativar.

Caixa de diálogo de confirmação da ativação da DNSSEC

Também é possível ativar a DNSSEC para zonas gerenciadas atuais usando a ferramenta de linha de comando gcloud ou a API:

gcloud

gcloud dns managed-zones update EXAMPLE_ZONE --dnssec-state on

Substitua EXAMPLE_ZONE na linha de comando acima pelo código da zona real.

python

def enable_dnssec(project_id, name, description=None):
client = dns.Client(project=project_id)
zone = client.zone(name=name)
zone.update(dnssec='on', description=description)

Como ativar a DNSSEC ao criar zonas

A ativação da DNSSEC ao criar uma zona no Console do Cloud é simples. Para fazer isso, clique na opção de configuração da DNSSEC e selecione "Ativar" no menu pop-up:

Criar zona com assinatura por DNSSEC

Também é possível ativar a DNSSEC ao criar zonas usando a ferramenta de linha de comando gcloud ou a API:

gcloud

gcloud dns managed-zones create EXAMPLE_ZONE \
    --description "Signed Zone" --dns-name myzone.example.com --dnssec-state on

Substitua EXAMPLE_ZONE na linha de comando acima pelo código da zona real.

python

def create_signed_zone(project_id, name, dns_name, description):
client = dns.Client(project=project_id)
zone = client.zone(
    name,  # examplezonename
    dns_name=dns_name,  # example.com.
    description=description,
    dnssec='on')
zone.create()
return zone

Como verificar a implantação da DNSSEC

É possível usar o DNSViz, o depurador DNSSEC da Verisign ou o Zonemaster para verificar a implantação correta da zona ativada para DNSSEC. Os dois últimos também podem ser usado antes de atualizar o registrador com os servidores de nomes do Cloud DNS ou o registro do DS para ativar a DNSSEC (links em inglês). Um exemplo de um domínio configurado corretamente para DNSSEC é example.com. É possível vê-lo com DNSViz em http://dnsviz.net/d/www.example.com/dnssec/ (em inglês).

Configurações de TTL recomendadas para zonas assinadas com DNSSEC

Ao contrário do prazo de validade do TTL, que está relacionado ao horário em que um servidor de nomes envia uma resposta a uma consulta, as assinaturas de DNSSEC expiram em um horário fixo e absoluto. TTLs configuradas com mais tempo do que a vida útil da assinatura podem resultar em muitos clientes solicitando registros ao mesmo tempo quando a assinatura DNSSEC expira. Os TTLs muito curtos também podem causar problemas para os resolvedores de validação da DNSSEC.

Para mais recomendações sobre a seleção de TTL, consulte a seção 4.4.1 do RFC 6781 e a figura 11 (links em inglês). No entanto, este é o ponto principal:

Ter um TTL que é menor do que o período de validade da sua assinatura evita picos de carga de consulta.

Ao ler o RFC, lembre-se de que muitos parâmetros de tempo de assinatura são fixados pelo Cloud DNS, e não é possível alterá-los. No momento, eles são os seguintes, mas estão sujeitos a alterações sem aviso prévio ou atualização deste documento:

  • deslocamento de início = 1 dia
  • período de validade = 21 dias
  • período de reinscrição = 3 dias
  • período de atualização: 18 dias
  • intervalo de instabilidade = ½ dia (ou ± 6 horas)
  • validade mínima da assinatura = atualização – instabilidade = 17,75 dias = 1533600

Não é recomendado usar uma TTL com duração maior do que a validade mínima da assinatura.

Como desativar a DNSSEC para zonas gerenciadas

Depois de remover os registros DS e esperar até que eles expirem no cache, é possível desativar facilmente a DNSSEC com o seguinte comando gcloud:

gcloud dns managed-zones update EXAMPLE_ZONE --dnssec-state=off

Substitua EXAMPLE_ZONE no comando gcloud acima pelo nome real da zona.

DNSSEC, transferências de domínio e migração de zonas

Em zonas habilitadas em que a DNSSEC foi ativada no registrador de domínio, você precisa tomar medidas extras para garantir o funcionamento correto do domínio nos seguintes casos:

  • Quando ele for transferido para outro registrador (ou a propriedade for transferida).

  • Quando migrar a zona de DNS entre o Cloud DNS e outro operador de DNS.

A abordagem técnica que o Cloud DNS usa nessas migrações é a variante de substituição KSK Double-DS descrita na seção 4.1.2 do RFC 6781 (em inglês).

A ICANN tem uma apresentação em PDF (em inglês) sobre esse processo, em geral, e os problemas mais comuns.

Como migrar zonas com assinatura da DNSSEC para o Google Cloud DNS

Se você estiver migrando uma zona assinada pela DNSSEC para o Google Cloud DNS, verifique se ele aceita o mesmo algoritmo de KSK que já está em uso. Caso contrário, desative a DNSSEC no registrador de domínios antes de migrar a zona e atualizar os registros do servidor de nomes no registrador para usar os servidores de nomes do Cloud DNS.

Se os algoritmos de KSK e ZSK atuais forem compatíveis com o Cloud DNS, será possível fazer a migração com a DNSSEC ativa por meio destas etapas:

  1. Crie uma nova zona assinada com DNSSEC no estado de "Transferência". O estado de transferência permite que você copie DNSKEYs manualmente para a zona.

  2. Exporte seus arquivos de zona e importe-os para a nova zona.

  3. Adicione as DNSKEYs (KSK e ZSK) dos arquivos da zona antiga.

    • Também é possível usar o comando dig para consultar os outros servidores de nomes para registros de DNSKEY.
  4. Adicione o registro DS da nova zona ao seu registrador.

  5. Atualize os registros do servidor de nomes no registrador para os servidores de nomes do Cloud DNS da nova zona.

Como sair do estado de transferência da DNSSEC

Antes de sair do estado de transferência da DNSSEC, espere até que as referências do servidor de nomes (NS e DS) para o Google Cloud DNS sejam propagadas para todos os servidores de nomes de registro autoritativos e até que o TTL expire em todos os registros de recurso DNSSEC do servidor de nomes antigos. Não apenas os registros NS e DS da zona pai, mas também DNSKEY, NSEC/NSEC3 e RRSIG da zona antiga. Verifique se você removeu os registros DNSKEY de transferência adicionados manualmente.

Em seguida, é possível alterar o estado da DNSSEC da zona de "Transferência" para "Ativado". Essa alteração ativa a rotação automática de ZSK na zona. Geralmente, suas zonas podem sair com segurança do estado de transferência da DNSSEC após uma semana e não necessitam permanecer no mesmo estado por mais de um ou dois meses.

Você também precisa remover o registro DS da antiga zona do operador de DNS no seu registrador.

Como migrar zonas com assinatura da DNSSEC do Google Cloud DNS

Antes de migrar uma zona com assinatura da DNSSEC para outro operador de DNS, verifique se ela é compatível com o mesmo algoritmo de KSK que você usa atualmente. Se não for, desative a DNSSEC no registrador de domínios antes de migrar a zona e atualizar os registros do servidor de nomes no registrador para usar os novos servidores de nomes.

Se eles forem compatíveis com os mesmos algoritmos de KSK, preferencialmente os mesmos de ZSK, e fornecerem uma maneira de copiar DNSKEYs atuais para a nova zona, será possível realizar a migração. Para isso, mantenha a DNSSEC ativada seguindo estas etapas:

  1. Altere o estado da DNSSEC de "Ativado" para "Transferência". Isso interrompe a rotação da ZSK.

  2. Exporte seu arquivo de zona (inclusive as DNSKEYs) e importe-o para a nova zona.

  3. Se as DNSKEYs (KSK e ZSK) não forem importadas, adicione-as manualmente.

    • Use o comando dig para consultar os servidores de nomes do Cloud DNS da sua zona para registros DNSKEY:

      dig DNSKEY myzone.example.com. @ns-cloud-e1.googledomains.com.
      
  4. Ative a assinatura da DNSSEC para a nova zona e adicione um registro DS para a nova KSK no registrador.

    • Se seu registrador não aceitar vários registros DS, faça isso na etapa 6.
  5. Opcional: importe as novas DNSKEYs da zona nova para o Cloud DNS.

    • Use um comando dig semelhante ao da etapa 3 para isso, mas pule as DNSKEYs que exportou do Cloud DNS.
  6. Atualize os registros do servidor de nomes no registrador para usar o novo operador de DNS.

    • Se você só puder substituir os registros DS no seu registrador, faça isso agora.

Se o outro operador de DNS tiver um processo para migrar uma zona assinada pela DNSSEC, como o Dyn (em inglês), execute as etapas dele em paralelo a essas depois de executar a primeira etapa acima.

Depois de concluir todas as etapas necessárias no outro lado, desative a DNSSEC mudando seu estado para "Desativado", ou simplesmente exclua a zona no Cloud DNS, e remova o registro DS da zona do Cloud DNS do seu registrador.

Próximas etapas