Was ist ein CAA-Record?
CAA steht für Certification Authority Authorization. Es ist ein DNS-Eintragstyp, mit dem du als Domain-Inhaber festlegst, welche Zertifizierungsstellen (englisch Certificate Authorities, kurz CA) überhaupt SSL/TLS-Zertifikate für deine Domain ausstellen dürfen. Ohne CAA-Record darf grundsätzlich jede der weltweit anerkannten CAs ein Zertifikat für deine Domain ausstellen, sobald jemand die Domain-Kontrolle nachweist. Mit einem CAA-Record schränkst du diesen Kreis bewusst ein.
Wichtig zum Verständnis: Ein CAA-Record verschlüsselt nichts und ersetzt kein Zertifikat. Er ist eine reine Anweisung an die CAs. Seit 2017 ist die Prüfung des CAA-Records für jede öffentlich vertrauenswürdige CA verpflichtend — sie muss vor der Ausstellung im DNS nachschauen, ob sie für die Domain zugelassen ist. Findet sie einen CAA-Record, der sie nicht nennt, verweigert sie die Ausstellung.
Warum solltest du einen CAA-Record setzen?
Der Hauptgrund ist Sicherheit. Ein CAA-Record reduziert das Risiko, dass jemand über eine fremde oder nachlässig arbeitende Zertifizierungsstelle ein gültiges Zertifikat für deine Domain ausstellen lässt — etwa nach einer fehlerhaften Domain-Validierung oder einem kompromittierten CA-Konto. Du legst genau eine oder wenige CAs fest, denen du vertraust, und schließt alle anderen aus.
Konkret bringt dir das:
- Weniger Angriffsfläche: Selbst wenn eine andere CA kompromittiert wäre, dürfte sie für deine Domain kein Zertifikat ausstellen.
- Klare Hausordnung: In Teams ist dokumentiert, über welchen Anbieter Zertifikate laufen — niemand stellt versehentlich woanders aus.
- Benachrichtigung bei Verstößen: Über das
iodef-Tag kannst du dir melden lassen, wenn eine CA einen Ausstellungsversuch ablehnt, der gegen deine Policy verstößt.
Die Syntax eines CAA-Records
Ein CAA-Record besteht immer aus drei Bestandteilen: einem Flag, einem Tag und einem Value. Das sieht in der klassischen Zonendatei-Schreibweise so aus:
example.de. IN CAA 0 issue "letsencrypt.org"
Die drei Teile im Detail:
- Flag (hier
0): Eine Zahl von 0 bis 255. In der Praxis nutzt du fast immer0. Das Bit für "critical" ist128— setzt du es, muss eine CA das Tag verstehen, sonst darf sie nicht ausstellen. - Tag: Bestimmt die Art der Regel. Es gibt drei gebräuchliche Tags (siehe unten).
- Value: Der Wert in Anführungszeichen, meist der Domain-Name der CA, zum Beispiel
letsencrypt.org.
Die drei wichtigen Tags
issue— erlaubt einer CA, Zertifikate für die Domain und ihre Subdomains auszustellen. Beispiel:0 issue "letsencrypt.org".issuewild— gilt speziell für Wildcard-Zertifikate (zum Beispiel*.example.de). Beispiel:0 issuewild "letsencrypt.org".iodef— gibt eine Kontaktadresse an, an die eine CA Richtlinienverstöße meldet. Beispiel:0 iodef "mailto:security@example.de".
Möchtest du jede Ausstellung verbieten, setzt du als Value ein Semikolon: 0 issue ";". Das bedeutet "keine CA darf ausstellen" und ist nützlich für Domains, die nie ein Zertifikat brauchen.
Beispiele für typische Konstellationen
Nur Let's Encrypt erlauben, inklusive Wildcards, mit Meldeadresse:
0 issue "letsencrypt.org"0 issuewild "letsencrypt.org"0 iodef "mailto:security@example.de"
Zwei CAs gleichzeitig zulassen — du fügst einfach mehrere issue-Einträge hinzu. CAA-Records sind additiv, jeder genannte Anbieter darf ausstellen:
0 issue "letsencrypt.org"0 issue "sectigo.com"
Hinweis: Der korrekte Value ist immer der Domain-Name der CA, nicht ihr Markenname. Welcher Name das ist, dokumentiert jede CA selbst. Für Let's Encrypt ist es letsencrypt.org.
CAA-Record im DNS setzen
CAA gehört zu den Standard-Eintragstypen, die du in einer vollständigen DNS-Verwaltung anlegen kannst — neben A, AAAA, CNAME, MX, TXT und SRV. So gehst du grundsätzlich vor:
- Öffne die DNS-Verwaltung deiner Domain.
- Lege einen neuen Eintrag vom Typ CAA an.
- Trage als Name/Host die Domain ein (oder
@für die Hauptdomain). - Setze das Flag (meist
0), wähle das Tag (issue,issuewildoderiodef) und trage den Value ein, etwaletsencrypt.org. - Speichern und die DNS-Verbreitung abwarten — je nach TTL kann das einige Minuten bis Stunden dauern.
Manche DNS-Oberflächen fragen Flag, Tag und Value in getrennten Feldern ab, andere erwarten die komplette Zeile am Stück. Das Ergebnis ist identisch.
Reihenfolge beachten: erst CAA, dann ausstellen
Setze den CAA-Record idealerweise, bevor du ein Zertifikat anforderst. Beantragst du das Zertifikat zuerst und setzt danach einen CAA-Record, der deine CA nicht nennt, kann die nächste automatische Verlängerung fehlschlagen. Gerade bei automatisierten Setups mit kurzlebigen Let's-Encrypt-Zertifikaten lohnt sich der Doppelcheck.
CAA-Record prüfen
Ob dein Eintrag korrekt veröffentlicht ist, prüfst du schnell über die Kommandozeile. Mit dig unter Linux oder macOS:
dig CAA example.de +short
Alternativ mit nslookup:
nslookup -type=CAA example.de
In der Ausgabe sollten deine gesetzten Flags, Tags und Values auftauchen. Erscheint nichts, ist entweder noch keine Verbreitung erfolgt oder der Eintrag wurde nicht gespeichert.
Grenzen und Stolpersteine
Ein paar Dinge, die in der Praxis immer wieder zu Verwirrung führen:
- Vererbung: CAA-Records gelten für die Domain und alle Subdomains. Eine Subdomain mit eigenem CAA-Record überschreibt jedoch den Eintrag der übergeordneten Domain.
- Kein Schutz vor allem: CAA verhindert keine Angriffe auf deinen Server oder gestohlene private Schlüssel. Es regelt ausschließlich, wer ausstellen darf.
- CNAME-Konflikt: Auf demselben Namen kannst du keinen CNAME und keinen CAA-Record gleichzeitig führen — das gilt generell für CNAME neben anderen Record-Typen.
- Tippfehler im Value: Ein falsch geschriebener CA-Name sperrt deine eigentlich gewünschte CA aus. Nach dem Setzen also unbedingt mit
diggegenprüfen.
Mit Nytrix umsetzen
Domains bei Nytrix bringen eine vollständige DNS-Verwaltung mit, in der du alle gängigen Eintragstypen selbst pflegst — darunter A, AAAA, CNAME, MX, TXT, SRV und eben auch CAA. Dazu gibt es DNSSEC für signierte DNS-Antworten und kostenlosen WHOIS-Schutz. Über 400 TLDs stehen zur Wahl, .de startet bei 5,99 EUR pro Jahr, ein Transfer läuft unkompliziert per AuthCode.
Wenn deine Domain auf Webhosting bei Nytrix zeigt, läuft das SSL ohnehin über Let's Encrypt und ist kostenlos inklusive. Ein passender CAA-Record dazu lautet schlicht 0 issue "letsencrypt.org". So stellst du sicher, dass nur die CA ausstellen darf, die dein Hosting tatsächlich nutzt — der Rest bleibt außen vor.
Abgerechnet wird bei Nytrix per Prepaid: Du lädst Guthaben über das hauseigene Enjyn-PayNow-System auf (PayPal, Kreditkarte über Mollie, Sofortüberweisung/GiroPay, Banküberweisung oder Bitcoin) und buchst dann ohne Mindestlaufzeit und ohne Vertragsbindung. Mehr Praxiswissen rund um DNS, Domains und Server findest du im Nytrix-Blog.