Qu'est-ce que le DNSSEC et comment fonctionne-t-il ?
Le DNSSEC (Domain Name System Security Extensions, extensions de sécurité du système de noms de domaine) est une signature cryptographique qui est ajoutée aux enregistrements DNS afin de sécuriser les données transmises sur les réseaux IP (protocole Internet). Le DNSSEC a été élaboré parce que les architectes pionniers du DNS n'ont pas inclus de mesures de sécurité dans le protocole. Ainsi, les pirates ont pu découvrir des opportunités pour falsifier des enregistrements et diriger les utilisateurs vers des sites Web frauduleux. Par conséquent, le protocole DNSSEC a été introduit pour ajouter une couche d'authenticité et d'intégrité aux réponses DNS.
Le protocole DNSSEC opère par l'ajout de signatures cryptographiques aux enregistrements DNS existants afin d'établir un DNS sécurisé. Les signatures sont stockées dans les serveurs de noms DNS à côté des types d'enregistrements courants, tels que AAAA et MX. Ensuite, le contrôle de la signature qui correspond à un enregistrement DNS demandé permet de vérifier que l'enregistrement provient directement de son serveur de noms de référence. Autrement dit, l'enregistrement n'a jamais été contaminé ou falsifié d'une autre manière pendant son transit digital. Il est ainsi possible d'éviter l'introduction de faux enregistrements.
Faciliter la validation des signatures
En fonction de la situation, le DNSSEC peut ajouter l'un des types d'enregistrements DNS suivants pour faciliter la validation de la signature :
RSSIG (Signature d'enregistrement de ressource) : contient une signature DNSSEC cryptographique pour un ensemble d'enregistrements
DNSKEY : contient une clé de signature publique
DS : contient le hachage d'un enregistrement DNSKEY
NSEC et NSEC3 : propose un lien vers le nom d'enregistrement suivant dans la zone et énumère également les types d'enregistrements disponibles pour le nom de l'enregistrement
CDNSKEY et CDS : transmet l'état DS sollicité depuis la zone enfant vers la zone parente et demande des mises à jour du ou des enregistrements DS dans la zone parente
Dois-je activer le DNSSEC sur mon domaine ?
Le DNSSEC contribue à la protection de votre domaine contre l'empoisonnement du cache et la falsification des réponses. C'est un élément crucial pour votre domaine, car le climat digital actuel exige que l'architecture d'un propriétaire de site Web soit protégée de bout en bout. De plus, une attaque DNS réussie peut fortement endommager la réputation d'une marque. La résolution DNS intervient avant qu'un utilisateur n'interagisse avec l'application d'un site Web. Si le DNS est intercepté par un pirate, un utilisateur cherchant à visiter un site Web peut interagir avec un faux site (destiné à tromper l'utilisateur) au lieu du site prévu. L'architecture de mise en cache agressive du protocole rend la rectification rapide des enregistrements contaminés difficile.
Ainsi, même si un site Web est fortifié par des pare-feu puissants, les données et la technologie d'un utilisateur final seront en danger si l'architecture DNS d'un site n'est pas suffisamment protégée par l'utilisation de DNSSEC.
Regroupement des enregistrements DNS en RRSets
L'intégration de DNSSEC à votre domaine commence par le regroupement des enregistrements DNS par nom et type d'enregistrement dans des RRSets (ensembles d'enregistrements de ressources). Le DNS lui-même est divisé en zones DNS. Une zone est une portion de l'espace de noms DNS global qui est supervisée par l'entreprise globale du propriétaire du DNS ou par un administrateur réseau. Cette zone permet une maintenance approfondie des composants du DNS, tels que les serveurs de noms de référence.
Chaque zone est signée par une paire de clés publique et privée connue sous le nom de clé de signature de zone (ZSK). La signature qui en résulte est publiée sous la forme d'un enregistrement RRSIG dans le fichier de zone. Par exemple, si le nom d'hôte « www.dsnsecexample.com » comprend à la fois un enregistrement A et AAAA, le fichier de zone publiera un enregistrement RRSIG approprié pour chaque version IP.
Grâce à l'isolation des zones DNS les unes des autres, les zones adjacentes sont protégées dans le cas où une zone serait infectée par un pirate.
Signatures d'enregistrement de ressource
Un enregistrement RRSIG contient une signature digitale DNSSEC d'un RRSet. Ces signatures digitales sont utilisées pour authentifier toutes les données situées dans les RRSets signés. Les résolveurs peuvent vérifier la signature avec une clé publique stockée dans un enregistrement DNSKEY.
Ces RRSets relatifs aux types d'enregistrements et aux noms de domaine possédés sont stockés dans une zone DNS signée. Lorsqu'un serveur de noms de domaine utilise la clé privée d'une paire ZSK pour signer des RRSets dans une zone donnée, un enregistrement RRSIG est utilisé pour stocker les signatures digitales de chaque RRSet. Ainsi, une zone signée contient un enregistrement RRSIG pour chaque RRSet.
Un enregistrement RRSIG se compose des éléments suivants :
Type couvert : type d'enregistrement DNS couvert par le RSSIG
Algorithme : algorithme cryptographique qui génère la signature finale
Nombre d'étiquettes : nombre d'étiquettes dans le nom d'enregistrement RSSIG d'origine (utilisé pour valider les caractères génériques)
Durée de vie d'origine : valeur de la durée de vie de l'ensemble d'enregistrements couverts
Expiration de la signature : heure à laquelle la signature expire
Création de la signature : heure à laquelle la signature a été créée initialement
Étiquette de la clé : valeur numérique permettant d'identifier l'enregistrement DNSKEY utilisé pour valider cette signature RRSIG
Nom du signataire : nom de l'enregistrement DNSKEY utilisé pour valider cette signature
Signature : signature cryptographique utilisée pour vérifier la transmission
Clés de signature de zone
Une ZSK est une clé permettant d'authentifier les données transmises. La ZSK est un élément du même RRSet que la clé de signature de clé (KSK), qui dispose d'une clé privée correspondante pour signer ce RRSet DNSKEY. Chaque zone possède une paire de ZSK. Pour que les résolveurs authentifient les valeurs RRSIG, une zone validée par DNSSEC signalera la ZSK publique comme un enregistrement DNSKEY.
La validation DNSSEC ne fait pas de distinction entre les ZSK et les autres clés d'authentification DNSSEC, ce qui permet d'utiliser une clé à la fois comme clé de signature et ZSK. Une vérification réussie indique que les enregistrements DNS n'ont été ni falsifiés ni manipulés en transit, puisque seul l'administrateur de zone aura accès à la ZSK privée.
La ZSK correspond à la clé privée utilisée pour signer une zone. Elle fait généralement partie du même RRSet que la clé publique de signature qui correspond à la clé privée qui signe ce RRSet.
Clés de signature de clés
La KSK est une paire de clés qui demande plus de traitement informatique et qui a été mise en place pour améliorer davantage la sécurité des enregistrements DNSKEY. Elle a été introduite pour alléger la charge de gestion de l'administrateur de zone. La KSK correspond à une clé privée. Elle est utilisée pour signer d'autres clés d'authentification pour une zone donnée. Généralement, la clé privée correspondant à une KSK signe une ZSK, laquelle possède elle-même une clé privée correspondante pour signer d'autres données se trouvant dans la zone DNS. Les résolveurs authentifient cette signature digitale avec l'enregistrement DNSKEY pertinent en texte clair qui annonce la KSK publique.
Les KSK et leurs enregistrements de signature de délégation correspondants ne sont mis à jour que périodiquement, contrairement aux ZSK, qui sont mises à jour plus fréquemment. Ainsi, l'architecture idéale d'un point de vue sécuritaire et opérationnel consiste à autosigner une ZSK fréquemment mise à jour avec une KSK distincte et plus durable. Cette mise en œuvre contribuerait à une meilleure protection de la zone DNS contre les menaces potentielles, tout en minimisant la quantité de maintenance DNSSEC permanente.
Enregistrements de signataires de délégation
Le DNSSEC a établi l'enregistrement du signataire de délégation (DS) pour créer un modèle de « chaîne de confiance » avec les résolveurs DNS publics. Dans ces scénarios, les acteurs malveillants pourraient théoriquement usurper les réponses DNS et renvoyer un enregistrement DNSKEY falsifié compromettant ainsi l'intégrité de la zone. Les enregistrements DS publient une empreinte digitale de la KSK publique dans la zone parente.
Lors de la validation, le résolveur vérifie que l'enregistrement DS de la zone parente correspond à l'enregistrement DNSKEY correspondant de la zone enfant pour authentifier la légitimité de la paire de clés de l'enfant. Cette chaîne de confiance est maintenue jusqu'à la zone racine, qui comprend des ancres de confiance intégrées dans la plupart des résolveurs récursifs.
NSEC et NSEC3
L'enregistrement Next Secure (NSEC) peut être utilisé pour déterminer si un nom existe dans une zone donnée. Ce protocole a été mis en place pour résoudre le problème des enregistrements inexistants dans une zone (souvent connu sous le nom de problème d'authentification « Déni d'existence »). Les pirates pourraient exploiter cette vulnérabilité et rendre un site inutilisable en falsifiant une réponse NXDOMAIN pour le nom d'hôte du site Web.
Le NXDOMAIN remédie à cette faille en incluant un enregistrement NSEC qui indique le prochain enregistrement canonique de la zone qui apparaît lorsqu'une requête est reçue pour un nom inexistant, ainsi que le type d'enregistrement apparaissant sous ce nom.
Par exemple, si la zone « exemple.com » était classée et que « beta.exemple.com » était le premier enregistrement, une requête pour « alpha.exemple.com » entraînerait un NXDOMAIN et un enregistrement NSEC pointant vers « beta.exemple.com ». Les enregistrements NSEC, comme tous les autres enregistrements, sont signés par la ZSK et disposent d'un RRSIG correspondant. Par conséquent, une réponse NXDOMAIN nécessite un enregistrement NSEC RRSIG authentifié pour être valide.
Le NSEC3 a été développé afin de résoudre le problème de l'utilisation des enregistrements NSEC pour répertorier tous les enregistrements valides d'une zone. Le NSEC3 se comporte de manière identique au NSEC, sauf que le prochain nom sécurisé de la zone est haché, au lieu d'être affiché en clair. Ce procédé permet de sécuriser les informations et d'empêcher la circulation des zones.
Modes de fonctionnement du DNSSEC
Signature hors ligne des zones statiques
Il existe de nombreux modes de fonctionnement DNSSEC, avec chacun une approche unique quant à la manière dont les données de la zone DNS sont signées. Parmi ces modes, l'un des plus courants est la signature hors ligne des zones statiques, qui permet de protéger solidement le système de signature contre les menaces externes. Ce modèle d'exploitation, qui conserve toutes les clés privées trouvées sur une machine n'étant pas actuellement connectée au réseau, est performant dans les cas où les informations trouvées dans la zone DNS ne sont pas fréquemment modifiées.
Signature en ligne centralisée
La signature en ligne centralisée est un autre mode récurrent de fonctionnement du DNSSEC. Si les administrateurs signent des données dans un DNS dédié à accès restreint, la signature centralisée en ligne permet de modifier rapidement les données du DNS et de les publier dans la zone. Comme pour la signature hors ligne des zones statiques, dans le cas de la signature en ligne centralisée, un signataire central unique ou répliqué effectue la signature de toutes les données. Ensuite, les données nouvellement signées circulent vers les serveurs DNS de référence.
Signature à la volée
La signature des données à la volée est un mode de fonctionnement du DNSSEC qui permet aux serveurs DNS de référence de signer les données selon les besoins. Le problème de cette approche est qu'elle peut créer une situation dans laquelle la clé existe sur une variété de machines différentes, chacune ayant un accès direct à Internet. Ce procédé offre donc davantage de possibilités d'accès extérieur à l'espace de noms par des pirates. Par ailleurs, lorsque l'expéditeur choisit une valeur de clé secrète et l'envoie en toute sécurité au destinataire, la distribution des clés est également rendue plus complexe par la signature à la volée et peut augmenter inutilement les exigences informatiques de chaque nœud.
Risques liés à l'intégration du DNSSEC
Bien que le DNSSEC soit un moyen précieux d'accroître la sécurité des réseaux, il peut involontairement introduire des vulnérabilités critiques. Le DNSSEC est susceptible d'augmenter le risque et d'amplifier les effets des attaques par déni de service distribué (DDoS), où un serveur, un service ou un réseau est perturbé par le trafic provenant de plusieurs terminaux à la fois. Le DNSSEC augmente le nombre de réponses aux requêtes DNS, car la technologie exige des champs supplémentaires et des informations cryptographiques pour vérifier correctement les enregistrements. Cela signifie qu'un volume élevé de réponses peut permettre aux acteurs malveillants d'attaquer une zone de manière beaucoup plus importante que si le DNSSEC n'était pas en place.
Nécessité d'une poignée de main en trois temps
Le protocole de contrôle de transmission (TCP) étant un protocole orienté connexion, il est lent et nécessite poignée de main en trois temps. En tant que tel, le DNS (et, par conséquent, le DNSSEC) s'appuie sur l'UDP (User Datagram Protocol), qui est un protocole plus rapide, mais plus risqué, qui n'a pas d'exigences pour l'ouverture, le maintien ou la fin d'une connexion, et qui ne peut pas garantir la livraison de données signées à leur destination. L'UDP ne prévoit que la fonctionnalité de contrôle d'erreurs la plus élémentaire sous la forme de sommes de contrôle, et comme il ne nécessite pas de poignée de main, les données transmises peuvent être facilement interceptées par les pirates.
L'usurpation d'identité UDP se produit lorsque des pirates fabriquent un paquet de demandes UDP valide qui indique l'adresse IP de leur cible comme adresse IP source UDP. Le pirate peut ensuite envoyer l'IP source usurpée à un serveur intermédiaire, qui enverra tous ses paquets de réponses UDP, générant ainsi une réponse bien plus importante que le paquet de demandes. Cette réponse est suffisante pour élever le niveau du trafic d'attaque envoyé à l'adresse IP de la cible.
Ces circonstances augmentent également la longueur des requêtes DNS, ce qui amplifie la gravité des attaques. La mesure dans laquelle ces attaques sont amplifiées peut être exprimée comme un rapport entre la taille de la réponse et la taille de la demande. Par exemple, si un pirate envoie une demande de 64 octets à un serveur DNS, il peut générer plus de 3 400 octets de trafic malveillant qui seront dirigés vers une victime choisie.
Comprendre la cérémonie de signature de racine
Une cérémonie de signature de racine DNS est une procédure rigoureuse effectuée pour signer les informations de clé publique de la zone DNS racine pour les prochains mois. Ce processus fait en sorte que la probabilité qu'un groupe de comploteurs puisse compromettre la clé de signature de la racine soit inférieure à une sur un million. Ce processus se déroule sur l'un des deux sites qui sauvegardent la KSK racine. La clé de signature privée utilisée dans ce processus est une clé pour déverrouiller l'Internet sécurisé par le DNSSEC.
Résoudre les problèmes de zone DNS racine sans parent
Ce processus permet de résoudre le problème des zones DNS racine sans parent, c'est-à-dire une zone dont l'intégrité ne peut être surveillée par une zone parente. Elle nécessite une poignée de participants, dont un administrateur de cérémonie, un témoin interne, un contrôleur du coffre-fort pour les informations d'identification, un contrôleur du coffre-fort matériel et trois agents de crypto. Chaque membre est un employé de l'ICANN (Internet Corporation for Assigned Names and Numbers), à l'exception des agents de crypto qui sont des bénévoles de la communauté Internet.
Accès au coffre-fort des informations d'identification
Il y a deux coffres-forts : le coffre-fort des informations d'identification et le coffre-fort matériel. Pour accéder à la clé racine, il faut accéder aux deux. Le contrôleur du coffre-fort des informations d'identification ouvre le coffre-fort des informations d'identification, lequel contient des compartiments de sécurité, qui nécessitent chacun deux clés détenues par l'administrateur de cérémonie et un agent de crypto. Ces compartiments contiennent une carte d'opérateur et une carte d'autorisation de sécurité qui sont nécessaires pour ouvrir le module de sécurité du matériel situé dans le coffre-fort matériel. Les cartes sont stockées dans des étuis en plastique enveloppés dans des sacs d'inviolabilité, qui restent dans le coffre-fort matériel.
Ouverture du coffre-fort matériel
Le contrôleur du coffre-fort matériel entre ensuite dans la salle des coffres et ouvre le coffre-fort matériel contenant le module de sécurité matérielle. Le coffre-fort matériel contient également un ordinateur portable qui n'a ni batterie ni disque dur et qui est destiné à envoyer des commandes au module de sécurité. Il sera utilisé pour signer les clés DNS racine lors de la cérémonie, qui est soigneusement enregistrée et diffusée en direct sur l'Internet pour la postérité.
Engager les agents de crypto
Une fois la cérémonie commencée, les agents de crypto doivent remettre leur carte d'opérateur à l'administrateur de la cérémonie, qui démarre l'ordinateur portable à partir d'un DVD et initialise la clé USB permettant d'enregistrer les journaux de la cérémonie. Cet administrateur utilise ensuite les trois cartes d'opérateur pour activer le module de sécurité, qui est alors connecté à l'ordinateur portable par un câble Ethernet. La demande de signature de clé est chargée dans l'ordinateur portable, puis un hachage PGP de la demande de signature de clé est calculé, lequel est ensuite vérifié pour s'assurer qu'il est identique au hachage fourni. À ce stade, l'administrateur de la cérémonie signe la demande de signature de clé avec la KSK privée, ce qui crée une compilation de signatures digitales : l'enregistrement RRSIG.
Mise en œuvre du DNSSEC dès aujourd'hui pour renforcer la sécurité des domaines
Une seule attaque DNS réussie sur votre domaine peut avoir un impact permanent sur l'intégrité de votre écosystème digital et sur la réputation de votre marque dans son ensemble. Les signatures cryptographiques DNSSEC renforcent le processus de résolution DNS pour protéger votre domaine contre les cybermenaces telles que l'empoisonnement du cache et la falsification des réponses. Au final, cette solution permet de sécuriser de bout en bout les données et la technologie de votre entreprise et de vos utilisateurs finaux.
Découvrez les diverses solutions DNS d'Akamai
Akamai continue d'étendre sa plateforme afin de proposer une gamme de services DNS supérieurs aux propriétaires de domaines :
Assurez la stabilité et la résilience de vos domaines avec le service Edge DNS
Équilibrez la charge de vos centres de données, de vos déploiements en nuage et de vos CDN grâce à Global Traffic Management
Faites évoluer massivement votre application avec le Cloudlet Application Load Balancer (ALB)
Veillez à ce que chaque terminal de votre réseau vérifie un outil de sécurité DNS et transformez votre résolveur DNS en outil de sécurité avec Secure Internet Access Enterprise
Accédez à un éventail de ressources DNS en rejoignant la communauté Akamai
Vous faites partie des professionnels du DevOps ? Découvrez notre communauté de développeurs
Vous avez besoin d'aide supplémentaire ? Contactez-nous dès aujourd'hui.
Publié initialement le 19 mars 2021 ; mis à jour en juin 2022.