DNSSEC (Domain Name System Security Extensions) est une extension du protocole DNS qui ajoute de la sécurité au protocole DNS en signant les enregistrements par un système de clef public/privé.
Cette extension permet au client de vérifier que la réponse reçue est valide et qu’elle n’a pas été changé par une attaque du type man-in-the-middle attack.
Cette extension est normée par les RCF suivantes :
Pour illustrer ce tutoriel, nous allons avoir comment signer une zone sur contrôleur de domaine.
Signer une zone avec DNSSEC sur Windows Server
Ouvrir la console Gestionnaire DNS et aller sur le nœud Zones de recherche directes 1. On peut voir que l’état DNSSEC de la zone lab.intra est Non signé 2.
Faire un clic droit sur la zone à signer 1, aller sur DNSSEC 2 puis cliquer sur Signer la zone 3 pour lancer l’assistant.
Au lancement de l’assistant, cliquer sur Suivant 1.
Choisir l’option Personnalisez les paramètres de signature de zone 1 puis cliquer sur Suivant 2.
Choisir le serveur mettre des clés 1 et cliquer sur Suivant 2.
Un résumé sur la clé KSK s’affiche (celle-ci sert à signer une zone), cliquer sur Suivant 1.
Cliquer sur Ajouter 1.
Cliquer sur OK 1 pour valider les paramètres de la clé KSK.
La clé KSK est ajoutée 1 cliquer sur Suivant 2.
Un résumé de la clé ZSK (signature des données/enregistrements) s’affiche, cliquer sur Suivant 1.
Cliquer sur Ajouter 1 pour configurer la clé ZSK.
Cliquer sur OK 1 pour valider les paramètres de la clé ZSK.
La clé ZSK est ajoutée 1, cliquer sur Suivant 2.
Sélectionner le protocole NSEC3 1 puis cliquer sur Suivant 2.
Laisser les options par défaut sur la configuration des ancres d’approbation, cliquer sur Suivant 1.
Laisser par défaut les paramètres de signatures, cliquer sur Suivant 1.
Un résumé de la configuration DNSSEC s’affiche, cliquer sur Suivant 1 pour la valider.
La configuration appliquée à la zone, quitter l’assistant en cliquant sur Fermer 1.
Actualiser la zone dans la console Gestionnaire DNS, on voit qu’un cadenas a été ajouté sur le dossier de la zone pour indiquer que celle-ci est singée avec DNSSEC et plusieurs enregistrements RRSIG, DNSKEY, NSEC3… ont été ajoutés. Chaque enregistrement contient sa signature avec un enregistrement RRSIG du même nom.
Utiliser DNSSEC
Sur un poste client du service DNS, ouvrir une invite de commande PowerShell entrer la commande suivante :
Resolve-DnsName -Server
Le serveur DNS nous a retourné une réponse « normale », sans information de signature.
Pour forcer une interrogation et surtout une réponse sécurisée, il faut ajouter le paramètre -DnssecOK à la commande précédente.
Resolve-DnsName -Server -DnssecOK
On peut voir les paramètres de signature dans la réponse.
Stratégie de groupe pour une résolution DNSSEC
Comme on vient de le voir, pour récupérer un enregistrement sécurisé, il est nécessaire d’informer Windows de le faire. Afin que les postes du domaine utilisent DNSSEC, on va ajouter une stratégie de groupe qui va configurer la table NRPT (stratégie de résolution de nom) des ordinateurs pour les indiquer que le zone est signé.
Sur un contrôleur de domaine, ouvrir la console de Gestion de stratégie de groupe, faire un clic droit sur le domaine 1 puis cliquer sur Créer un objet GPO dans ce domaine et le lier ici 2.
Nommer la GPO 1 puis cliquer sur OK 2.
Faire un clic droit sur la stratégie ajoutée 1 et cliquer sur Modifier 2.
Aller à l’emplacement Configuration ordinateur / Paramètres Windows / Stratégie de résolution de nom 1. Entrer le suffixe DNS de la zone signée 2, vérifier que les cases Activer DNSSEC dans cette règle 3 et Demander aux clients DNS de vérifier les données de nom de d’adresses ont été validés par le serveur DNS 4 soient cochées et cliquer sur Créer 5.
Le domaine a été à la table de stratégie de résolution de nom 1, cliquer sur Appliquer 2.
Résumé de la stratégie :
Sur un poste du domaine où la stratégie est appliquée (gpupdate), ouvrir un invite de commande PowerShell et entrer la commande suivante :
Resolve-DnsName <RecordInZone>
La commande doit retourner l’adresse IP avec les informations signatures.