¿Qué es un registro CAA?
Un registro CAA (Autorización de Autoridad de certificación) es un tipo de registro DNS que especifica cuáles Autoridades de certificación (CAs) están permitidas de emitir certificados SSL/TLS para un dominio. CAA actúa como control de seguridad, previniendo emisión de certificados no autorizada incluso si un atacante compromete una CA.
Por qué los registros CAA son importantes
Sin registros CAA, cualquiera de los cientos de CAs de confianza podría emitir un certificado para tu dominio. Esto crea riesgo:
- Compromiso de CA: Si cualquier CA de confianza es comprometida, los atacantes podrían obtener certificados para tu dominio
- Emisión incorrecta: Las CAs ocasionalmente emiten certificados incorrectamente
- Ingeniería social: Los atacantes podrían engañar a una CA para emitir certificados no autorizados
Los registros CAA reducen la superficie de ataque restringiendo qué CAs pueden emitir para tu dominio.
Cómo funciona CAA
1. El propietario del dominio publica registros CAA en DNS
2. El solicitante de certificado pide un certificado a una CA
3. La CA verifica registros CAA para el dominio
4. La CA emite solo si está autorizada (o no hay registros CAA)
5. Si está no autorizada, la CA debe rechazar la solicitud
Verificación obligatoria de CA
A partir de septiembre de 2017, todas las CAs están obligadas de verificar registros CAA antes de emitir certificados. Esto es parte de los Requisitos Básicos del Foro CA/Navegador.
Formato del registro CAA
ejemplo.com. IN CAA 0 issue "letsencrypt.org"
Componentes:
- 0: Banderas (0 = no crítico, 128 = crítico)
- issue/issuewild/iodef: Etiqueta de propiedad
- "letsencrypt.org": Valor de propiedad (la CA autorizada)
Etiquetas de propiedad
| Etiqueta | Propósito | Ejemplo |
|---|---|---|
| issue | Autoriza CA para todos los certificados | issue "letsencrypt.org" |
| issuewild | Autoriza CA para certificados wildcard | issuewild "digicert.com" |
| iodef | Reporta intentos no autorizados | iodef "mailto:security@ejemplo.com" |
Ejemplos de registros CAA
Una sola CA (solo Let's Encrypt)
ejemplo.com. CAA 0 issue "letsencrypt.org"
Múltiples CAs
ejemplo.com. CAA 0 issue "letsencrypt.org"
ejemplo.com. CAA 0 issue "digicert.com"
ejemplo.com. CAA 0 issue "sectigo.com"
Restricción de Wildcard
Allow Let's Encrypt para certificados normales, DigiCert para wildcards:
ejemplo.com. CAA 0 issue "letsencrypt.org"
ejemplo.com. CAA 0 issuewild "digicert.com"
Denegar todo (sin certificados)
Útil para dominios que nunca deberían tener certificados:
ejemplo.com. CAA 0 issue ";"
Con reporte
ejemplo.com. CAA 0 issue "letsencrypt.org"
ejemplo.com. CAA 0 iodef "mailto:security@ejemplo.com"
Identificadores comunes de CA
| CA | Identificador |
|---|---|
| Let's Encrypt | letsencrypt.org |
| DigiCert | digicert.com |
| Sectigo (Comodo) | sectigo.com |
| GlobalSign | globalsign.com |
| GoDaddy | godaddy.com |
| Amazon | amazon.com |
| Google Trust Services | pki.goog |
Verifica la documentación de tu CA para el identificador exacto a usar.
Implementación de registros CAA
Vía proveedor DNS
La mayoría de proveedores DNS tienen soporte para registros CAA en su interfaz.
Vía archivo de zona
; Permite Let's Encrypt y DigiCert
@ IN CAA 0 issue "letsencrypt.org"
@ IN CAA 0 issue "digicert.com"
@ IN CAA 0 iodef "mailto:security@ejemplo.com"
Herencia de CAA
Los registros CAA siguen la jerarquía DNS:
- Si ejemplo.com tiene registros CAA, se aplican a subdominios
- Los subdominios pueden tener sus propios registros CAA (override del padre)
- Sin registros CAA = cualquier CA puede emitir
ejemplo.com. CAA 0 issue "letsencrypt.org" ; Se aplica a todos
api.ejemplo.com. CAA 0 issue "digicert.com" ; Override para api
Verificación de registros CAA
Usando dig:dig ejemplo.com CAA
; ANSWER SECTION:
ejemplo.com. 300 IN CAA 0 issue "letsencrypt.org"
Usando DomScan:
curl "https://domscan.net/v1/health?domain=ejemplo.com"
# Reporta hasCAA en detalles de seguridad
Mejores prácticas de CAA
1. Siempre configura CAA: Reduce tu superficie de ataque
2. Incluye todas las CAs que usas: No olvides CAs de CDN/proveedor cloud
3. Configura iodef: Recibe notificaciones de intentos no autorizados
4. Prueba antes de aplicar: Verifica que tus CAs todavía pueden emitir
5. Mantén registros actualizados: Añade nuevas CAs antes de solicitar certificados
Problemas comunes de CAA
Falla de renovación de certificado: CA no en registros CAA—añádela antes de que expire el certificado Falla de certificados de CDN: La CA del proveedor de CDN no está autorizada—verifica qué CA usa tu CDN CAA de subdominio faltante: El hijo hereda CAA del padre—establece registros específicos si es necesarioCAA es un control de seguridad simple pero poderoso que cada dominio debería implementar.