Neu: PostScale -- E-Mail-API für transaktionale, eingehende und maskierte Adressen. PostScale

    Was ist ein CAA-Eintrag

    Erfahren Sie, wie CAA-Einträge steuern, welche Zertifizierungsstellen SSL/TLS-Zertifikate für Ihre Domain ausstellen dürfen. Mit Beispielen für das DNScale-Dashboard und die API.

    Ein CAA-Eintrag (Certification Authority Authorization) legt fest, welche Zertifizierungsstellen (CAs) berechtigt sind, SSL/TLS-Zertifikate für Ihre Domain auszustellen. CAA-Einträge sind eine Sicherheitsmaßnahme, die unautorisierte Zertifikatsausstellung verhindern hilft.

    Wie CAA-Einträge funktionieren

    Wenn eine CA eine Zertifikatsanfrage erhält, muss sie CAA-Einträge prüfen:

    example.com.    3600    CAA    0 issue "letsencrypt.org"

    Dies teilt CAs mit: „Nur Let's Encrypt darf Zertifikate für example.com ausstellen."

    Wenn keine CAA-Einträge existieren, kann jede CA Zertifikate ausstellen. Sobald Sie CAA-Einträge hinzufügen, können nur autorisierte CAs Zertifikate ausstellen.

    Eintragskomponenten

    KomponenteBeschreibungWerte
    FlagKritisches Flag0 (nicht-kritisch) oder 128 (kritisch)
    TagEigenschaftstypissue, issuewild, iodef
    WertCA-Domain oder Kontakt"letsencrypt.org"

    Tags erklärt

    TagZweck
    issueCA für reguläre Zertifikate autorisieren
    issuewildCA für Wildcard-Zertifikate autorisieren
    iodefRichtlinienverstöße an diese Adresse melden

    Häufige Anwendungsfälle

    Eine einzelne CA erlauben (Let's Encrypt)

    example.com.    3600    CAA    0 issue "letsencrypt.org"

    Mehrere CAs erlauben

    example.com.    3600    CAA    0 issue "letsencrypt.org"
    example.com.    3600    CAA    0 issue "digicert.com"
    example.com.    3600    CAA    0 issue "sectigo.com"

    Reguläre und Wildcard-Ausstellung trennen

    ; Reguläre Zertifikate von Let's Encrypt
    example.com.    3600    CAA    0 issue "letsencrypt.org"
     
    ; Wildcard-Zertifikate nur von DigiCert
    example.com.    3600    CAA    0 issuewild "digicert.com"

    Alle Zertifikatsausstellungen verweigern

    example.com.    3600    CAA    0 issue ";"

    Mit Verstoßmeldung

    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"

    Wildcard nur von bestimmter CA erlauben

    example.com.    3600    CAA    0 issue "letsencrypt.org"
    example.com.    3600    CAA    0 issuewild ";"  ; Alle Wildcards verweigern

    Gängige CA-Bezeichner

    CACAA-Wert
    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 nutzt DigiCert)
    ZeroSSLsectigo.com

    Eintragsformat

    FeldBeschreibungBeispiel
    NameDomain (meist Apex)@ oder Subdomain
    TypEintragstypCAA
    FlagKritisches Flag0 oder 128
    TagEigenschaftstypissue, issuewild, iodef
    WertCA-Bezeichnerletsencrypt.org
    TTLTime to Live (Sekunden)3600

    Einen CAA-Eintrag hinzufügen

    Über das Dashboard

    1. Navigieren Sie zu Ihrer Zone im DNScale-Dashboard
    2. Klicken Sie auf Add Record
    3. Konfigurieren Sie den Eintrag:
      • Name: Normalerweise @ für die Apex-Domain
      • Type: Wählen Sie CAA
      • Flag: Wählen Sie 0 (Nicht-kritisch) oder 128 (Kritisch)
      • Tag: Wählen Sie issue, issuewild oder iodef
      • Value: Geben Sie die CA-Domain oder Kontaktadresse ein
      • TTL: Setzen Sie die Cache-Dauer (Standard: 3600)
    4. Klicken Sie auf Create Record

    Über die API

    Let's Encrypt zur Zertifikatsausstellung berechtigen:

    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
      }'

    Wildcard-Autorisierung hinzufügen:

    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
      }'

    Verstoßmeldung hinzufügen:

    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
      }'

    API-Antwort:

    {
      "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
        }
      }
    }

    CAA-Vererbung

    CAA-Einträge werden von Subdomains geerbt, sofern sie nicht überschrieben werden:

    ; Apex-CAA - gilt für example.com und alle Subdomains
    example.com.         3600    CAA    0 issue "letsencrypt.org"
     
    ; Überschreibung für bestimmte Subdomain
    shop.example.com.    3600    CAA    0 issue "digicert.com"

    In diesem Fall:

    • example.com - Nur Let's Encrypt
    • www.example.com - Nur Let's Encrypt (geerbt)
    • shop.example.com - Nur DigiCert (überschrieben)

    Best Practices

    1. Mit Überwachung beginnen - Fügen Sie iodef-Einträge hinzu, um Berichte zu erhalten, bevor Sie die Ausstellung einschränken

    2. Ihre tatsächliche CA einbeziehen - Überprüfen Sie vor dem Hinzufügen restriktiver Einträge, welche CA Sie verwenden

    3. An Wildcards denken - Denken Sie daran, dass issuewild von issue getrennt ist

    4. Nicht-kritisches Flag (0) verwenden - Verwenden Sie Flag 128 nur, wenn Sie strikte Durchsetzung wünschen

    5. Vor CA-Wechsel aktualisieren - Fügen Sie die neue CA-Autorisierung hinzu, bevor Sie den Anbieter wechseln

    6. Subdomains nicht vergessen - Prüfen Sie, ob Subdomains andere Richtlinien benötigen

    Fehlerbehebung bei der Zertifikatsausstellung

    Wenn die Zertifikatsausstellung nach dem Hinzufügen von CAA-Einträgen fehlschlägt:

    1. CAA-Einträge überprüfen:

      dig CAA example.com
    2. Korrekten CA-Bezeichner prüfen:

      • Kontaktieren Sie Ihre CA für den genauen Bezeichner
      • Einige CAs verwenden Bezeichner der Muttergesellschaft
    3. Wildcard-Autorisierung überprüfen:

      • issuewild ist für Wildcard-Zertifikate erforderlich
      • Wenn nur issue existiert, schlagen Wildcards fehl
    4. Subdomain-Vererbung prüfen:

      • Subdomains erben die übergeordneten CAA-Einträge, sofern nicht überschrieben

    CAA-Einträge testen

    # CAA-Einträge abfragen
    dig CAA example.com
     
    # Mit bestimmtem Nameserver prüfen
    dig CAA example.com @ns1.dnscale.eu
     
    # Online-Tools verwenden
    # - SSLLabs SSL Test
    # - CAA Test (caatest.co.uk)

    Verwandte Eintragstypen

    • TXT - Domain-Verifizierung für CAs
    • TLSA - DANE-Zertifikats-Pinning
    • A - Serveradresse für Validierung

    Fazit

    CAA-Einträge sind eine einfache, aber effektive Sicherheitsmaßnahme zur Steuerung der SSL/TLS-Zertifikatsausstellung. Durch die Festlegung, welche CAs Zertifikate für Ihre Domain ausstellen dürfen, reduzieren Sie das Risiko unautorisierter Zertifikatserstellung. DNScale macht die Konfiguration von CAA-Einträgen mit intuitiver Tag-Auswahl für issue-, issuewild- und iodef-Richtlinien einfach.