Module 5 · 5.2
CAA : qui est autorisé à émettre des certificats ?
Module 5: Autres enregistrements · Temps de lecture : 6 minutes
Objectif pédagogique : Après cette leçon, vous saurez lire un enregistrement CAA et vous comprendrez comment un enregistrement CAA peut bloquer la demande d'un certificat SSL.
Notions clés : CAA, issue, issuewild, iodef, autorité de certification (CA), pas d'enregistrement CAA signifie : tout le monde est autorisé
Un cadenas posé par un inconnu
Un certificat SSL (en réalité un certificat TLS) assure l'affichage du cadenas dans le navigateur. Il est délivré par une autorité de certification, en abrégé CA : par exemple Let's Encrypt, Sectigo, DigiCert ou Google Trust Services. Il existe des dizaines de CA de confiance pour les navigateurs, et en principe chacune d'entre elles peut émettre un certificat pour votre domaine, tant que le demandeur prouve qu'il gère ce domaine.
Un enregistrement CAA (Certification Authority Authorization, RFC 8659) permet de limiter cela. Vous indiquez dans le DNS quelles CA sont autorisées à émettre des certificats pour votre domaine. Chaque CA est tenue de vérifier cet enregistrement avant d'émettre un certificat. Si elle n'y figure pas, elle doit refuser.
Cela protège contre l'émission d'un certificat à votre nom par une CA négligente ou trompée. C'est un verrou supplémentaire, pas une obligation.
À quoi ressemble un enregistrement CAA
example.com. 3600 IN CAA 0 issue "letsencrypt.org"
example.com. 3600 IN CAA 0 issue "sectigo.com"
example.com. 3600 IN CAA 0 iodef "mailto:beveiliging@example.com"Un enregistrement CAA comporte trois parties :
| Partie | Exemple | Signification |
|---|---|---|
| Drapeau | 0 | Presque toujours 0. Un 128 signifie : « si vous ne comprenez pas cette règle, n'émettez rien ». |
| Étiquette | issue | Le type de règle (voir ci-dessous). |
| Valeur | "letsencrypt.org" | La CA, désignée par son propre nom de domaine. Entre guillemets. |
Les trois étiquettes que vous rencontrerez :
issue: cette CA est autorisée à émettre des certificats classiques (pourexample.com,www.example.com, etc.).issuewild: cette CA est autorisée à émettre des certificats wildcard (*.example.com). S'il n'y a pas d'issuewild, ce sont les règlesissuequi s'appliquent aux wildcards.iodef: l'adresse à laquelle une CA peut envoyer un signalement si quelqu'un demande un certificat que votre CAA n'autorise pas.
Vous pouvez avoir plusieurs règles issue : chaque CA mentionnée est alors autorisée. Si vous voulez au contraire qu'aucune CA n'émette un certain type de certificat, utilisez une valeur vide : 0 issuewild ";" signifie « personne n'est autorisé à émettre de wildcards ».
Pas d'enregistrement CAA : tout le monde est autorisé
Si votre domaine n'a pas d'enregistrement CAA, n'importe quelle CA peut émettre un certificat. C'est la situation normale pour la plupart des domaines, et ce n'est pas une erreur. CAA est un choix.
Une CA recherche l'enregistrement CAA au nom exact du certificat. Si elle n'y trouve rien, elle remonte d'un niveau, jusqu'au domaine. Un enregistrement CAA sur example.com s'applique donc aussi à shop.example.com, à moins que shop.example.com ait son propre enregistrement CAA.
Comment CAA peut bloquer votre certificat
C'est la raison pour laquelle CAA a sa place dans un cours pour débutants : un enregistrement CAA peut empêcher le renouvellement de votre certificat gratuit, et le message d'erreur n'est pas toujours clair.
Imaginons : votre site fonctionnait depuis des années avec un certificat d'une CA payante. Quelqu'un a alors créé un enregistrement CAA :
example.com. CAA 0 issue "sectigo.com"Vous passez maintenant à un hébergement qui demande automatiquement des certificats Let's Encrypt. Let's Encrypt vérifie le CAA, constate que seule Sectigo est autorisée, et refuse. Votre site n'obtient pas de certificat et les visiteurs voient un avertissement.
La solution : ajoutez la CA que vous utilisez désormais, ou supprimez l'ancien enregistrement CAA si vous n'en avez plus besoin.
example.com. CAA 0 issue "sectigo.com"
example.com. CAA 0 issue "letsencrypt.org"Si vous utilisez un service qui gère lui-même les certificats, comme une plateforme de boutique en ligne ou un CDN, renseignez-vous sur la CA qu'il utilise et ajoutez-la. Sinon, vous bloquez aussi son certificat.
En pratique : à quoi cela ressemble dans un panneau
À titre d'exemple, nous utilisons l'écran DNS de Mon WebOké, qui propose une aide CAA avec les CA les plus connues. Dans DirectAdmin, Cloudflare et la plupart des autres panneaux, vous remplissez les trois mêmes champs : drapeau, étiquette et valeur.
- Cliquez sur Ajouter un Enregistrement et choisissez CAA.
- Laissez le nom sur le domaine lui-même (
@). - Laissez le drapeau à
0. - Choisissez l'étiquette
issue. - Indiquez la CA, par exemple
letsencrypt.org. - Enregistrez et répétez l'opération pour chaque CA autorisée à émettre.
Résumé
- Un enregistrement CAA détermine quelles autorités de certification sont autorisées à émettre des certificats pour votre domaine.
issueconcerne les certificats classiques,issuewildles wildcards,iodefles signalements.- Pas d'enregistrement CAA signifie : toutes les CA sont autorisées. C'est normal.
- Un enregistrement CAA sur le domaine s'applique aussi aux sous-domaines sans CAA propre.
- Un enregistrement CAA oublié peut bloquer un certificat nouveau ou renouvelé. Ajoutez la CA que vous utilisez actuellement.
Quiz
Exercice
Exercice Z5.2 : rechercher un CAA. Recherchez les enregistrements CAA de wikipedia.org. Quelles autorités de certification sont autorisées à émettre des certificats selon les règles issue ? Indiquez-les toutes.
Exercice O5.2 : configurer vous-même dans votre zone d'entraînement. Créez dans votre zone d'entraînement, sur le nom de la zone elle-même (@), deux enregistrements CAA :
0 issue ";"0 iodef "mailto:abuse@dnspractice.eu"
La première règle signifie : personne n'est autorisé à émettre de certificats pour ce nom. Dans la zone d'entraînement, c'est exactement ce qu'il faut : aucun vrai site web n'y fonctionne, aucun certificat ne doit donc y être émis, et ainsi personne ne peut détourner la zone d'entraînement pour obtenir un certificat. Sur votre vrai domaine, ne faites jamais cela si vous utilisez https ; indiquez-y les CA que vous utilisez réellement, comme 0 issue "letsencrypt.org". La règle iodef pointe, dans la zone d'entraînement, vers l'adresse de signalement de l'environnement d'entraînement ; sur votre vrai domaine, indiquez votre propre adresse.
Cliquez ensuite sur Vérifier.
Exercice O5.2
Vous réalisez cet exercice dans votre propre zone d'entraînement : une véritable zone DNS sur les serveurs de noms de WebOké, rien que pour vous. Inscrivez-vous avec votre adresse e-mail. Vous recevrez un lien de connexion par e-mail et reviendrez ensuite sur cette leçon. Nous utilisons votre adresse uniquement pour le cours.
Pour aller plus loin
Ces articles décrivent les étapes dans les panneaux de WebOké ; dans d'autres panneaux, le fonctionnement est comparable.
