Qu'est-ce qu'un enregistrement CNAME ?
Un enregistrement CNAME (Canonical Name) est un enregistrement du système de noms de domaine (DNS) qui permet de faire d'un nom DNS un alias d'un autre nom DNS.
Si vous publiez un enregistrement CNAME sur alias.example.com pointant vers target.example.net, vous indiquez au DNS que, lorsqu'un utilisateur recherche alias.example.com, la réponse est « utilisez plutôt target.example.net ». Le résolveur recherche alors target.example.net pour obtenir les enregistrements dont il a réellement besoin.
Comment utilise-t-on les CNAME ?
Les CNAME concernent principalement la délégation et la gestion du changement.
Au lieu de publier directement l'intégralité des données (qui pourraient évoluer), vous publiez un alias vers un nom géré par un tiers. Ce « tiers » peut être un fournisseur de services SaaS, un fournisseur de messagerie électronique, une plateforme d'authentification ou toute autre entité. S'il doit modifier quelque chose par la suite, qu'il s'agisse de l'infrastructure, du contenu d'un enregistrement TXT ou de la destination d'un site web, il met à jour la partie cible du CNAME ; l'enregistrement DNS dans le DNS de votre domaine peut rester inchangé.
Il est donc courant qu'un prestataire de services vous demande d'ajouter des enregistrements CNAME à votre domaine lorsqu'il doit gérer une configuration dépendant du DNS, sans pour autant vous obliger à modifier fréquemment les paramètres DNS.
Exemples d'enregistrements CNAME
Prenons l'exemple suivant :
Imaginez que vous soyez propriétaire du domaine example.com. Vous faites appel à un hébergeur, service.example.net, qui héberge le contenu de votre site web. Celui-ci vous demande de créer un enregistrement CNAME pour www.example.com avec la valeur service.example.net.
Cela vous permet de conserver votre nom de domaine comme marque pour votre site, tout en confiant la gestion de l'infrastructure technique sous-jacente à service.example.net, qui est contrôlé par le fournisseur de services. Cela lui permet d'apporter des modifications à la technologie DNS nécessaire au bon fonctionnement de votre site sans que vous ayez à intervenir. Ce type de redirection est souvent appelé « délégation par CNAME ».
Comment les enregistrements DMARC et CNAME fonctionnent ensemble
L'authentification des e-mails utilise le DNS pour héberger des enregistrements qui permettent le fonctionnement des protocoles SPF, DKIM et DMARC. Ces enregistrements sont interrogés par les systèmes des destinataires afin de vérifier si l'expéditeur est bien celui qu'il prétend être. Le protocole DMARC exige spécifiquement la conformité pour être validé. La conformité implique que le domaine figurant dans l'en-tête « De : » visible d'un e-mail corresponde au domaine vérifié par l'authentification SPF ou DKIM. Les valeurs des enregistrements SPF et DKIM doivent être publiées sous la forme d'enregistrements de ressources DNS de type TXT.
Un enregistrement CNAME peut également être utilisé pour pointer vers un autre domaine où cet enregistrement est hébergé. Cette méthode est souvent employée par des prestataires de services tiers qui souhaitent gérer ces enregistrements dans leur propre système DNS, tout en respectant les exigences d'alignement de DMARC.
De nombreuses organisations proposent des services de messagerie électronique, qu'il s'agisse de fournisseurs de messagerie professionnelle comme Microsoft 365 ou de prestataires de services marketing tiers comme MailChimp. Il est courant que ces services recourent à une délégation basée sur des enregistrements DNS de type CNAME pour l'authentification des e-mails, ce qui leur permet d'effectuer des modifications directement.
Délégation DKIM
La gestion du protocole DKIM (DomainKeys Identified Mail) est souvent confiée au fournisseur de services chargé de l'envoi de vos e-mails. Lorsqu'on vous demande de publier un enregistrement DKIM, celui-ci se présente comme suit :
selector._domainkey.exemple.com
De nombreux fournisseurs vous demandent de créer un enregistrement CNAME similaire à celui ci-dessus, pointant vers un nom géré par le fournisseur, tel que :
selector._domainkey.service.example.net
Le fournisseur de services publie ensuite l'enregistrement de la clé publique DKIM effective sur son domaine. Cela facilite la rotation des clés, car le fournisseur peut mettre à jour la clé sans que vous ayez à intervenir.
Règles à respecter concernant les enregistrements CNAME
Un enregistrement CNAME doit être le seul enregistrement associé à son nom DNS
Si x.example.com dispose d'un enregistrement CNAME, il ne doit y avoir aucun autre enregistrement de données sur x.example.com, conformément aux normes DNS (RFC 1034). S'il y en a, ils seront ignorés par le système qui interroge ce nom DNS, et celui-ci ne traitera que l'enregistrement CNAME, en suivant la direction qu'il indique.
Les noms CNAME ne sont généralement pas autorisés au niveau du domaine racine (exemple.com)
La racine d'un domaine nécessite des enregistrements tels que NS et SOA. Étant donné qu'un enregistrement CNAME ne peut coexister avec d'autres types d'enregistrements, un enregistrement CNAME standard au niveau de la racine du domaine n'est pas autorisé dans le cadre d'un hébergement DNS classique. Certains fournisseurs DNS proposent une fonctionnalité dite « alias à la racine » (souvent appelée ANAME), mais il s'agit là de solutions différentes qui ne correspondent pas à des enregistrements CNAME standard.
Un enregistrement CNAME ne peut pas pointer vers une adresse IP
La valeur d'un enregistrement CNAME doit toujours être un nom de domaine. Si vous souhaitez pointer directement vers une adresse IP, vous devez utiliser les types d'enregistrements de ressources A (IPv4) ou AAAA (IPv6).
Les chaînes et les boucles CNAME peuvent interrompre les recherches
Un CNAME peut pointer vers un autre CNAME, créant ainsi une chaîne d'alias. Les chaînes trop longues ou les erreurs de configuration, telles que les boucles (par exemple, deux CNAME se renvoyant l'un vers l'autre), peuvent entraîner des échecs de résolution ou des résultats de vérification confus et intermittents.
Problèmes courants liés aux enregistrements CNAME
Le CNAME est publié sous un nom DNS erroné
Tous les fournisseurs n'adoptent pas la même approche lorsqu'il s'agit de demander à leurs clients d'ajouter des enregistrements CNAME à leur domaine. Voici quelques exemples de ce qu'ils peuvent demander :


La conception des consoles des fournisseurs DNS varie également. Certaines peuvent exiger le nom de domaine complet dans le champ « Nom DNS », c'est-à-dire votre domaine et toutes les étiquettes de sous-domaines telles que selector1._domainkey.example.com. D'autres, comme GoDaddy, ne demandent que tout ce qui précède votre nom de domaine racine. Dans l'exemple ci-dessus, cela signifie que la console vous demanderait de saisir selector1._domainkey dans le champ « Nom DNS » uniquement si vous choisissez d'ajouter un enregistrement pour example.com.
Par exemple :
- Votre nom de domaine est example.com.
- Le fournisseur vous demande d'ajouter un enregistrement CNAME sous la forme selector1._domainkey.example.com.
- Vous devez saisir « selector1._domainkey.example.com » dans le champ « Nom DNS » de la console GoDaddy.
- Le résultat serait alors selector1._domainkey.example.com.example.com, ce qui est incorrect.
Laisser des enregistrements CNAME orphelins
Comme un enregistrement CNAME délègue une partie de votre espace de noms à une cible contrôlée par le fournisseur, l'enregistrement continue d'être résolu même après la disparition de cette cible. Si vous cessez d'utiliser un service, par exemple si vous changez de fournisseur d'envoi, mais que vous conservez la délégation SPF (chemin de retour), l'alias continue d'être résolu vers un nom que le fournisseur ne vous a plus attribué. C'est ce qu'on appelle un enregistrement CNAME « orphelin ».
Le risque est que le nom de domaine non réclamé puisse être réenregistré par quelqu'un d'autre. Sur de nombreuses plateformes, un tiers qui configure une ressource sous ce même nom prend alors le contrôle de tout ce que votre sous-domaine lui délègue, et conserve ce contrôle jusqu'à ce que vous supprimiez ou redirigiez l'enregistrement.
Il en résulte une prise de contrôle du sous-domaine. Dans le cadre de l'authentification des e-mails, un pirate qui s'approprie une délégation SPF obsolète via un enregistrement CNAME pourrait publier son propre enregistrement sous l'espace de noms de votre domaine et envoyer des e-mails qui passent le contrôle DMARC en usurpant l'identité de votre domaine.
Comment résoudre le problème des enregistrements CNAME orphelins
La solution consiste à veiller à la bonne gestion des enregistrements tout au long du cycle de vie du service. Supprimez l'enregistrement DNS lorsque vous cessez d'utiliser le service. Considérez le nettoyage des enregistrements CNAME comme une étape obligatoire lors de la résiliation d'un contrat avec un fournisseur, et vérifiez régulièrement les délégations existantes afin de vous assurer que la destination correspond toujours à un service que vous utilisez ou comptez utiliser.
Les enregistrements CNAME constituent un outil DNS puissant et couramment utilisé, tant par les propriétaires de domaines que par les fournisseurs de services, pour centraliser la gestion de nombreux types d'enregistrements, notamment afin de prendre en charge l'alignement SPF et DKIM dans le cadre de la conformité DMARC. Étant donné qu'ils dépassent les limites administratives en déléguant une partie de l'espace de noms de votre domaine à un tiers, ces enregistrements doivent faire l'objet d'un suivi et ne doivent être publiés que lorsque le fournisseur de services en donne l'instruction. Tout enregistrement laissé en place après l'arrêt d'un service devient une délégation orpheline et présente un risque de prise de contrôle du sous-domaine ; les CNAME inutilisés doivent donc être supprimés de votre DNS sans délai.
Vous souhaitez poursuivre la conversation ? Rendez-vous sur le Forum dmarcian.