Welches Problem löst CAA?
Es gibt weltweit über 100 vertrauenswürdige Zertifizierungsstellen (CAs) — Let's Encrypt, DigiCert, Sectigo, GoDaddy, GlobalSign und viele kleinere. Bis vor wenigen Jahren konnte jede dieser CAs ein gültiges SSL-Zertifikat für jede Domain ausstellen. Wenn auch nur eine einzige CA gehackt oder kompromittiert wurde, konnten Angreifer Zertifikate für jede beliebige Domain bekommen — DigiNotar 2011 ist das berühmteste Beispiel: Iranische Behörden ließen sich Zertifikate für Google, Facebook und andere ausstellen und nutzten sie für Massen-MITM-Angriffe.
CAA-Records (Certification Authority Authorization, RFC 8659) sind die Antwort: Du erklärst per DNS, welche CAs für deine Domain Zertifikate ausstellen dürfen. Andere CAs sind dazu verpflichtet, vor jeder Zertifikatsausstellung den CAA-Record zu prüfen — und müssen ablehnen, wenn sie nicht autorisiert sind. Seit September 2017 ist die CAA-Prüfung für alle CAs verbindlich (CA/Browser Forum Baseline Requirements).
Aufbau des Records
Beispiel:
deinedomain.de. CAA 0 issue "letsencrypt.org" deinedomain.de. CAA 0 issue "digicert.com" deinedomain.de. CAA 0 issuewild "letsencrypt.org" deinedomain.de. CAA 0 iodef "mailto:security@deinedomain.de"
Drei Properties (Tags):
issue— diese CA darf normale Zertifikate ausstellen.issuewild— diese CA darf Wildcard-Zertifikate (*.deinedomain.de) ausstellen.iodef— Adresse, an die CAs Verstöße melden sollen (RFC-konform: mailto: oder URL für Incident-Reporting).
Das Flag-Feld vorne (hier 0) ist
ein Bitfeld; mit 128 markierst du
den Record als kritisch — CAs, die das Property nicht verstehen, müssen dann ablehnen.
Heute ist 0 der Standard.
Komplette Sperrung
Soll überhaupt keine CA Zertifikate ausstellen dürfen (etwa für eine reine Mail-Domain), verwendest du:
deinedomain.de. CAA 0 issue ";"
Welche CA für welche Wert-Strings?
- Let's Encrypt:
letsencrypt.org - DigiCert:
digicert.com - Sectigo (frueher Comodo):
sectigo.comodercomodoca.com - GlobalSign:
globalsign.com - Google Trust Services:
pki.goog - Amazon AWS:
amazon.com(oderamazontrust.com)
Welche Wert-Strings deine CA erwartet, steht in deren Dokumentation — manche akzeptieren mehrere Schreibweisen, andere sind streng.
Häufige Fehler
- CAA fehlt: Jede CA der Welt darf Zertifikate ausstellen. Nicht das Ende der Welt — alle modernen CAs prüfen Domain-Ownership zusätzlich — aber ein wichtiger zusätzlicher Riegel.
- CAA-Record vergessen, wenn Hoster-Wechsel: Bei einem Wechsel von Let's Encrypt zu z. B. AWS schlägt die Zertifikatsausstellung fehl, bis der CAA-Record entsprechend angepasst ist.
- Wildcard separat behandeln: Wer
issuesetzt, aber nichtissuewild, kann keine Wildcard-Zertifikate mehr bekommen. - Hoster-Subdomain-Vererbung: CAA-Records werden bei Subdomains von der Eltern-Domain geerbt, sofern die Subdomain selbst keinen hat.
CAA prüfen
Mit dig:
dig CAA deinedomain.de +short
Oder direkt im DNS-Tool von Webscan Radar — der CAA-Eintrag wird im Lookup mit angezeigt.