AZ Tools

Generador de registros DNS CAA

Red

Un registro CAA (RFC 8659, antes 6844) es un registro DNS tipo TXT que indica a las autoridades certificadoras públicas qué CAs pueden emitir certificados para tu dominio. Toda CA del CA/Browser Forum Baseline Requirements debe consultar CAA antes de emitir — si existe un registro y la CA no aparece, rechaza. Es una defensa pequeña pero potente contra emisiones rebeldes o mal configuradas, y es gratis. Se definen tres tags: `issue` autoriza una CA para certificados regulares, `issuewild` autoriza una CA para wildcards (por defecto igual a `issue` si falta), e `iodef` provee un contacto (mailto:/https:) para reportes. Cada registro lleva un byte de flags; activar el bit crítico (128) hace que las CAs rechacen si no entienden algún parámetro asociado. Esta herramienta construye los registros y los exporta en dos formatos: sintaxis BIND completa (pegar en el archivo de zona), y filas separadas tag/valor (para paneles que las piden por separado). La lista de CAs comunes permite añadir Let's Encrypt, DigiCert, Sectigo, Google, Amazon y otras con un clic. El valor especial `;` significa 'denegar a todas las CAs' — una política sólida cuando no necesitas emitir.

Registros

Tag
Valor
Tag
Valor
Tag
Valor

Añadir CA común (como registro issue)

Formato BIND

example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issuewild "letsencrypt.org"
example.com. IN CAA 0 iodef "mailto:security@example.com"

Filas tag / valor

Para paneles DNS que piden flags, tag y valor por separado. Formato: flags tag valor

  0  issue      "letsencrypt.org"
  0  issuewild  "letsencrypt.org"
  0  iodef      "mailto:security@example.com"
Sobre los registros CAA

CAA significa Certificate Authority Authorization (RFC 8659). Es un registro DNS que indica a las CAs públicas si pueden emitir certificados para tu dominio. Las CAs deben consultar CAA en cada emisión y rechazar si no aparecen. La herramienta emite dos formatos: sintaxis BIND completa con escape adecuado para pegar en archivos de zona, y una tabla de flags / tag / valor para paneles (Cloudflare, Route53, etc.). El valor especial `;` en un registro issue o issuewild significa 'denegar todas las CAs' — un buen default cuando no usas TLS. CAA es jerárquico: un registro en el apex cubre todos los subdominios salvo que haya un conjunto CAA más específico debajo. Los registros tardan hasta 8 horas en propagarse por el cacheo de las CAs.

Cómo usar

  1. Ingresa tu dominio apex o subdominio (los CAA se consultan de la hoja hacia arriba; configurarlos en el apex suele cubrir todo).
  2. Pulsa uno de los botones de CA común para añadir un registro `issue` inicial. Edita el tag, valor o flag crítico según necesites.
  3. Añade un registro `issuewild` si vas a emitir wildcards. Si no, omítelo — `issue` solo NO cubre wildcards.
  4. Añade un registro `iodef` con una dirección mailto: o https: para que las CAs te notifiquen violaciones de política.
  5. Pega la salida BIND en tu archivo de zona (o usa el formato de filas si tu panel pide tag y valor por separado).

Preguntas frecuentes

¿Dónde alojo el registro CAA?
En el mismo dominio que quieres proteger. La búsqueda CAA sube desde el nombre solicitado hasta el apex — un cert para `api.example.com` consulta `api.example.com`, luego `example.com`, luego raíz. Lo habitual es poner un conjunto CAA en el apex y dejar que cubra todos los subdominios. CAA por subdominio solo importa si quieres allí una política distinta.
¿`issue letsencrypt.org` bloquea wildcards de otras CAs?
Sí — si tienes registros `issue` y ningún `issuewild`, los `issue` también restringen wildcards. Pero si existe algún `issuewild`, este prevalece para wildcards. El patrón más seguro es listar ambos explícitamente cuando quieres ambos, o añadir solo `issue` si nunca necesitas wildcards. `;` en `issuewild` permitiendo certs regulares es la política habitual de 'ningún wildcard de nadie'.
¿Qué hace la flag crítica?
El bit 7 (valor 128) es la flag issuer-critical. Activada en un tag desconocido, las CAs deben rechazar la emisión. Hoy solo están definidos `issue`, `issuewild` e `iodef`, así que crítica afecta sobre todo a compatibilidad futura. Déjala apagada (flags = 0) en configuraciones típicas; usa 128 solo si especificas deliberadamente un tag que todas las CAs deben entender.
¿Cuán rápido respetan las CAs un nuevo CAA?
Por los Baseline Requirements, las CAs verifican CAA en el momento de emisión, con un TTL máximo de caché de 8 horas desde el valor anterior. Un registro nuevo puede tardar hasta 8 horas en surtir efecto en todas las CAs. Para evitar que negativos cacheados bloqueen emisión, da a tus registros un TTL de 5-60 minutos al configurar y súbelo después.
¿DNSSEC afecta a CAA?
Si tu zona está firmada con DNSSEC, las CAs deben verificar las firmas y tratar respuestas no firmadas como ausentes. Un DNSSEC mal configurado puede romper la verificación CAA y detener renovaciones. Valida la zona con una herramienta como dnsviz.net antes de depender de la aplicación CAA.

Herramientas relacionadas