Qu'est-ce qu'un résolveur DNS et comment ça marche
Un résolveur DNS est le composant qui traduit des noms de domaine en adresses IP exploitables par les applications. Il agit comme intermédiaire entre un système et l’infrastructure du DNS public, en optimisant la latence, en appliquant des politiques de sécurité et en mettant en cache les réponses pour réduire le trafic. Dans un écosystème numérique où la disponibilité et la rapidité perçue conditionnent l’expérience utilisateur, il tient un rôle discret mais déterminant.
Rôle général d'un résolveur
Le résolveur reçoit une requête pour un nom de domaine, interroge les serveurs faisant autorité si la réponse n’est pas déjà en cache, valide éventuellement l’authenticité via DNSSEC, puis renvoie l’adresse IP ou un code d’erreur standardisé. Il gère la récursivité, la mise en cache selon les TTL, la conformité aux standards et l’observabilité par la journalisation des événements clés.
Principaux types de résolveurs
Stub resolver local
Il s’agit du composant léger présent sur un système d’exploitation. Il délègue la récursivité à un résolveur récursif en amont, souvent fourni par l’opérateur, l’entreprise ou un service public.
Résolveur récursif
Il exécute la chaîne complète de requêtes depuis la racine jusqu’aux serveurs faisant autorité. Il maintient un cache, applique des politiques et peut valider DNSSEC. Des logiciels comme Unbound, BIND ou PowerDNS Recursor remplissent ce rôle.
Forwarder
Il relaie les requêtes vers un autre résolveur récursif, afin de mutualiser le cache, centraliser les politiques ou profiter d’une connectivité optimisée.
Services publics anycast
Des résolveurs accessibles à l’échelle mondiale exploitent l’anycast pour rapprocher l’infrastructure des utilisateurs. Il en résulte une latence réduite et une résilience accrue.
Processus de résolution pas à pas
Cache à froid et cache à chaud
Si le cache ne contient pas la réponse, le résolveur initie une recherche récursive. S’il détient déjà une entrée valide, il la renvoie immédiatement, ce qui diminue la latence et la charge réseau.
Itération sur la hiérarchie DNS
Il commence par les serveurs racine, obtient la délégation pour le TLD, puis interroge les serveurs du domaine jusqu’à atteindre le serveur faisant autorité. Chaque étape peut fournir des enregistrements NS et des informations de glue pour poursuivre la chaîne.
Sélection et randomisation
Il choisit entre plusieurs serveurs candidats, applique une rotation pour l’équité, et introduit de l’entropie côté identifiants de requête afin de limiter certaines attaques.
Retours et codes d’erreur
Il renvoie des réponses positives, négatives avec preuve (NSEC/NSEC3 en DNSSEC) ou des états comme NXDOMAIN et SERVFAIL, en respectant les TTL négatifs fournis par la zone.
Mise en cache et gestion des ttl
Chaque enregistrement comporte un TTL. Le résolveur mémorise la réponse jusqu’à expiration. Le prefetch permet d’actualiser en arrière-plan proche de l’expiration pour maintenir un cache chaud. Le serve-stale autorise un service dégradé en renvoyant temporairement des réponses expirées si l’amont est injoignable, tout en tentant une actualisation.
Récursivité, itérativité et politiques
La récursivité est accordée uniquement aux clients autorisés afin d’éviter l’amplification d’attaques par réflexion. Il applique des limites de taux, des files d’attente et des politiques de temps d’attente. Des listes de blocage ou d’autorisation peuvent s’appliquer selon le contexte organisationnel, en privilégiant une maintenance rigoureuse pour limiter les faux positifs.
Sécurité et intégrité des réponses
Validation dnssec
La validation DNSSEC vérifie la chaîne de confiance depuis la racine jusqu’au domaine cible, garantissant que la réponse n’a pas été altérée. En cas d’échec de validation, il retourne une erreur de validation au lieu d’une adresse potentiellement falsifiée.
Chiffrement du transport
DNS-over-TLS (DoT) et DNS-over-HTTPS (DoH) chiffrent la requête entre client et résolveur, réduisant l’exposition aux écoutes et injections sur le réseau. Le déploiement implique une attention portée aux certificats, aux ports, aux profils de performance et à la compatibilité applicative.
Qname minimization
La minimisation du nom de requête limite la quantité d’information transmise à chaque niveau de la hiérarchie, ce qui réduit la surface d’exposition des données de navigation.
Mesures anti-poisoning
La randomisation des ports source, l’entropie dans les identifiants de requête et la gestion stricte du cache réduisent le risque d’empoisonnement. La surveillance des incohérences de délégation et des réponses anormales contribue à l’alerte précoce.
Performance et disponibilité
Anycast et topologie
L’utilisation d’adresses anycast rapproche le service des utilisateurs finaux. Une topologie multi-sites avec bascule automatique améliore la disponibilité. La diversité des fournisseurs en amont réduit les risques corrélés.
Optimisations de cache
Un cache de grande taille, un réglage adapté des TTL minimaux et la prise en charge du prefetch améliorent la latence moyenne. Le negative caching limite les visites répétées aux zones inexistantes.
Ecs et géolocalisation
EDNS Client Subnet (ECS) permet aux résolveurs autoritaires d’adapter les réponses selon une approximation géographique. Il convient d’évaluer le bénéfice en latence face aux implications en matière de confidentialité.
Observabilité et supervision
Métriques clés
Le taux de réussite, la latence par quantiles, la part de réponses servies depuis le cache et le volume d’erreurs constituent des indicateurs de qualité. Une dérive de la latence P95 ou une hausse des SERVFAIL signale un incident amont ou un blocage réseau.
Journalisation et protection des données
Les journaux de requêtes aident à l’analyse des incidents et à la détection de campagnes malveillantes. Une stratégie de conservation limitée, l’anonymisation et des contrôles d’accès restreints réduisent les risques de fuite de données sensibles.
Implémentations courantes
Unbound
Unbound propose une validation DNSSEC robuste, un support DoT/DoH, la minimisation des QNAME et des fonctionnalités de prefetch. Sa configuration modulaire facilite le durcissement.
Bind
BIND offre des capacités récursives éprouvées, une large compatibilité et des mécanismes avancés de contrôle d’accès, avec un écosystème mature de documentation et d’outils.
Powerdns recursor
PowerDNS Recursor met l’accent sur la performance, la flexibilité via Lua pour des politiques fines et des intégrations d’observabilité adaptées aux environnements à fort trafic.
Dnsmasq
dnsmasq combine DHCP, TFTP et cache DNS léger. Il convient aux environnements embarqués, aux petites infrastructures et aux réseaux d’accès nécessitant un point unique simple.
Bonnes pratiques de configuration
Surface d’exposition réduite
Limiter la récursivité aux réseaux internes, appliquer des ACL strictes, activer la randomisation des ports et l’ID entropy, et filtrer les réponses anormales réduisent les risques d’abus.
Durcissement et conformité
Activer DNSSEC en validation, la minimisation des QNAME, le refus des réponses non conformes et la vérification stricte des délégations accroît l’intégrité du service.
Haute disponibilité
Déployer plusieurs nœuds anycast ou au moins deux instances sur des segments réseau distincts assure la continuité. Un équilibrage judicieux et des tests de bascule réguliers confirment le bon comportement en incident.
Gestion des pannes
Le serve-stale, le prefetch, l’augmentation contrôlée des délais d’attente et des stratégies de retry adaptatives améliorent la résilience face aux défaillances temporaires des serveurs faisant autorité.
Erreurs fréquentes et diagnostic
Nxdomain et délégations rompues
Un NXDOMAIN persistant peut découler d’une faute de frappe, d’une zone supprimée ou d’une délégation incorrecte. L’inspection des enregistrements NS et la vérification des glue records aident à localiser la rupture.
Servfail et échec dnssec
Un SERVFAIL suivi d’alertes de validation indique souvent une chaîne DNSSEC brisée. La vérification des signatures, des clés DS et KSK/ZSK au niveau du domaine permet d’identifier la cause.
Latence élevée
Une hausse de la latence est parfois liée à un cache froid, à un chemin réseau dégradé ou à un point anycast éloigné. Le traçage des autorités interrogées et l’examen des métriques par région facilitent la remédiation.