Wat is een CAA-record
Leer hoe CAA-records bepalen welke certificaatautoriteiten SSL/TLS-certificaten mogen uitgeven voor je domein. Inclusief voorbeelden voor het DNScale-dashboard en de API.
Een CAA (Certification Authority Authorization) record specificeert welke certificaatautoriteiten (CA's) SSL/TLS-certificaten mogen uitgeven voor je domein. CAA-records zijn een beveiligingsmaatregel die helpt ongeautoriseerde certificaatuitgifte te voorkomen.
Hoe CAA-records werken
Wanneer een CA een certificaataanvraag ontvangt, moet deze de CAA-records controleren:
example.com. 3600 CAA 0 issue "letsencrypt.org"Dit vertelt CA's: "Alleen Let's Encrypt mag certificaten uitgeven voor example.com."
Als er geen CAA-records bestaan, kan elke CA certificaten uitgeven. Zodra je CAA-records toevoegt, kunnen alleen geautoriseerde CA's certificaten uitgeven.
Recordcomponenten
| Component | Beschrijving | Waarden |
|---|---|---|
| Flag | Kritieke vlag | 0 (niet-kritiek) of 128 (kritiek) |
| Tag | Eigendomstype | issue, issuewild, iodef |
| Value | CA-domein of contactadres | "letsencrypt.org" |
Tags uitgelegd
| Tag | Doel |
|---|---|
issue | Autoriseer CA voor reguliere certificaten |
issuewild | Autoriseer CA voor wildcardcertificaten |
iodef | Meld beleidsovertredingen naar dit adres |
Veelvoorkomende toepassingen
Eén CA toestaan (Let's Encrypt)
example.com. 3600 CAA 0 issue "letsencrypt.org"Meerdere CA's toestaan
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issue "digicert.com"
example.com. 3600 CAA 0 issue "sectigo.com"Reguliere en wildcarduitgifte scheiden
; Reguliere certificaten van Let's Encrypt
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Wildcardcertificaten alleen van DigiCert
example.com. 3600 CAA 0 issuewild "digicert.com"Alle certificaatuitgifte weigeren
example.com. 3600 CAA 0 issue ";"Met overtredingsrapportage
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"Alleen wildcards van specifieke CA toestaan
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issuewild ";" ; Alle wildcards weigerenPopulaire CA-identifiers
| CA | CAA-waarde |
|---|---|
| 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 gebruikt DigiCert) |
| ZeroSSL | sectigo.com |
Recordformaat
| Veld | Beschrijving | Voorbeeld |
|---|---|---|
| Naam | Domein (meestal apex) | @ of subdomein |
| Type | Recordtype | CAA |
| Flag | Kritieke vlag | 0 of 128 |
| Tag | Eigendomstype | issue, issuewild, iodef |
| Value | CA-identifier | letsencrypt.org |
| TTL | Time to live (seconden) | 3600 |
Een CAA-record toevoegen
Via het dashboard
- Navigeer naar je zone in het DNScale-dashboard
- Klik op Add Record
- Configureer het record:
- Name: Meestal
@voor het apex-domein - Type: Selecteer
CAA - Flag: Kies
0(Niet-kritiek) of128(Kritiek) - Tag: Selecteer
issue,issuewildofiodef - Value: Voer het CA-domein of contactadres in
- TTL: Stel de cacheduur in (standaard: 3600)
- Name: Meestal
- Klik op Create Record
Via de API
Let's Encrypt toestaan om certificaten uit te geven:
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
}'Wildcardautorisatie toevoegen:
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
}'Overtredingsrapportage toevoegen:
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-antwoord:
{
"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-overerving
CAA-records worden overgenomen door subdomeinen tenzij ze worden overschreven:
; Apex CAA - geldt voor example.com en alle subdomeinen
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Overschrijving voor specifiek subdomein
shop.example.com. 3600 CAA 0 issue "digicert.com"In dit geval:
example.com- alleen Let's Encryptwww.example.com- alleen Let's Encrypt (overgenomen)shop.example.com- alleen DigiCert (overschreven)
Best practices
-
Begin met monitoring - Voeg
iodef-records toe om rapporten te ontvangen voordat je de uitgifte beperkt -
Neem je daadwerkelijke CA op - Controleer voordat je beperkende records toevoegt welke CA je gebruikt
-
Plan voor wildcards - Onthoud dat
issuewildlos staat vanissue -
Gebruik de niet-kritieke vlag (0) - Gebruik vlag 128 alleen als je strikte afdwinging wilt
-
Werk bij voor het wisselen van CA's - Voeg nieuwe CA-autorisatie toe voordat je van provider wisselt
-
Vergeet subdomeinen niet - Controleer of subdomeinen ander beleid nodig hebben
Probleemoplossing bij certificaatuitgifte
Als certificaatuitgifte mislukt na het toevoegen van CAA-records:
-
Verifieer dat CAA-records bestaan:
dig CAA example.com -
Controleer op juiste CA-identifier:
- Neem contact op met je CA voor de exacte identifier
- Sommige CA's gebruiken identifiers van het moederbedrijf
-
Verifieer wildcardautorisatie:
issuewildis vereist voor wildcardcertificaten- Als alleen
issuebestaat, zullen wildcards mislukken
-
Controleer subdomein-overerving:
- Subdomeinen erven het CAA-record van de bovenliggende tenzij overschreven
CAA-records testen
# CAA-records opvragen
dig CAA example.com
# Controleren met specifieke nameserver
dig CAA example.com @ns1.dnscale.eu
# Online tools gebruiken
# - SSLLabs SSL Test
# - CAA Test (caatest.co.uk)Gerelateerde recordtypen
Conclusie
CAA-records zijn een eenvoudige maar effectieve beveiligingsmaatregel voor het controleren van SSL/TLS-certificaatuitgifte. Door te specificeren welke CA's certificaten mogen uitgeven voor je domein, verminder je het risico van ongeautoriseerde certificaataanmaak. DNScale maakt het eenvoudig om CAA-records te configureren met intuïtieve tagselectie voor issue-, issuewild- en iodef-beleid.