20170413 - Le CA/B Forum rend le contrôle CAA obligatoire pour les autorités de certification
À partir du 8 septembre 2017, chaque autorité de certification devra contrôler les enregistrements DNS CAA avant toute émission de certificat SSL. Bien qu'existant déjà depuis un moment le contrôle CAA est optionnel, aujourd'hui l'autorité peut choisir d'effectuer ce contrôle ou non.
Attention : Ce contrôle devra alors être effectué pour chacun des SANs devant être sécurisé par le certificat demandé.
Qu'est-ce que le CAA ?
Le CAA (pour Autorisation de l'autorité de certification) est un enregistrement DNS permettant au propriétaire d'un nom de domaine d'autoriser (et donc aussi d'interdire) une ou plusieurs autorités de certification à émettre des certificats pour le domaine concerné.
Comment ça marche ?
La spécification DNS CAA n'est pas obligatoire et si aucun enregistrement n'est défini pour un domaine alors il est admis que l'autorisation est tacitement donnée à toutes les autorités de certification d'émettre pour ce domaine.
En revanche un enregistrement existant mais vide indique une interdiction généralisée.
NOTE : Une fois le certificat émis le contrôle CAA n'est plus utile. Les tierce parties (navigateurs par exemple) ne vérifient pas le DNS CAA lorsqu'un certificat est sollicité. En effet, il se peut que l'enregistrement ai été modifié après une émission, sans invalider un certificat.
Quelle est l'utilité d'un tel contrôle ?
Il vous donne la possibilité d'interdire à des autorité de certification d'émettre des certificats en votre nom. Vous avez alors un meilleur contrôle de vos outils SSL.
Il peut aussi être considéré comme une étape d'audit supplémentaire permettant à l'autorité de réduire les risque d'émission non-souhaitée.
Et concrêtement ?
Le CAA prévoit plusieurs propriétés :
- issue : contient les autorisations/restrictions pour le domaine concerné
Si cette propriété est utilisé seule, elle est valable aussi bien pour le domaine concerné que pour les certificats Wildcard.
Voici un exemple :exemple.fr. CAA 0 issue "sectigo.com"
Autorisation pour l'autorité Sectigo pour le certificat exemple.fr et le certificat Wildcard *.exemple.fr - issuewild : contient les autorisations/restrictions pour le domaine concerné.
Cette propriété est spécifique aux certificats wildcard. Si elle n'existe pas alors
c'est la propriété issue qui sera utilisée pour les certificats wildcard
(l'inverse n'est pas vrai)
Voici un exemple :exemple.fr. CAA 0 issuewild "sectigo.com"
Autorisation pour l'autorité Sectigo uniquement pour le certificat Wildcard *.exemple.fr - issuevmc : contient les autorisations/restrictions pour le domaine concerné.
Cette propriété est spécifique aux certificats VMC. Si elle n'existe pas alors
c'est la propriété issue qui sera utilisée pour les certificats VMC
(l'inverse n'est pas vrai)
Voici un exemple :exemple.fr. CAA 0 issuevmc "digicert.com"
Autorisation pour l'autorité DigiCert uniquement pour le certificat VMC exemple.fr - issuemail : contient les autorisations/restrictions pour le domaine concerné.
Cette propriété est spécifique aux certificats S/MIME. Si elle n'existe pas, alors
il n'existe aucune restriction
Voici un exemple :mail.exemple.fr CAA 0 issuemail "sectigo.com"
Autorisation pour l'autorité Sectigo uniquement pour les certificats S/MIME sur mail.exemple.fr - iodef (Incident Object Description Exchange Format) : indique une URL permettant de rapporter des problémes rencontrés lors de la procédure d'audit. Le format de l'URL indique la méthode qui devra être utilisée (mailto pour un envoi de mail ou http pour l'utilisation d'un webservice).
D'autres valeurs peuvent être ajoutées à l'appréciation du propriétaire du domaine ou à la demande de l'autorité de certification.
Et les sous-domaines ?
Il est possible de créer des DNS CAA spécifique à des sous-domaine plutôt qu'à un domaine en entier. Dans ce cas, l'autorité cherchera d'abord un enregistrement DNS CAA pour le sous-domaine puis, s'il n'en existe pas, pour le domaine racine.
Cas du CAA avec valeur CNAME
Il est possible que dans votre configuration DNS interne, un enregistrement pointe sur un autre domaine pour lequel vous avez demandé un certificat.
Exemple : vous demandez un certificat avec le CN : domaine1.fr. Ce domaine contient un enregistrement CNAME pointant sur domaine2.fr. Dans ce genre de cas, l'autorité suit un procédé spécifique (défini par le CA/B Forum)
- L'autorité se place sur domaine1.fr (CN du certificat).
- Vérification si un enregistrement CAA est présent ou non dans la zone DNS du domaine.
- Si un enregistrement CAA est présent :
- l'enregistrement autorise l'émission du certificat => la génération du certificat peut-être effectuée.
- l'enregistrement ne permet pas l'émission : arrêt de la commande.
- Si un enregistrement CAA n'est pas présent, on passe à l'étape suivante.
- L'autorité vérifie si un enregistrement CNAME concernant domaine1.fr est présent :
- si un CNAME est présent, l'autorité va rechercher si un enregistrement CAA est présent (reprise à partir du point 2)
- s'il n'y a pas de CNAME, l'autorité vérifie le domaine parent (si existant).
Pour résumer, la vérification du CAA se fait sur chaque niveau de domaine et si un CNAME est présent, la vérification se fera également à ce niveau. Dès qu'un enregistrement CAA est détécté, la vérification s'arrête.
Valeurs pour issue et issuewild
Dans le tableau ci-dessous, retrouvez les valeurs* à définir pour issue et issuewild pour chaque autorité de certification :
AUTORITÉ | VALEURS |
Sectigo / TBS X509 / PositiveSSL | sectigo.com usertrust.com trust-provider.com |
GlobalSign | globalsign.com |
Dhimyotis / Certigna | certigna.fr |
DigiCert | Digicert.com Symantec.com geotrust.com rapidssl.com thawte.com digitalcertvalidation.com |
Harica | harica.gr |
* Valeurs mises à jour le 29/12/2021
Comment définir plusieurs autorisations ?
Si vous souhaitez autoriser plusieurs autorités de certification alors il faut multiplier les enregistrements CAA.
Exemple :
exemple.com. CAA 0 issue "sectigo.com" exemple.com. CAA 0 issue "globalsign.com"
Contrôle CAA sur les certificats S/MIME
Depuis le 15 septembre 2024, Sectigo vérifie les enregistrements CAA avant d'émettre ses certificats S/MIME.