Presentamos PostScale -- API de correo para envíos transaccionales, recepción y direcciones enmascaradas. PostScale

    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

    ComponenteDescripciónValores
    FlagBandera crítica0 (no crítico) o 128 (crítico)
    TagTipo de propiedadissue, issuewild, iodef
    ValueDominio de la CA o contacto"letsencrypt.org"

    Tags explicados

    TagPropósito
    issueAutorizar CA para certificados regulares
    issuewildAutorizar CA para certificados wildcard
    iodefReportar 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 wildcards

    Identificadores de CAs populares

    CAValor CAA
    Let's Encryptletsencrypt.org
    DigiCertdigicert.com
    Sectigo (Comodo)sectigo.com
    GlobalSignglobalsign.com
    GoDaddygodaddy.com
    Amazon (ACM)amazon.com
    Google Trust Servicespki.goog
    Cloudflaredigicert.com (Cloudflare usa DigiCert)
    ZeroSSLsectigo.com

    Formato del registro

    CampoDescripciónEjemplo
    NombreDominio (generalmente apex)@ o subdominio
    TipoTipo de registroCAA
    FlagBandera crítica0 o 128
    TagTipo de propiedadissue, issuewild, iodef
    ValueIdentificador de la CAletsencrypt.org
    TTLTiempo de vida (segundos)3600

    Agregar un registro CAA

    Usando el panel de control

    1. Navega a tu zona en el panel de control de DNScale
    2. Haz clic en Add Record
    3. Configura el registro:
      • Name: Generalmente @ para el dominio apex
      • Type: Selecciona CAA
      • Flag: Elige 0 (No crítico) o 128 (Crítico)
      • Tag: Selecciona issue, issuewild o iodef
      • Value: Ingresa el dominio de la CA o dirección de contacto
      • TTL: Establece la duración del caché (predeterminado: 3600)
    4. 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 Encrypt
    • www.example.com - Solo Let's Encrypt (heredado)
    • shop.example.com - Solo DigiCert (anulado)

    Mejores prácticas

    1. Comienza con monitoreo - Agrega registros iodef para recibir reportes antes de restringir la emisión

    2. Incluye tu CA real - Antes de agregar registros restrictivos, verifica qué CA utilizas

    3. Planifica los wildcards - Recuerda que issuewild es separado de issue

    4. Usa la bandera no crítica (0) - Solo usa la bandera 128 si deseas aplicación estricta

    5. Actualiza antes de cambiar de CA - Agrega la autorización de la nueva CA antes de cambiar de proveedor

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

    1. Verifica que existan registros CAA:

      dig CAA example.com
    2. Verifica el identificador correcto de la CA:

      • Contacta a tu CA para el identificador exacto
      • Algunas CAs usan identificadores de la empresa matriz
    3. Verifica la autorización wildcard:

      • issuewild es necesario para certificados wildcard
      • Si solo existe issue, los wildcards fallarán
    4. 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.