Administra la configuración de DNSSEC

Habilita DNSSEC para zonas administradas

Habilitar DNSSEC para una zona administrada existente en Google Cloud Console es una tarea fácil. Simplemente haz clic en la configuración de DNSSEC de la zona y selecciona "Activado" en el menú emergente:

Habilitar ventana emergente de zona de DNSSEC

En el diálogo de confirmación que aparece, solo haz clic en el botón Habilitar.

Habilitar diálogo de confirmación de DNSSEC

También puedes habilitar DNSSEC para las zonas administradas existentes mediante la herramienta de línea de comandos de gcloud o la API:

gcloud

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

Reemplaza EXAMPLE_ZONE en la línea de comandos de arriba por la ID de 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)

Habilita DNSSEC durante la creación de zonas

La habilitación de DNSSEC cuando se está creando una zona en Cloud Console resulta sencilla; haz clic en la opción de configuración de DNSSEC y selecciona "Activado" en el menú emergente:

Crear zona con firma de DNSSEC

También puedes habilitar DNSSEC cuando crees zonas con la herramienta de línea de comandos de gcloud o la API:

gcloud

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

Reemplaza EXAMPLE_ZONE en la línea de comandos de arriba por la ID de 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

Verifica la implementación de DNSSEC

Puedes usar DNSViz, el depurador de DNSSEC de Verisign o Zonemaster para verificar la implementación correcta de tu zona habilitada para DNSSEC (los dos últimos también se pueden usar antes de la actualización del registrador con tus servidores de nombres de Cloud DNS o el registro DS a fin de activar DNSSEC). Un ejemplo de un dominio que está correctamente configurado para DNSSEC es example.com; puedes verlo con DNSViz en http://dnsviz.net/d/www.example.com/dnssec/.

Configuración recomendada de TTL para las zonas con firma de DNSSEC

A diferencia de los vencimientos de TTL, que dependen del momento en el que un servidor de nombres envía una respuesta a una consulta, las firmas de DNSSEC vencen en un tiempo absoluto fijo. Los TTL configurados por más tiempo que la duración de una firma pueden hacer que muchos clientes soliciten registros al mismo tiempo, cuando vence la firma de DNSSEC. Los TTL muy cortos también pueden causar problemas para los agentes de resolución que validan DNSSEC.

Consulta la sección 4.4.1 y la figura 11 de la RFC 6781 para obtener más información sobre la selección de TTL, pero el punto clave es el siguiente:

Para evitar los picos de carga de consultas, debes tener un TTL que sea al menos unas pocas veces más pequeño que el período de validez de tu firma.

Cuando leas la RFC, ten en cuenta que Cloud DNS fija muchos parámetros de tiempo de firma y que no puedes cambiarlos. Actualmente, son los siguientes (pero están sujetos a cambios sin previo aviso o la actualización de este documento):

  • Compensación de inicio = 1 día
  • Período de validez = 21 días
  • Período de firma nueva = 3 días
  • Período de actualización = 18 días
  • Intervalo de Jitter = ½ día (o ± 6 horas)
  • Validez mínima de la firma = actualización – Jitter = 17.75 días = 1533600

Nunca debes usar un TTL más largo que la validez mínima de la firma.

Inhabilita DNSSEC para zonas administradas

Una vez que hayas quitado los registros DS y hayas esperado a que venzan en caché, puedes desactivar DNSSEC fácilmente con el siguiente comando de gcloud:

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

Reemplaza EXAMPLE_ZONE en el comando de gcloud que aparece arriba con el nombre de la zona real.

DNSSEC, transferencias de dominios y migración de zonas

Para las zonas con DNSSEC habilitada en las que DNSSEC se ha activado en el registro del dominio, debes tomar medidas adicionales para garantizar la operación correcta del dominio en los casos siguientes:

  • Cuando se transfiere a otro registrador (o se transfiere la propiedad)

  • Cuando se migra la zona de DNS entre Cloud DNS y otro operador de DNS

El enfoque técnico que usa Cloud DNS para estas migraciones es la variante de transferencia KSK Double-DS descrita en la sección 4.1.2 de la RFC 6781.

ICANN posee una presentación informativa en formato PDF sobre este proceso en general y los obstáculos posibles.

Migra zonas con firma de DNSSEC a Google Cloud DNS

Si estás migrando una zona con firma de DNSSEC a Google Cloud DNS, comprueba si Cloud DNS admite el mismo algoritmo de KSK que está en uso. De lo contrario, desactiva DNSSEC en tu registrador de dominios antes de migrar la zona y actualizar los registros del servidor de nombres en el registrador para usar los servidores de nombres de Cloud DNS.

Si Cloud DNS admite los algoritmos de KSK y ZSK existentes, sigue estos pasos para realizar la migración con DNSSEC habilitada:

  1. Crea una zona nueva con firma de DNSSEC en el estado "Transferencia" de DNSSEC. El estado de transferencia te permite copiar manualmente los registros DNSKEY en la zona.

  2. Exporta tus archivos de zona y, luego, impórtalos en la zona nueva.

  3. Agrega los registros DNSKEY (KSK y ZSK) de los archivos de zona provenientes de la zona antigua.

    • También puedes usar el comando dig para realizar consultas en los otros servidores de nombres acerca de los registros DNSKEY.
  4. Agrega el registro DS para la zona nueva a tu registrador.

  5. Actualiza los registros del servidor de nombres del registrador con los servidores de nombres de Cloud DNS para la zona nueva.

Abandona el estado de transferencia de DNSSEC

Antes de abandonar el estado de transferencia de DNSSEC, espera a que las referencias del servidor de nombres (NS y DS) para Google Cloud DNS se hayan propagado a todos los servidores de nombres de registro autorizados, y a que el TTL haya vencido para todos los registros de recursos de DNSSEC del servidor de nombres antiguo (no solo los registros NS y DS de la zona superior del registro, sino también DNSKEY, NSEC/NSEC3 y RRSIG de la zona antigua). Asegúrate de quitar los registros DNSKEY de transferencia que se agregaron manualmente.

A continuación, puedes cambiar el estado de DNSSEC de la zona de "Transferencia" a "Activado". Cuando realizas este cambio, se habilita la rotación automática de ZSK de la zona. Por lo general, tus zonas pueden abandonar el estado de transferencia de DNSSEC al cabo de una semana con seguridad, y no deberían permanecer en este estado durante más de uno o dos meses.

También deberías quitar el registro DS correspondiente a la zona del operador de DNS antigua de tu registrador.

Migra zonas con firma de DNSSEC desde Google Cloud DNS

Antes de migrar una zona con firma DNSSEC a otro operador de DNS, comprueba que admita el mismo algoritmo de KSK que estás usando. De lo contrario, desactiva DNSSEC en tu registrador de dominios antes de migrar la zona y actualizar los registros del servidor de nombres del registrador para que usen los servidores de nombres nuevos.

Si admiten los mismos algoritmos de KSK (y, preferentemente, los mismos algoritmos de ZSK), y permiten copiar los registros DNSKEY existentes en la zona nueva, sigue estos pasos para realizar la migración con DNSSEC habilitada:

  1. Cambia el estado de DNSSEC de "Activado" a "Transferencia". Esto detiene la rotación de ZSK.

  2. Exporta tu archivo de zona (incluidos los registros DNSKEY) y, luego, impórtalo en la zona nueva.

  3. Si los registros DNSKEY (KSK y ZSK) no se importaron, agrégalos manualmente.

    • Usa el comando dig para consultar a los servidores de nombres de Cloud DNS de tu zona acerca de los registros DNSKEY:

      dig DNSKEY myzone.example.com. @ns-cloud-e1.googledomains.com.
      
  4. Habilita la firma de DNSSEC en la zona nueva y agrega un registro DS para el nuevo KSK en el registrador.

    • Si tu registrador no admite varios registros DS, hazlo en el paso 6.
  5. (Opcional). Importa los registros DNSKEY nuevos correspondientes a la zona nueva en Cloud DNS.

    • Puedes usar un comando dig similar al del paso 3 para esto, pero omite los DNSKEY que exportaste desde Cloud DNS.
  6. Actualiza los registros del servidor de nombres en el registrador para que usen el operador de DNS nuevo.

    • Si solo puedes reemplazar registros DS en tu registrador, hazlo ahora.

Si el otro operador de DNS tiene un proceso para migrar una zona con firma de DNSSEC (como Dyn), deberías realizar sus pasos en paralelo con esto, después del paso 1 indicado más arriba.

Una vez que hayas completado todos los pasos necesarios en el otro lado, inhabilita DNSSEC mediante la actualización del estado de DNSSEC a "Desactivado" (o simplemente borra la zona en Cloud DNS) y quita el registro DS correspondiente a la zona de Cloud DNS de tu registrador.

Próximos pasos