Usar DNSSEC avanzado

En esta página se ofrecen varias opciones de configuración avanzada de las extensiones de seguridad del sistema de nombres de dominio (DNSSEC) que puedes usar si habilitas DNSSEC en tus zonas gestionadas. Estas opciones van desde diferentes algoritmos de firma y denegación de existencia hasta la posibilidad de usar tipos de registros que requieren o recomiendan DNSSEC para su uso.

Para obtener una descripción general conceptual de DNSSEC, consulta la información general sobre DNSSEC.

Delegar subdominios firmados con DNSSEC

Puedes habilitar DNSSEC en subdominios delegados después de haber habilitado DNSSEC en tu dominio principal. Para habilitar DNSSEC en subdominios delegados, primero debes crear un registro DS en una zona de Cloud DNS. También debes crear uno o varios registros NS.

Para crear registros DS de subdominios delegados, debes obtener el registro DS de la zona. Si la zona delegada también está alojada en Cloud DNS, puedes obtener el registro DS desde la Google Cloud consola o desde la CLI de Google Cloud.

Consola

  1. En la Google Cloud consola, ve a la página Cloud DNS.

    Ir a Cloud DNS

  2. Desplázate hasta la zona gestionada de la que quieras ver el registro DS.

  3. Para ver el registro DS de la zona, en la esquina superior derecha de la página Detalles de la zona, haga clic en Configuración del registrador.

  4. El registro DS está disponible en la página Configuración del registrador.

  5. Para crear registros NS, siga las instrucciones que se indican en el artículo Añadir un registro.

Página Configuración de registrador

gcloud

  1. Para obtener la información del registro DS de los subdominios delegados, ejecuta el siguiente comando:

    gcloud dns dns-keys list --zone SUBDOMAIN_ZONE
    

    Sustituye SUBDOMAIN_ZONE por el nombre de la zona DNS del subdominio delegado de tu proyecto.

    La salida tiene este aspecto:

    ID  KEY_TAG  TYPE          IS_ACTIVE  DESCRIPTION
    0   1234     KEY_SIGNING   True
    1   12345    ZONE_SIGNING  True
    

  2. Para obtener un registro DS completo y todos los detalles de la clave, necesitas el ID de la clave de firma de claves (KSK), que suele ser cero (0). Ejecuta el siguiente comando:

    gcloud dns dns-keys describe --zone SUBDOMAIN_ZONE KSK_ID \
       --format "value(ds_record())"
    

    Haz los cambios siguientes:

    • SUBDOMAIN_ZONE: el nombre de la zona DNS del subdominio delegado en tu proyecto
    • KSK_ID: el número de ID de KSK, normalmente 0

    El resultado es similar al siguiente:

    44300 8 2 92966cefacccd85b3bf00fcbcc4318b5f97a27889489b8e89b5bd56f83066ddb
    
  3. Copia el resultado del comando anterior para usarlo en un paso posterior.

  4. Para crear los registros DS de una subdelegación segura, ejecuta el siguiente comando para iniciar la transacción:

    gcloud dns record-sets transaction start --zone PARENT_ZONE
    

    Sustituye PARENT_ZONE por el nombre de la zona DNS principal de tu proyecto en la que vas a crear los registros del subdominio delegado.

    La salida tiene este aspecto:

    Transaction started [transaction.yaml].
    

  5. A continuación, ejecuta el siguiente comando para añadir un conjunto de registros:

    gcloud dns record-sets transaction add --zone PARENT_ZONE \
       --ttl TIME_TO_LIVE \
       --type DS \
       --name subdomain.example.com \
       "DS_RECORD_AND_KEY"
    

    Haz los cambios siguientes:

    • PARENT_ZONE: el nombre de la zona DNS principal de tu proyecto
    • TIME_TO_LIVE: tiempo de vida de la zona en segundos, como 3600
    • subdomain.example.com: un subdominio del nombre de DNS de la zona
    • DS_RECORD_AND_KEY: el registro DS y la clave que has obtenido en el paso 2, como 44300 8 2 92966cefacccd85b3bf00fcbcc4318b5f97a27889489b8e89b5bd56f83066ddb

    La salida tiene este aspecto:

    44300 8 2 92966cefacccd85b3bf00fcbcc4318b5f97a27889489b8e89b5bd56f83066ddb
    Record addition appended to transaction at [transaction.yaml].
    

  6. Para añadir registros NS, usa el siguiente comando:

    gcloud dns record-sets transaction add --zone PARENT_ZONE \
       --ttl TIME_TO_LIVE \
       --type NS \
       --name subdomain.example.com \
    

    Haz los cambios siguientes:

    • PARENT_ZONE: el nombre de la zona DNS principal de tu proyecto
    • TIME_TO_LIVE: tiempo de vida de la zona en segundos, como 3600
    • subdomain.example.com: un subdominio del nombre de DNS de la zona
  7. Introduce los siguientes datos de recursos:

    ns-cloud-e1.googledomains.com. \
    ns-cloud-e2.googledomains.com. \
    ns-cloud-e3.googledomains.com. \
    ns-cloud-e4.googledomains.com.
    

    La salida tiene este aspecto:

    Record addition appended to transaction at [transaction.yaml].
    

  8. Para ejecutar la transacción, usa el siguiente comando:

    gcloud dns record-sets transaction execute --zone EXAMPLE_ZONE
    

    Sustituye EXAMPLE_ZONE por el nombre de una zona DNS de tu proyecto.

    La salida tiene este aspecto:

    Executed transaction [transaction.yaml] for managed-zone [dns-example].
    Created     [https://dns.googleapis.com/dns/v1/projects/example/managedZones/example_zone/changes/42].
    ID  START_TIME                STATUS
    42  2019-08-08T23:12:49.100Z  PENDING
    

Usar opciones de firma avanzadas

Cuando habilitas DNSSEC en una zona gestionada o creas una zona gestionada con DNSSEC, puedes seleccionar los algoritmos de firma de DNSSEC y el tipo de denegación de existencia.

Puedes cambiar la configuración de DNSSEC (por ejemplo, el algoritmo utilizado para firmar registros criptográficamente) de una zona gestionada antes de habilitar DNSSEC. Si DNSSEC ya está habilitado en una zona gestionada, para hacer cambios, primero inhabilita DNSSEC, haz los cambios necesarios y, a continuación, usa el siguiente comando para volver a habilitar DNSSEC:

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

Sustituye EXAMPLE_ZONE por el nombre de una zona DNS de tu proyecto.

Para obtener más información, consulta el artículo