DNS sécurisé : DNSSEC et DNS sur HTTPS (DoH)
Découvrez comment DNSSEC empêche l’empoisonnement du cache DNS et comment le DNS sur HTTPS et le DNS sur TLS protègent la confidentialité des requêtes contre les observateurs présents sur le chemin.
DNS sécurisé : DNSSEC et DNS sur HTTPS (DoH) est une leçon Cloud & IT Cert Prep gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cloud & IT Cert Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.
Défis de sécurité du DNS
Le système de noms de domaine (DNS) traduit les noms de domaine lisibles par l'être humain en adresses IP. Conçu dans les années 1980, le DNS a été créé sans mécanismes de sécurité : les requêtes et les réponses circulent en clair sur les ports UDP/TCP 53, sans authentification. Cela crée deux vulnérabilités majeures : l'empoisonnement du cache DNS (injection de réponses DNS falsifiées pour rediriger les utilisateurs vers des serveurs malveillants) et l'écoute du DNS (observer les domaines qu'un utilisateur interroge révèle son activité de navigation). Deux normes répondent à ces problèmes : DNSSEC empêche la falsification et le DNS sur HTTPS (DoH) empêche l'écoute.
Empoisonnement du cache DNS
L'empoisonnement du cache DNS (attaque de Kaminsky) exploite l'absence d'authentification du protocole DNS. Un résolveur envoie une requête à un serveur DNS faisant autorité et met la réponse en cache pendant la durée du TTL. Un attaquant capable de deviner l'identifiant de transaction (16 bits, prévisible) et le port source (utilisé comme entropie supplémentaire depuis la RFC 5452) peut envoyer des réponses falsifiées que le résolveur met en cache, redirigeant ainsi vers le serveur de l'attaquant tous les utilisateurs qui interrogent ce résolveur. Une fois le cache empoisonné, les utilisateurs sont dirigés vers de faux serveurs même s'ils ont saisi le domaine correct. DNSSEC empêche cela en signant numériquement les réponses DNS.
# DNS cache poisoning simulation
# Attacker floods resolver with forged responses
# for the query 'A example.com?'
# Each response guesses a different transaction ID:
# ID=1234: example.com -> 198.51.100.1 (attacker IP)
# ID=1235: example.com -> 198.51.100.1
# ...
# ID=XXXX: example.com -> 198.51.100.1 (correct guess!)
# Resolver caches poisoned answer (TTL = 3600s)
# All users querying this resolver get attacker IP
# Users are redirected to phishing/malware serverDNSSEC : extensions de sécurité du DNS
DNSSEC ajoute des signatures cryptographiques aux enregistrements DNS, ce qui permet aux résolveurs de vérifier que les réponses proviennent bien de l'autorité légitime de la zone et qu'elles n'ont pas été altérées. DNSSEC introduit de nouveaux types d'enregistrements : RRSIG (signature d'enregistrement de ressource, c'est-à-dire la signature réelle d'un ensemble d'enregistrements), DNSKEY (clé publique utilisée pour vérifier les signatures), DS (signataire de délégation, qui relie les clés des zones parente et enfant) et NSEC/NSEC3 (déni authentifié d'existence : prouve qu'un nom n'existe pas). DNSSEC crée une chaîne de confiance depuis la zone racine (signée par ICANN) jusqu'aux zones de TLD et aux zones faisant autorité.
# Verify DNSSEC signature on a domain
dig +dnssec example.com A
# Look for 'ad' (authenticated data) flag in response
# and the RRSIG record alongside the A record
# Query for DNSKEY record
dig DNSKEY example.com
# Query for DS record at parent zone
dig DS example.com @a.iana-servers.net
# Full DNSSEC chain validation check
dig +sigchase +trusted-key=/.../root.key example.com ATypes de clés DNSSEC : KSK et ZSK
DNSSEC utilise deux types de clés de signature. La clé de signature de zone (ZSK) signe les ensembles d'enregistrements DNS individuels (RRSIG) et est renouvelée fréquemment (chaque mois ou chaque trimestre) pour faciliter l'exploitation. La clé de signature de clé (KSK) signe l'ensemble d'enregistrements DNSKEY et fournit l'ancre de confiance de la zone. La KSK est renouvelée moins fréquemment (une fois par an), car la zone parente doit être mise à jour avec le nouvel enregistrement DS chaque fois que la KSK change, ce qui nécessite une coordination. La KSK vérifie la ZSK ; la ZSK signe les données. Cette structure à deux niveaux équilibre la sécurité (renouvellement fréquent de la ZSK) et la charge opérationnelle (renouvellement peu fréquent de la KSK).
Limites de DNSSEC
DNSSEC présente des limites importantes. Il ne chiffre pas les requêtes DNS : il signe uniquement les réponses pour en garantir l'intégrité. Un espion peut toujours voir toutes les requêtes DNS, mais ne peut pas falsifier les réponses. Énumération de zone : les enregistrements NSEC (qui prouvent la non-existence) permettent aux attaquants de parcourir la zone et d'énumérer tous les noms de domaine qu'elle contient ; NSEC3 atténue ce problème grâce aux noms hachés, mais n'est pas parfait. Complexité opérationnelle : la gestion des clés, l'expiration des signatures et la coordination avec la zone parente créent une charge opérationnelle importante. L'adoption de DNSSEC reste incomplète : de nombreux TLD et bureaux d'enregistrement la prennent en charge, mais beaucoup d'organisations ne l'ont pas déployée.
DNS sur HTTPS (DoH)
DNS sur HTTPS (DoH) chiffre les requêtes DNS à l’intérieur de HTTPS (RFC 8484), masquant leur contenu aux observateurs du réseau. Les requêtes sont envoyées à un résolveur compatible avec DoH via une URL HTTPS standard, ce qui rend le trafic DNS indiscernable des autres trafics HTTPS. Cela empêche les fournisseurs d’accès à Internet, les employeurs et les attaquants capables d’intercepter le trafic de voir quels domaines un utilisateur interroge — comblant ainsi la faille de confidentialité laissée par DNSSEC. Toutefois, DoH transfère la relation de confiance du résolveur DNS du réseau vers le fournisseur DoH (généralement Google 8.8.8.8, Cloudflare 1.1.1.1 ou le propre résolveur DoH de l’organisation). DoH est désormais pris en charge nativement par la plupart des navigateurs majeurs.
# DoH query using curl
curl -H 'accept: application/dns-json' \
'https://cloudflare-dns.com/dns-query?name=example.com&type=A'
# DoH query via RFC 8484 (binary format)
curl -s -H 'Content-Type: application/dns-message' \
-H 'Accept: application/dns-message' \
--data-binary @query.bin \
https://dns.google/dns-query
# Configure Firefox to use DoH
# about:config -> network.trr.uri
# Set to: https://mozilla.cloudflare-dns.com/dns-queryDNS sur TLS (DoT)
DNS sur TLS (DoT) (RFC 7858) chiffre les requêtes DNS à l’aide de TLS sur un port TCP dédié, le 853, plutôt que de les faire transiter par HTTPS. DoT offre les mêmes avantages en matière de confidentialité que DoH — il masque le contenu des requêtes aux personnes qui les espionnent — mais il est plus facile à identifier et à filtrer pour les administrateurs réseau (port 853 contre port 443). C’est une arme à double tranchant : DoT est visible et peut être bloqué par les pare-feu d’entreprise, tandis que DoH est plus difficile à bloquer sans affecter le trafic HTTPS général. Les résolveurs Stub (au niveau de l’OS) utilisent plus souvent DoT ; les navigateurs utilisent plus souvent DoH.
# Test DoT connection using kdig
kdig -d @9.9.9.9 +tls-ca example.com A
# Test DoT using openssl
openssl s_client -connect 1.1.1.1:853
# Then type: query string in DNS wire format
# Configure systemd-resolved to use DoT (Linux)
# /etc/systemd/resolved.conf:
[Resolve]
DNS=9.9.9.9#dns.quad9.net
DNSOverTLS=yesDoH et DoT : considérations pour l’entreprise
Le DNS chiffré pose un problème aux environnements d’entreprise qui dépendent du filtrage fondé sur le DNS et des sinkholes. Lorsque les navigateurs utilisent des résolveurs DoH externes, les contrôles DNS internes sont contournés. Contremesures pour l’entreprise : déployer un résolveur DoH/DoT interne (Cisco Umbrella, Pi-hole avec DoH) et configurer tous les appareils pour l’utiliser ; bloquer les adresses IP des résolveurs DoH externes au niveau du pare-feu (Google 8.8.8.8, Cloudflare 1.1.1.1) sur le port 443 ; utiliser la Group Policy pour désactiver DoH au niveau du navigateur sur les points de terminaison gérés ; et appliquer des règles de proxy transparent qui interceptent le DNS sur TLS sur le port 853. L’objectif est d’acheminer tout le DNS via le résolveur contrôlé sans bloquer entièrement le DNS chiffré.
# Enterprise DoH bypass prevention
# Windows Group Policy:
# Computer Config > Admin Templates > Google Chrome
# 'DNS over HTTPS mode': Disabled
# 'DNS over HTTPS URI templates': <empty>
# Firewall: block known public DoH resolvers
iptables -I FORWARD -d 8.8.8.8 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 1.1.1.1 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 9.9.9.9 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 149.112.112.112 -p tcp --dport 443 -j DROP
# Redirect all DNS to corporate resolver
iptables -t nat -A PREROUTING -p udp --dport 53 \
-j DNAT --to-destination 10.0.0.53:53La sécurité DNS en pratique
Une stratégie complète de sécurité DNS combine plusieurs contrôles. DNSSEC protège vos zones faisant autorité contre l’empoisonnement du cache de votre domaine. Le filtrage fondé sur le DNS (Cisco Umbrella, Cloudflare Gateway) bloque les domaines malveillants au niveau du résolveur. DoH/DoT vers un résolveur contrôlé garantit la confidentialité des requêtes sans perdre la visibilité nécessaire au filtrage. La journalisation DNS vers le SIEM capture toutes les requêtes à des fins de recherche de menaces — les journaux DNS révèlent le trafic C2, l’exfiltration de données par tunneling DNS et l’activité liée aux algorithmes de génération de domaines (DGA) des logiciels malveillants. La télémétrie DNS est l’une des sources de données de Security les plus précieuses disponibles.
Détection du tunneling DNS
Le tunneling DNS encode des données dans les requêtes et les réponses DNS afin d’exfiltrer des données ou d’établir des canaux C2 à travers des réseaux où les autres trafics sortants sont bloqués. Des outils comme iodine, DNScat et dnscat2 encodent les charges utiles dans les labels de sous-domaines (requête pour EXFILTRATEDDATA.evil.com) ou dans des enregistrements TXT. Détection : noms de requête DNS anormalement longs (>100 caractères), volume élevé de requêtes provenant d’un même hôte, requêtes portant sur des domaines parents inexistants, types d’enregistrements inhabituels (TXT, NULL) et analyse de l’entropie des labels de domaine (les données encodées présentent une entropie de Shannon élevée). Les plateformes d’analyse de Security DNS signalent automatiquement les schémas de tunneling.
# DNS tunneling detection indicators
# Flag queries with:
# 1. Query name > 100 characters
# 2. More than 50 queries/minute from single host
# 3. High-entropy domain labels (base64/hex patterns)
# 4. TXT or NULL record type queries (unusual)
# 5. Queries to domains with no web presence
# Example tunnel query (encoded payload)
# aGVsbG8gd29ybGQ.vGhpcyBpcyBkYXRh.evil-domain.com
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Base64 encoded 'hello world this is data'Zones de stratégie de réponse DNS (RPZ)
Les zones de stratégie de réponse DNS (RPZ) permettent aux résolveurs DNS d’appliquer des stratégies locales de substitution aux réponses DNS — ce qui revient à créer un sinkhole local au niveau du résolveur sans modifier l’infrastructure DNS globale. Lorsqu’un client interroge un domaine connu pour être malveillant, la stratégie RPZ renvoie NXDOMAIN, redirige vers une adresse IP de sinkhole ou laisse passer la réponse. Des flux RPZ sont disponibles auprès de fournisseurs de Threat Intelligence (Spamhaus, SURBL) et peuvent être importés directement dans les résolveurs BIND ou Unbound. RPZ est un outil défensif puissant, car il applique le filtrage au niveau DNS à tous les appareils du réseau, sans configuration côté client.
# BIND RPZ configuration snippet
# /etc/named.conf
response-policy {
zone 'rpz.spamhaus.net';
zone 'local-blocklist.internal';
};
# RPZ zone file (local-blocklist.internal)
$ORIGIN local-blocklist.internal.
@ SOA ns1.company.com. admin.company.com. 2024010101 3600 600 86400 300
botnet-c2.evil IN CNAME . # NXDOMAIN response
phishing-site.com IN A 10.0.0.99 # Redirect to sinkholeVérification rapide
Test de votre compréhension des concepts de CompTIA Security+ (SY0-701) présentés dans cette leçon.
Récapitulatif de la leçon
Dans cette leçon, vous avez appris que : DNSSEC ajoute des signatures cryptographiques aux enregistrements DNS à l’aide de paires de clés KSK/ZSK pour empêcher l’empoisonnement du cache, mais ne chiffre pas les requêtes ; DNS sur HTTPS (DoH) chiffre les requêtes DNS à l’intérieur de HTTPS pour empêcher leur interception, mais crée des risques de contournement du filtrage d’entreprise ; et le tunneling DNS encode des données dans les requêtes DNS et peut être détecté grâce à l’analyse de la longueur, du volume et de l’entropie des requêtes. Nous allons ensuite étudier IPsec, les protocoles VPN et la Security des accès à distance.
Questions Fréquemment Posées
La leçon « DNS sécurisé : DNSSEC et DNS sur HTTPS (DoH) » est-elle gratuite ?
Oui — le texte complet de « DNS sécurisé : DNSSEC et DNS sur HTTPS (DoH) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cloud & IT Cert Prep, passe à CoddyKit PRO. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « DNS sécurisé : DNSSEC et DNS sur HTTPS (DoH) » ?
Découvrez comment DNSSEC empêche l’empoisonnement du cache DNS et comment le DNS sur HTTPS et le DNS sur TLS protègent la confidentialité des requêtes contre les observateurs présents sur le chemin. Tu pratiques Cloud & IT Cert Prep avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cloud & IT Cert Prep ?
Aucune expérience préalable n'est requise. Cloud & IT Cert Prep sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « DNS sécurisé : DNSSEC et DNS sur HTTPS (DoH) » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cloud & IT Cert Prep ?
Oui. Chaque leçon Cloud & IT Cert Prep inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Remplacer les protocoles non sécurisés : Telnet contre SSH, FTP contre SFTP
- Versions de TLS, suites cryptographiques et confidentialité persistante parfaite
- DNS sécurisé : DNSSEC et DNS sur HTTPS (DoH)
- IPsec, protocoles VPN et sécurité de l’accès à distance