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.
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:
| 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 :
| 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.
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}