Configuración de claves DNSSEC externas (solo API)

Utilice IBM® NS1 Connect® para configurar claves públicas DNSSEC externas (registros DNSKEY) para utilizar funciones avanzadas con DNSSEC y múltiples proveedores de DNS.

Para las organizaciones con múltiples proveedores de DNS, la implementación de DNSSEC puede suponer un reto importante. A menudo, los diferentes proveedores de DNS admiten comportamientos específicos, como respuestas DNS personalizadas que no pueden preasignarse o métodos específicos del proveedor para implementar la firma DNSSEC en función de su enfoque de la gestión del tráfico.

Mediante la API NS1 Connect , puede añadir varios conjuntos de claves DNSSEC externas a la zona que utiliza registros DNSKEY. Por ejemplo, puede crear un conjunto de claves DNSSEC para cada proveedor de DNS que no sea IBM NS1 Connect que sirva la zona.

Cuando habilita la firma en línea DNSSEC para una zona NS1 Connect , se genera automáticamente un registro DNSKEY con una clave de firma de clave (KSK) y una clave de firma de zona (ZSK) para cada red en la que se publica la zona. A medida que agrega conjuntos de claves DNSSEC externas mediante la API, cada clave DNSSEC se agrega al registro DNSKEY como una nueva respuesta.

Nota : Las respuestas del registro DNSKEY no reflejan la agrupación de conjuntos de claves DNSSEC, por lo que todas las claves aparecen en una lista plana. La mejor manera de ver los diferentes conjuntos de claves DNSSEC que ha creado es enviar una solicitud de GET a /v1/zones/{zone_name}/dnssec/external_keys.

Antes de empezar

  • Debe disponer de una clave API NS1 Connect válida con permisos de escritura relacionados con DNS.
  • Habilite DNSSEC en la zona; de lo contrario, se ignorará la configuración de la clave DNSSEC externa.

El objeto dnskey

Mediante la API, puede añadir una o más claves DNSSEC externas como objeto dnskey, que contiene detalles de una o más claves públicas en formato DNSKEY. Incluya este objeto en el cuerpo de la solicitud para los métodos PUT y POST para crear o modificar los conjuntos de claves DNSSEC.

Aunque puede tener varios conjuntos de claves DNSSEC externas dentro de una zona, debe crear un conjunto cada vez. Por ejemplo, puede crear un conjunto de claves DNSSEC correspondiente a cada proveedor que no sea NS1 Connect, especificando una o varias claves utilizadas por dicho proveedor para firmar datos de zona. La forma de agrupar las claves DNSSEC externas en conjuntos depende de usted.

El siguiente ejemplo muestra el objeto dnskey que debe incluirse en el cuerpo de la solicitud cuando se crea o modifica un conjunto de claves DNSSEC.

{
    "dnskey": {
        "ttl": 1200,
        "data": [
            {
                "flags": 256,
                "protocol": 3,
                "algorithm": 13,
                "public_key": "58MeBmjs+4Ry0L+DzBCKR8Y7iQnnj9mCJBvZU7uVRYJ8htKi03lKXs6YySLDSxUMk31TgWPclYc88Z2FUDuI2Q=="
            },
            {
                "flags": 257,
                "protocol": 3,
                "algorithm": 13,
                "public_key": "7LvMDsyZV9qy/vCzPuATbLPA5vqNmbHclp13zIDRQQiQNeBOcsS9WIaJmY+j2ZPEELz8RGq32y85K/YUgUMm2g=="
            }
        ]
    }
}

Dentro del objeto dnskey, puede especificar un valor de tiempo de vida ( ttl ) (en segundos) para el conjunto de claves. La matriz de DNSSEC ( data ) contiene uno o más objetos, donde cada objeto de la matriz corresponde a una clave DNSSEC. Para cada clave DNSSEC, debe incluir los siguientes parámetros:

Tabla 1. Detalles del objeto DNSKEY
Parámetro Descripción
flags (entero) El tipo de clave DNSSEC. NS1 Connect admite dos valores: 256 (para ZSK) y 257 (para KSK).
protocol (entero) Establezca este valor en 3 para indicar una clave DNSSEC.
algorithm (entero) Un entero sin signo de 16 bits que indica el algoritmo de clave DNSSEC. NS1 Connect admite un valor de 13 (ECDSA-P256-SHA256).
Nota : Especificar un algoritmo distinto de 13 es discrecional y puede causar fallos de validación en ciertos escenarios.
public_key (cadena) Clave pública en codificación Base64.

Creación de conjuntos de claves DNSSEC externas

Mediante la API, puede crear uno o más conjuntos de claves DNSSEC dentro de una zona. Por ejemplo, puede crear un conjunto de claves para cada proveedor de DNS. Además de incluir el objeto dnskey en el cuerpo de la solicitud, también debe especificar los siguientes parámetros de ruta de acceso URL :

Tabla 2. Detalles del objeto DNSKEY
Parámetro Descripción
{zone_name} (entero) El tipo de clave DNSSEC. NS1 Connect admite dos valores: 256 (para ZSK) y 257 (para KSK).
{key_set_name} (entero) Establezca este valor en 3 para indicar una clave DNSSEC.

La siguiente solicitud de ejemplo de PUT crea un nuevo conjunto de claves DNSSEC con dos claves DNSSEC (es decir, dos objetos dentro de la matriz data ).

curl -X PUT -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/dnssec/external_keys/{key_set_name} -d '{
    "dnskey": {
        "ttl": 1200,
        "data": [
            {
                "flags": 256,
                "protocol": 3,
                "algorithm": 13,
                "public_key": "58MeBmjs+4Ry0L+DzBCKR8Y7iQnnj9mCJBvZU7uVRYJ8htKi03lKXs6YySLDSxUMk31TgWPclYc88Z2FUDuI2Q=="
            },
            {
                "flags": 257,
                "protocol": 3,
                "algorithm": 13,
                "public_key": "7LvMDsyZV9qy/vCzPuATbLPA5vqNmbHclp13zIDRQQiQNeBOcsS9WIaJmY+j2ZPEELz8RGq32y85K/YUgUMm2g=="
            }
        ]
    }
}'

Después de configurar el conjunto de claves DNSSEC en la plataforma NS1 Connect , es posible que tenga que repetir este proceso en sus otras plataformas de proveedores de DNS.

Ver detalles del conjunto de claves DNSSEC externas

Puede ver los detalles de todos los conjuntos de claves DNSSEC dentro de una zona o establecer el parámetro de consulta {key_set_name} para filtrar la respuesta y devolver detalles de un conjunto de claves individual.

curl -X GET -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/dnssec/external_keys/{key_set_name}

Modificar conjuntos de claves DNSSEC externas

A través de la API NS1 Connect , puede editar datos de conjuntos de claves DNSSEC externos añadiendo, eliminando o actualizando claves dentro de ese conjunto. Especifique el nombre de la zona y el nombre de la clave DNSSEC establecida en la ruta URL. No puede cambiar el nombre de un conjunto de claves DNSSEC existente.

La siguiente solicitud de ejemplo de POST modifica los datos del conjunto de claves DNSSEC existentes dentro de una zona.

curl -X POST -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/dnssec/external_keys/{key_set_name} -d '{
    "dnskey": {
        "ttl": 1200,
        "data": [
            {
                "flags": 256,
                "protocol": 3,
                "algorithm": 13,
                "public_key": "58MeBmjs+4Ry0L+DzBCKR8Y7iQnnj9mCJBvZU7uVRYJ8htKi03lKXs6YySLDSxUMk31TgWPclYc88Z2FUDuI2Q==string"
            },
            {
                "flags": 257,
                "protocol": 3,
                "algorithm": 13,
                "public_key": "7LvMDsyZV9qy/vCzPuATbLPA5vqNmbHclp13zIDRQQiQNeBOcsS9WIaJmY+j2ZPEELz8RGq32y85K/YUgUMm2g==string"
            }
        ]
    }
}'

Los cambios en las claves DNSSEC externas se reflejan de inmediato.

Eliminar un conjunto de claves DNSSEC externas

Para eliminar un conjunto de claves DNSSEC externas, especifique el nombre de la zona y el nombre del conjunto de claves DNSSEC en la ruta URL.

Nota : Siempre que sea posible, actualice los conjuntos de claves externas existentes en lugar de eliminarlos y volver a crearlos. De lo contrario, puede volver a crear un conjunto de claves (solicitud PUT ) con un nuevo nombre y, a continuación, eliminar el conjunto de claves antiguo.
curl -X DELETE -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/external_keys/{key_set_name}
Atención : Si la zona está habilitada para DNSSEC en el registrador, no elimine las claves que utilizan otros proveedores.