Résolution de noms DNS

31 Oct 2023 31 Oct 2023 486 vues ESSADDOUKI Mostafa 10 min de lecture

Introduction au DNS (Domain Name System)

Définition : DNS

Un élément essentiel de l'infrastructure d'Internet, le DNS (Domain Name System) sert de système hiérarchique et distribué qui traduit les noms de domaine conviviaux pour les humains en adresses IP lisibles par les machines.

C'est la seule manière efficace de contacter une machine à distance à laquelle un nom facile à retenir peut être associé à une adresse IP, ce qui a été le principe de base de la résolution des noms depuis les premiers jours des réseaux IP.

Le principe fondamental

   
Association nom ↔ adresse IP DNS
nom-de-machine <--> 192.168.1.50

Cette association permet aux utilisateurs de retenir des noms comme google.com plutôt que des adresses IP comme 142.250.179.46.

Contexte historique : Le fichier hosts

 Historique

L'ère du fichier hosts

Pour rester à jour avec les dernières modifications, toutes les machines publiques sur Internet étaient résolues à l'aide d'un fichier appelé "hosts", qui était téléchargé à intervalles réguliers.

Ce fichier contenait toutes les correspondances entre noms de machines et adresses IP de l'époque.

Exemple de fichier hosts
# Fichier hosts traditionnel
127.0.0.1       localhost
192.168.1.10    serveur-1
192.168.1.20    serveur-2
203.0.113.5     www.example.com
Limitations du fichier hosts

Avec la croissance exponentielle d'Internet, le fichier hosts est devenu impossible à maintenir :

  • Taille démesurée (des millions de lignes)
  • Mises à jour fréquentes et difficiles à synchroniser
  • Point de défaillance unique
  • Absence de hiérarchie et d'organisation

Les exigences de conception du DNS

En raison des limitations liées au téléchargement des fichiers "hosts", le DNS devait répondre à certaines exigences de conception.

 Ajout unique

Les enregistrements doivent être ajoutés de manière unique au DNS et mis à disposition de tous les utilisateurs rapidement.

 Redondance

Dans le DNS, de multiples copies d'informations sont toujours maintenues. On ne peut pas se fier à un seul serveur.

 Hiérarchie

Dans le DNS, les informations sont organisées en niveaux hiérarchiques, avec une "zone" à chaque niveau, et une zone "." au sommet.

 Distribution

Tous les enregistrements DNS sont stockés dans plusieurs "sous-bases de données" (zones DNS). Cette opération facilite l'administration en répartissant la charge sur des milliers de serveurs.

 Sécurité

La sécurité est un aspect essentiel du DNS. Cette impérative est apparue plus tard et n'est pas encore mise en œuvre sur chaque serveur DNS. Néanmoins, nous pouvons maintenant sécuriser les opérations DNS de bout en bout grâce à l'utilisation de services d'authentification, de contrôle d'accès et de contrôle d'intégrité.

Concept de zones DNS

Définition : Zone DNS

Sans organisation, le nombre considérable d'enregistrements DNS serait ingérable (ce serait comme avoir un fichier "hosts" contenant des millions de lignes). Afin de s'organiser de manière hiérarchique, des zones DNS ont été créées. Chaque zone est un domaine, et chaque branche est une zone.

La zone "." (point) est la racine de la hiérarchie et contient tous les TLD (Domaines de Premier Niveau). Les TLD sont les extensions bien connues telles que .com, .net, et ainsi de suite. Tous nos domaines sont des sous-branches des TLD.

Hiérarchie des zones DNS

Concept de zones DNS

Figure : Organisation hiérarchique des zones DNS (racine, TLD, domaines, sous-domaines)

Selon l'exemple ci-dessus :

  • La zone "edu" comprend les sous-zones "emi", "uca", et "um6p".
  • La zone "." (racine) comprend également les sous-zones "ma", "com", "net", et "info".

Le concept de zones DNS représente une subdivision hiérarchique de l'espace de noms DNS, ce qui facilite la gestion des enregistrements DNS. Voici ce que vous devez savoir :

Hiérarchie DNS

Il existe plusieurs niveaux dans la hiérarchie DNS, avec la racine en haut, représentée par le point (".") dans le DNS. Sous la racine se trouve une zone, qui correspond à un sous-domaine ou à un groupe de ressources connexes.

NiveauExempleDescription
Racine (.).Sommet de la hiérarchie, géré par 13 ensembles de serveurs racine
TLD.com, .org, .frDomaines de premier niveau (Top Level Domains)
Domaine de second niveauexample.comDomaine typique enregistré par les utilisateurs
Sous-domainewww.example.comSubdivision d'un domaine (peut avoir sa propre zone)

Zone Principale (Forward Zone)

Zone primaire / de recherche directe

Les zones primaires DNS, également appelées zones de recherche directe, sont des zones DNS qui contiennent les enregistrements DNS d'un domaine. Par exemple, le domaine "example.com" peut avoir une zone primaire qui contient tous ses enregistrements DNS.

Exemple de zone primaire (example.com)
$ORIGIN example.com.
$TTL 86400

; Enregistrements de la zone
@       IN SOA   ns1.example.com. admin.example.com. (
                2024031201 ; Serial
                86400      ; Refresh
                7200       ; Retry
                3600000    ; Expire
                172800     ; Minimum TTL
                )

        IN NS    ns1.example.com.
        IN NS    ns2.example.com.

@       IN A     192.0.2.10
www     IN A     192.0.2.10
mail    IN A     192.0.2.20

Zone Inverse (Reverse Zone)

Zone inverse (reverse lookup)

Il existe également une zone inverse, qui est utilisée pour les recherches inverses, par opposition aux zones primaires. Par exemple, la zone inverse "in-addr.arpa" est utilisée pour convertir les adresses IP en noms de domaine.

Exemple de zone inverse (pour 192.0.2.0/24)
$ORIGIN 2.0.192.in-addr.arpa.
$TTL 86400

@       IN SOA   ns1.example.com. admin.example.com. (
                2024031201 ; Serial
                86400      ; Refresh
                7200       ; Retry
                3600000    ; Expire
                172800     ; Minimum TTL
                )

        IN NS    ns1.example.com.
        IN NS    ns2.example.com.

10      IN PTR   example.com.
10      IN PTR   www.example.com.
20      IN PTR   mail.example.com.

Autorité et Délégation

L'autorité et la délégation d'une zone sont déterminées par ses serveurs DNS autoritaires. Ces serveurs gèrent les enregistrements DNS d'une zone.

Serveur primaire

Serveur principal qui contient la version maître de la zone. Toutes les modifications sont effectuées sur ce serveur.

Serveurs secondaires

Les serveurs DNS secondaires maintiennent des copies de la zone primaire et peuvent se voir déléguer l'autorité pour celle-ci. Ils se synchronisent régulièrement avec le primaire.

Dans la plupart des cas, la délégation se fait à l'aide d'enregistrements NS (Name Server) qui spécifient les serveurs autoritaires.

Exemple de délégation
; Dans la zone parente (example.com)
sous-domaine.example.com. IN NS ns1.sous-domaine.example.com.
sous-domaine.example.com. IN NS ns2.sous-domaine.example.com.

; Glue records (obligatoires si les NS sont dans le sous-domaine)
ns1.sous-domaine.example.com. IN A 192.0.2.100
ns2.sous-domaine.example.com. IN A 192.0.2.101

Administration et Mise à Jour

La gestion des zones est généralement effectuée par les administrateurs réseau. Pour assurer la cohérence des données, les serveurs DNS secondaires se synchronisent régulièrement avec le serveur DNS primaire.

Pratiques d'administration

Les modifications et mises à jour des enregistrements dans les zones primaires ne devraient être effectuées que par des administrateurs autorisés.

  • Incrémenter le numéro de série (Serial) à chaque modification
  • Vérifier la syntaxe des fichiers de zone
  • Tester les changements avant déploiement
  • Surveiller la propagation des modifications

Zones DNS Publiques et Privées

Zone DNS publique

Une zone DNS publique contient des enregistrements accessibles depuis Internet. Ces zones sont visibles et interrogeables par n'importe quel utilisateur sur Internet.

Exemple : google.com, openai.com

Zone DNS privée

Une zone privée est utilisée à des fins internes au sein d'un réseau privé. Les zones privées peuvent contenir des enregistrements qui ne devraient pas être exposés au public.

Exemple : entreprise.local, intranet.corporate

Sécurité des Zones DNS

DNSSEC (DNS Security Extensions)

Des mécanismes de sécurité tels que DNSSEC sont utilisés pour la sécurité des zones DNS afin de prévenir les attaques et garantir l'intégrité des données DNS.

DNSSEC ajoute une signature cryptographique aux enregistrements DNS, permettant de vérifier :

  • Authenticité : La réponse provient bien du serveur autoritaire
  • Intégrité : Les données n'ont pas été modifiées en transit
  • Non-répudiation : Le serveur ne peut pas nier avoir émis la réponse
Enregistrement avec DNSSEC (RRSIG)
example.com. 3600 IN A 192.0.2.10
example.com. 3600 IN RRSIG A 5 2 3600 20240412000000 20240313000000 12345 example.com. ...

Récapitulatif des types de zones DNS

Type de zoneDescriptionCas d'usage
Zone primaire (directe)Contient les correspondances noms → IPSite web, serveurs, services
Zone inverseContient les correspondances IP → nomsAuthentification, traçabilité, anti-spam
Zone publiqueAccessible depuis InternetServices accessibles publiquement
Zone privéeAccessible uniquement en interneRéseaux d'entreprise, intranet
Zone déléguéeAdministrée par une autre entitéSous-domaines confiés à des équipes différentes
 Exercice pratique

Analyser la hiérarchie DNS

 Niveau : Débutant

En vous basant sur le schéma hiérarchique du DNS, identifiez les différentes zones pour le domaine suivant :

ftp.student.info.university.edu

Questions :

  1. Quelle est la zone racine ?
  2. Quels sont les TLD (domaines de premier niveau) ?
  3. Quels sont les domaines de second niveau ?
  4. Quels sont les sous-domaines ?
  5. Combien de niveaux hiérarchiques compte ce FQDN ?
Points clés à retenir
  • Le DNS a remplacé le fichier hosts pour résoudre les problèmes d'évolutivité
  • Le DNS est hiérarchique, distribué et redondant par conception
  • Les zones DNS sont des subdivisions administratives de l'espace de noms
  • La racine (.) est au sommet de la hiérarchie
  • Les TLD (com, org, fr, edu, etc.) sont gérés par des organisations spécifiques
  • Les enregistrements NS permettent la délégation de zones
  • Il existe des zones directes (nom → IP) et inverses (IP → nom)
  • Les zones peuvent être publiques (Internet) ou privées (réseau interne)
  • DNSSEC apporte la sécurité (authenticité et intégrité)

Commandes pour explorer les zones DNS

# Obtenir les enregistrements NS d'une zone
dig ns example.com

# Transfert de zone (si autorisé)
dig axfr example.com @ns1.example.com

# Vérifier la délégation
dig +trace example.com

# Obtenir le SOA d'une zone
dig soa example.com
# Mode interactif
nslookup
> set type=ns
> example.com
> set type=soa
> example.com
> exit

# Requête directe
nslookup -type=ns example.com

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.