Qué es un registro CAA
Aprende cómo los registros CAA controlan qué Autoridades Certificadoras pueden emitir certificados SSL/TLS para tu dominio. Incluye ejemplos para el panel de control y la API de DNScale.
Un registro CAA (Certification Authority Authorization) especifica qué Autoridades Certificadoras (CAs) tienen permiso para emitir certificados SSL/TLS para tu dominio. Los registros CAA son una medida de seguridad que ayuda a prevenir la emisión no autorizada de certificados.
Cómo funcionan los registros CAA
Cuando una CA recibe una solicitud de certificado, debe verificar los registros CAA:
example.com. 3600 CAA 0 issue "letsencrypt.org"Esto indica a las CAs: "Solo Let's Encrypt puede emitir certificados para example.com."
Si no existen registros CAA, cualquier CA puede emitir certificados. Una vez que agregas registros CAA, solo las CAs autorizadas pueden emitir.
Componentes del registro
| Componente | Descripción | Valores |
|---|---|---|
| Flag | Bandera crítica | 0 (no crítico) o 128 (crítico) |
| Tag | Tipo de propiedad | issue, issuewild, iodef |
| Value | Dominio de la CA o contacto | "letsencrypt.org" |
Tags explicados
| Tag | Propósito |
|---|---|
issue | Autorizar CA para certificados regulares |
issuewild | Autorizar CA para certificados wildcard |
iodef | Reportar violaciones de política a esta dirección |
Casos de uso comunes
Permitir una sola CA (Let's Encrypt)
example.com. 3600 CAA 0 issue "letsencrypt.org"Permitir múltiples CAs
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issue "digicert.com"
example.com. 3600 CAA 0 issue "sectigo.com"Separar emisión regular y wildcard
; Certificados regulares de Let's Encrypt
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Certificados wildcard solo de DigiCert
example.com. 3600 CAA 0 issuewild "digicert.com"Denegar toda emisión de certificados
example.com. 3600 CAA 0 issue ";"Con reporte de violaciones
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 iodef "mailto:security@example.com"
example.com. 3600 CAA 0 iodef "https://example.com/caa-report"Permitir wildcard solo de una CA específica
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issuewild ";" ; Denegar todos los wildcardsIdentificadores de CAs populares
| CA | Valor CAA |
|---|---|
| Let's Encrypt | letsencrypt.org |
| DigiCert | digicert.com |
| Sectigo (Comodo) | sectigo.com |
| GlobalSign | globalsign.com |
| GoDaddy | godaddy.com |
| Amazon (ACM) | amazon.com |
| Google Trust Services | pki.goog |
| Cloudflare | digicert.com (Cloudflare usa DigiCert) |
| ZeroSSL | sectigo.com |
Formato del registro
| Campo | Descripción | Ejemplo |
|---|---|---|
| Nombre | Dominio (generalmente apex) | @ o subdominio |
| Tipo | Tipo de registro | CAA |
| Flag | Bandera crítica | 0 o 128 |
| Tag | Tipo de propiedad | issue, issuewild, iodef |
| Value | Identificador de la CA | letsencrypt.org |
| TTL | Tiempo de vida (segundos) | 3600 |
Agregar un registro CAA
Usando el panel de control
- Navega a tu zona en el panel de control de DNScale
- Haz clic en Add Record
- Configura el registro:
- Name: Generalmente
@para el dominio apex - Type: Selecciona
CAA - Flag: Elige
0(No crítico) o128(Crítico) - Tag: Selecciona
issue,issuewildoiodef - Value: Ingresa el dominio de la CA o dirección de contacto
- TTL: Establece la duración del caché (predeterminado: 3600)
- Name: Generalmente
- Haz clic en Create Record
Usando la API
Permitir a Let's Encrypt emitir certificados:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "@",
"type": "CAA",
"content": "0 issue \"letsencrypt.org\"",
"ttl": 3600
}'Agregar autorización wildcard:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "@",
"type": "CAA",
"content": "0 issuewild \"letsencrypt.org\"",
"ttl": 3600
}'Agregar reporte de violaciones:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "@",
"type": "CAA",
"content": "0 iodef \"mailto:security@example.com\"",
"ttl": 3600
}'Respuesta de la API:
{
"status": "success",
"data": {
"message": "Record created successfully",
"record": {
"id": "encoded-record-id",
"name": "example.com.",
"type": "CAA",
"content": "0 issue \"letsencrypt.org\"",
"ttl": 3600,
"disabled": false
}
}
}Herencia CAA
Los registros CAA son heredados por los subdominios a menos que se anulen:
; CAA del apex - aplica a example.com y todos los subdominios
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Anulación para subdominio específico
shop.example.com. 3600 CAA 0 issue "digicert.com"En este caso:
example.com- Solo Let's Encryptwww.example.com- Solo Let's Encrypt (heredado)shop.example.com- Solo DigiCert (anulado)
Mejores prácticas
-
Comienza con monitoreo - Agrega registros
iodefpara recibir reportes antes de restringir la emisión -
Incluye tu CA real - Antes de agregar registros restrictivos, verifica qué CA utilizas
-
Planifica los wildcards - Recuerda que
issuewildes separado deissue -
Usa la bandera no crítica (0) - Solo usa la bandera 128 si deseas aplicación estricta
-
Actualiza antes de cambiar de CA - Agrega la autorización de la nueva CA antes de cambiar de proveedor
-
No olvides los subdominios - Verifica si los subdominios necesitan políticas diferentes
Solución de problemas de emisión de certificados
Si la emisión de certificados falla después de agregar registros CAA:
-
Verifica que existan registros CAA:
dig CAA example.com -
Verifica el identificador correcto de la CA:
- Contacta a tu CA para el identificador exacto
- Algunas CAs usan identificadores de la empresa matriz
-
Verifica la autorización wildcard:
issuewildes necesario para certificados wildcard- Si solo existe
issue, los wildcards fallarán
-
Verifica la herencia de subdominios:
- Los subdominios heredan el CAA del padre a menos que se anule
Probar registros CAA
# Consultar registros CAA
dig CAA example.com
# Verificar con servidor de nombres específico
dig CAA example.com @ns1.dnscale.eu
# Usar herramientas en línea
# - SSLLabs SSL Test
# - CAA Test (caatest.co.uk)Tipos de registro relacionados
- TXT - Verificación de dominio para CAs
- TLSA - Fijación de certificados con DANE
- A - Dirección del servidor para validación
Conclusión
Los registros CAA son una medida de seguridad simple pero efectiva para controlar la emisión de certificados SSL/TLS. Al especificar qué CAs pueden emitir certificados para tu dominio, reduces el riesgo de creación no autorizada de certificados. DNScale facilita la configuración de registros CAA con selección intuitiva de tags para políticas issue, issuewild e iodef.