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
| Komponente | Beschreibung | Werte |
|---|---|---|
| Flag | Kritisches Flag | 0 (nicht-kritisch) oder 128 (kritisch) |
| Tag | Eigenschaftstyp | issue, issuewild, iodef |
| Wert | CA-Domain oder Kontakt | "letsencrypt.org" |
Tags erklärt
| Tag | Zweck |
|---|---|
issue | CA für reguläre Zertifikate autorisieren |
issuewild | CA für Wildcard-Zertifikate autorisieren |
iodef | Richtlinienverstöß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 verweigernGängige CA-Bezeichner
| CA | CAA-Wert |
|---|---|
| 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 nutzt DigiCert) |
| ZeroSSL | sectigo.com |
Eintragsformat
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Name | Domain (meist Apex) | @ oder Subdomain |
| Typ | Eintragstyp | CAA |
| Flag | Kritisches Flag | 0 oder 128 |
| Tag | Eigenschaftstyp | issue, issuewild, iodef |
| Wert | CA-Bezeichner | letsencrypt.org |
| TTL | Time to Live (Sekunden) | 3600 |
Einen CAA-Eintrag hinzufügen
Über das Dashboard
- Navigieren Sie zu Ihrer Zone im DNScale-Dashboard
- Klicken Sie auf Add Record
- Konfigurieren Sie den Eintrag:
- Name: Normalerweise
@für die Apex-Domain - Type: Wählen Sie
CAA - Flag: Wählen Sie
0(Nicht-kritisch) oder128(Kritisch) - Tag: Wählen Sie
issue,issuewildoderiodef - Value: Geben Sie die CA-Domain oder Kontaktadresse ein
- TTL: Setzen Sie die Cache-Dauer (Standard: 3600)
- Name: Normalerweise
- 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 Encryptwww.example.com- Nur Let's Encrypt (geerbt)shop.example.com- Nur DigiCert (überschrieben)
Best Practices
-
Mit Überwachung beginnen - Fügen Sie
iodef-Einträge hinzu, um Berichte zu erhalten, bevor Sie die Ausstellung einschränken -
Ihre tatsächliche CA einbeziehen - Überprüfen Sie vor dem Hinzufügen restriktiver Einträge, welche CA Sie verwenden
-
An Wildcards denken - Denken Sie daran, dass
issuewildvonissuegetrennt ist -
Nicht-kritisches Flag (0) verwenden - Verwenden Sie Flag 128 nur, wenn Sie strikte Durchsetzung wünschen
-
Vor CA-Wechsel aktualisieren - Fügen Sie die neue CA-Autorisierung hinzu, bevor Sie den Anbieter wechseln
-
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:
-
CAA-Einträge überprüfen:
dig CAA example.com -
Korrekten CA-Bezeichner prüfen:
- Kontaktieren Sie Ihre CA für den genauen Bezeichner
- Einige CAs verwenden Bezeichner der Muttergesellschaft
-
Wildcard-Autorisierung überprüfen:
issuewildist für Wildcard-Zertifikate erforderlich- Wenn nur
issueexistiert, schlagen Wildcards fehl
-
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.