DNSSEC : Solution DNS avancée

DNSSEC : Domain Name System Security Extensions – Extensions de Sécurité du Système de Nom de Domaine

dnssec_logo.webp

DNSSEC est un protocole standardisé par l'IETF permettant de résoudre certains problèmes de sécurité liés au protocole DNS. Les spécifications sont publiées dans la RFC 4033 et les suivantes.

 

Pourquoi DNSSEC ?

Le système de noms de domaine (DNS, Domain Name System) est un service permettant d’établir une correspondance entre une adresse IP et un nom de domaine pour échanger des données et récupérer des informations. Il correspond en cela à un annuaire du Web : il indique aux ordinateurs où trouver les informations correspondant à un site web et à un nom de domaine.

Malheureusement, il accepte toutes les informations associées à un nom de domaine, sans aucune vérification, et donc toute adresse internet ou IP qui lui est donnée, sans poser de questions. Cela constitue une des principales vulnérabilités du système de noms de domaine (DNS) car il ne vérifie pas les informations d’identification avant d’accepter une réponse. Les informations qu'il reçoit peuvent donc venir de n'importe quel serveur, le système DNS ne pourra pas les vérifier, et acceptera ainsi toutes les réponses. C'est notamment cette faille qu'exploitent les attaques DNS de type "man in the middle" (homme du milieu).

C'est là qu'intervient le protocole DNSSEC : il ajoute une couche de confiance au système DNS qu'il protège en validant son authenticité et son intégrité. DNSSEC s’assure que les résolveurs ont bien récupéré les données d’un serveur autoritaire de confiance qui a été authentifié, et que les données sont intègres (non modifiées) depuis la source, en vérifiant les enregistrements DNS.

 

Comment fonctionne DNSSEC ?

DNSSEC assure un système DNS sécurisé en ajoutant des signatures chiffrées aux enregistrements DNS existants sur une zone. Ces signatures numériques sont stockées sur des serveurs de noms (NS) et associées aux enregistrement DNS courants comme A, AAAA, MX, CNAME, TXT, etc. En vérifiant la signature associée à un enregistrement, vous pouvez ainsi vérifier qu'un enregistrement DNS demandé provient bien de son serveur de noms (NS) faisant autorité et qu'il n'a pas été modifié en chemin, contrairement à un faux enregistrement injecté dans une attaque dite de l'homme du milieu.

Le DNSSEC vérifie de bout en bout que les signatures d’authentification sont bien valides et qu’elles ont été générées avec les clés des serveurs légitimes (clés elles-mêmes signées et authentifiées). Ce système crée ainsi une chaîne de confiance à toutes les étapes de la résolution des noms de domaine. Si les signatures ne correspondent pas, DNSSEC sera en mesure de notifier de l’inadéquation et d’empêcher la résolution de se faire, évitant ainsi que l’aiguillage du nom de domaine se fasse sur des mauvais serveurs, et assurant ainsi que l’information renvoyée est authentique.

Cette vérification se fait en deux étapes :

1/ Est-ce que l’information a été récupérée au bon endroit et sur le bon serveur ?

2/ Est-ce que l’information est intègre et n’a pas été modifiée en cours de route ?

 

Pour faciliter la validation des signatures, DNSSEC ajoute quelques nouveaux types d'enregistrements DNS :

  • RRSIG : contient une signature chiffrée (RRset Signature), valable pour un ensemble d’enregistrements DNS avec le même nom et le même type
  • DNSKEY (DNSSEC public key / clé publique DNSSEC) : contient une clé de signature publique que les résolveurs peuvent utiliser pour vérifier les signatures DNSSEC dans les enregistrements RRSIG
  • DS (Delegation Signer / Signataire de la délégation): contient le hachage d'un enregistrement DNSKEY, utilisé par DNSSEC pour permettre le transfert de confiance d’une zone parent à une zone enfant
  • NSEC et NSEC3 : permettent d’apporter une preuve de non-existence d'un enregistrement DNS
  • CDNSKEY et CDS : utilisés pour une zone enfant demandant des mises à jour d'un ou plusieurs enregistrements de type DS dans la zone parent


RRset

La première étape pour sécuriser une zone avec DNSSEC consiste à regrouper tous les enregistrements de même type dans un ensemble d'enregistrements de ressources (RRset). Par exemple, si trois enregistrements A dans votre zone ont le même label (c'est-à-dire label.exemple.com), ils seront tous regroupés en un seul RRset A. C'est ce RRset complet qui est signé numériquement, et non les enregistrements individuels.

Vous aurez ainsi un RRset regroupant chaque type d'enregistrement présent dans votre zone pour un label donné. Cela implique que tous les enregistrements de même type présent sur une zone et portant le même label doivent être demandés et validés.

 

Synthèse

En résumé, DNSSEC ajoute une couche de sécurité supplémentaire en permettant des réponses DNS authentifiées. Pour cela, le protocole DNSSEC signe les réponses DNS afin que les altérations / contrefaçons puissent être détectées et stoppées.

 

NB : DNSSEC n'est pas supporté et activable sur l'ensemble des extensions / TLD, certains registres / TLD ne sont pas compatibles. ICANN - List of TLDs supporting DNSSEC

 

 

Pour en savoir plus et demander l'activation de DNSSEC

Demandez l'activation de DNSSEC pour votre nom de domaine enregistré auprès de nos services :

  • Comment activer/désactiver DNSSEC

  • Ou contactez notre Service Commercial Noms de domaines à sales@safebrands.com ou bien directement votre chargé de clientèle si vous en avez un.

 

Activer DNSSEC
Connectez-vous à votre compte, accédez à votre portefeuille de domaines et sélectionnez le(s) domaine(s) pour le(s)quel(s) vous souhaitez activer le DNSSEC puis cliquez sur DNSSEC > "⊕ Activer DNSSEC". C'est terminé ! DNSSEC est installé sur la zone du domaine concerné et un enregistrement DS est mis en place auprès du registre.

Qu'est-ce qu'un enregistrement DS ?
Un enregistrement de délégation de signature (DS) fournit des informations sur un fichier de zone signé. L'activation de DNSSEC pour votre nom de domaine nécessite ces informations pour terminer la configuration de votre nom de domaine signé.

Les informations incluses dans un enregistrement DS varient en fonction de l'extension du nom de domaine.

 

 

Aide & Déploiement

Plus d’infos sur DNSSEC : www.dnssec.net

• ICANN - List of TLDs supporting DNSSEC

• DNSSEC signature expirations (RRSIG Validity)

AFNIC - Déployer DNSSEC comment, quoi, où ?

ICANN - DNSSEC - What Is It and Why Is It Important? (Qu’est-ce que c’est et pourquoi est-ce important ?) (version anglaise): https://www.icann.org/resources/pages/dnssec-qaa-2014-01-29-en

ICANN - DNSSEC Deployment : https://dnssec-deployment.icann.org/en/dnssec/

Internet Society - DNSSEC Basics, Introduction and Deployment (with animation)

Internet Society - How To Secure And Sign Your Domain With DNSSEC Using Domain Registrars

Internet Society - Step-By-Step: How To Use a DNSSEC DS Record to Link a Registar To A DNS Hosting Provider

Verisign DNSSEC Resource Center - verisign.com/dnssec

 

Outils & Tests

Testez si vous êtes protégé par la validation de signature DNSSEC. Une initiative de la communauté Internet et du gouvernement néerlandais : https://en.conn.internet.nl/connection/

DNSSEC Analyzer & Debugger - Verisign Labs : https://dnssec-analyzer.verisignlabs.com/https://dnssec-debugger.verisignlabs.com/

Internet Society - Testing: DNSSEC Analyzer : Aide à l'utilisation de l'outil de Verisign Labs

DNSViz - DNSViz est un outil permettant de visualiser l’état d’une zone DNS. Il a été conçu comme une ressource pour comprendre et dépanner le déploiement de DNSSEC. Il fournit une analyse visuelle de la chaîne d’authentification DNSSEC d’un nom de domaine et de son chemin de résolution dans l’espace de noms DNS, et répertorie les erreurs de configuration détectées par l’outil. Regardez ce webinar pour en savoir plus sur DNSViz et son utilisation.