Qu'est-ce qu'un enregistrement CAA
Apprenez comment les enregistrements CAA controlent quelles autorites de certification peuvent emettre des certificats SSL/TLS pour votre domaine. Inclut des exemples pour le tableau de bord et l'API DNScale.
Un enregistrement CAA (Certification Authority Authorization) specifie quelles autorites de certification (CA) sont autorisees a emettre des certificats SSL/TLS pour votre domaine. Les enregistrements CAA sont une mesure de securite qui aide a prevenir l'emission non autorisee de certificats.
Comment fonctionnent les enregistrements CAA
Lorsqu'une CA recoit une demande de certificat, elle doit verifier les enregistrements CAA :
example.com. 3600 CAA 0 issue "letsencrypt.org"Cela indique aux CA : « Seul Let's Encrypt peut emettre des certificats pour example.com. »
Si aucun enregistrement CAA n'existe, n'importe quelle CA peut emettre des certificats. Des que vous ajoutez des enregistrements CAA, seules les CA autorisees peuvent emettre.
Composants de l'enregistrement
| Composant | Description | Valeurs |
|---|---|---|
| Flag | Indicateur critique | 0 (non critique) ou 128 (critique) |
| Tag | Type de propriete | issue, issuewild, iodef |
| Value | Domaine CA ou contact | "letsencrypt.org" |
Tags expliques
| Tag | Fonction |
|---|---|
issue | Autoriser une CA pour les certificats reguliers |
issuewild | Autoriser une CA pour les certificats wildcard |
iodef | Signaler les violations de politique a cette adresse |
Cas d'utilisation courants
Autoriser une seule CA (Let's Encrypt)
example.com. 3600 CAA 0 issue "letsencrypt.org"Autoriser plusieurs CA
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issue "digicert.com"
example.com. 3600 CAA 0 issue "sectigo.com"Separer l'emission reguliere et wildcard
; Certificats reguliers depuis Let's Encrypt
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Certificats wildcard depuis DigiCert uniquement
example.com. 3600 CAA 0 issuewild "digicert.com"Refuser toute emission de certificat
example.com. 3600 CAA 0 issue ";"Avec signalement de violations
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"Autoriser les wildcard uniquement depuis une CA specifique
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issuewild ";" ; Refuser tous les wildcardsIdentifiants des CA populaires
| CA | Valeur CAA |
|---|---|
| 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 utilise DigiCert) |
| ZeroSSL | sectigo.com |
Format de l'enregistrement
| Champ | Description | Exemple |
|---|---|---|
| Nom | Domaine (generalement apex) | @ ou sous-domaine |
| Type | Type d'enregistrement | CAA |
| Flag | Indicateur critique | 0 ou 128 |
| Tag | Type de propriete | issue, issuewild, iodef |
| Value | Identifiant CA | letsencrypt.org |
| TTL | Duree de vie (secondes) | 3600 |
Ajouter un enregistrement CAA
Via le tableau de bord
- Accedez a votre zone dans le tableau de bord DNScale
- Cliquez sur Add Record
- Configurez l'enregistrement :
- Name : Generalement
@pour le domaine apex - Type : Selectionnez
CAA - Flag : Choisissez
0(Non critique) ou128(Critique) - Tag : Selectionnez
issue,issuewildouiodef - Value : Saisissez le domaine CA ou l'adresse de contact
- TTL : Definissez la duree de mise en cache (par defaut : 3600)
- Name : Generalement
- Cliquez sur Create Record
Via l'API
Autoriser Let's Encrypt a emettre des certificats :
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
}'Ajouter une autorisation wildcard :
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
}'Ajouter le signalement de violations :
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
}'Reponse de l'API :
{
"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
}
}
}Heritage des enregistrements CAA
Les enregistrements CAA sont herites par les sous-domaines sauf s'ils sont remplaces :
; CAA a l'apex - s'applique a example.com et tous les sous-domaines
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Remplacement pour un sous-domaine specifique
shop.example.com. 3600 CAA 0 issue "digicert.com"Dans ce cas :
example.com- Let's Encrypt uniquementwww.example.com- Let's Encrypt uniquement (herite)shop.example.com- DigiCert uniquement (remplace)
Bonnes pratiques
-
Commencez par la surveillance - Ajoutez des enregistrements
iodefpour recevoir des rapports avant de restreindre l'emission -
Incluez votre CA actuelle - Avant d'ajouter des enregistrements restrictifs, verifiez quelle CA vous utilisez
-
Planifiez pour les wildcards - Rappelez-vous que
issuewildest separe deissue -
Utilisez le flag non critique (0) - N'utilisez le flag 128 que si vous voulez une application stricte
-
Mettez a jour avant de changer de CA - Ajoutez la nouvelle autorisation CA avant de changer de fournisseur
-
N'oubliez pas les sous-domaines - Verifiez si les sous-domaines necessitent des politiques differentes
Depannage de l'emission de certificats
Si l'emission de certificats echoue apres l'ajout d'enregistrements CAA :
-
Verifiez que les enregistrements CAA existent :
dig CAA example.com -
Verifiez l'identifiant CA correct :
- Contactez votre CA pour l'identifiant exact
- Certaines CA utilisent les identifiants de la societe mere
-
Verifiez l'autorisation wildcard :
issuewildest requis pour les certificats wildcard- Si seul
issueexiste, les wildcards echoueront
-
Verifiez l'heritage des sous-domaines :
- Les sous-domaines heritent du CAA parent sauf s'il est remplace
Tester les enregistrements CAA
# Interroger les enregistrements CAA
dig CAA example.com
# Verifier avec un serveur de noms specifique
dig CAA example.com @ns1.dnscale.eu
# Utiliser les outils en ligne
# - SSLLabs SSL Test
# - CAA Test (caatest.co.uk)Types d'enregistrements associes
- TXT - Verification de domaine pour les CA
- TLSA - Ancrage de certificat DANE
- A - Adresse du serveur pour la validation
Conclusion
Les enregistrements CAA sont une mesure de securite simple mais efficace pour controler l'emission de certificats SSL/TLS. En specifiant quelles CA peuvent emettre des certificats pour votre domaine, vous reduisez le risque de creation non autorisee de certificats. DNScale facilite la configuration des enregistrements CAA avec une selection intuitive des tags pour les politiques issue, issuewild et iodef.