Domain Name System
Domain Name System
Domain Name System
Introduction Dfinition Caractristiques du DNS Principe de fonctionnement Domaines Rsolution Inverse Zones Les serveurs de noms Les enregistrements Messages DNS Le rsolveur Les avantages de DNS Les failles du DNS
Introduction
Dans les annes 70, ARPAnet fut le premier rseau IP et navait que quelques centaines dordinateurs. Chaque ordinateur contenait un fichier /etc/hosts maintenu par Network Information Center (NIC) pour faire la correspondance des noms aux adresses IP des ordinateurs. Mise jour par ftp
Introduction
Problmes :
Le trafic sortant du serveur NIC est considrable. Mise jour difficile. La croissance explosive du nombre d'htes a fait rapidement exploser ce mcanisme. Solution :
Dfinition
DNS : Domain Name System
Espace de Noms mondial, cohrent et indpendant des protocoles.
Dfinition
Le systme DNS permet didentifier une machine par un nom reprsentatif de la machine et du rseau sur lequel elle se trouve ; exemple: www.centralweb.fr identifie la machine www sur le rseau centralweb.fr Le systme est mis en uvre par une base de donnes distribue au niveau mondial(sur plusieurs serveurs). Les noms sont grs par un organisme mondial : linterNIC et les organismes dlgus : RIPE, NIC France, NIC Angleterre, etc. Systme de "cache" : mmoriser les rsolutions prcdentes(gain de temps ,pas de surcharge inutile du rseau ). Systme largement rpandu, bien rd et standard.
Caractristiques
Un espace de noms hirarchique permettant de garantir l'unicit d'un nom dans une structure arborescente, la manire des systmes de fichiers d'Unix. La structuration du systme DNS s'appuie sur une structure arborescente dans laquelle sont dfinis des domaines de niveau suprieurs (appels TLD, pour Top Level Domains), rattachs un nud racine reprsent par un point.
Caractristiques
Caractristiques
Une base de donnes distribue : Une base de donne est associe chaque nud Lensemble de ces bases de donnes constituent le DNS Dans un nud, on trouve o les informations permettant de retrouver les nud fils o Les informations propres au nud : liste des machines o Comme dans un rpertoire : des sous rpertoires et des fichiers La gestion de chaque nud peut tre effectue par des entits diffrentes
Caractristiques
Gestion dcentralise : administration des seules ressources locales mais accs toutes les ressources de l'Internet Systme de "cache" : mmoriser les rsolutions prcdentes : gain de temps pas de surcharge inutile du rseau
permet linterrogation dun serveur Quelle est ladresse de www.bnf.fr ? Quel est le nom de 195.221.97.9 ? Rfrence un serveur DNS par dfaut local
serveurs et renvoie la rponse au
client :
194.199.8.10 richelieu.ac-versailles.fr Systme robuste par redondance : plusieurs serveurs possdent la base de donne dun domaine
Principe de DNS
Fonctionnement Fonctionnement
Lorsque vous tapez l'adresse d'un site dans votre navigateur. Votre ordinateur va tout d'abord se connecter au serveur DNS afin de connatre IP correspondant l'adresse que vous avez saisie (1) L'adresse IP du serveur WEB tant connu, sa localisation et donc sa connexion sur la toile est maintenant possible (2)
Il peut, en fait, fonctionner selon deux cas reprsents par les figures suivantes :
16
uk
de
fr
com
info
net
La racine sappelle root Chaque nud porte un nom, cest une zone (domaine ou sous-domaine) ac-paris
ac-versailles
bnf domaines
mp-poissy
crdp sous-domaines
www
vitis
mail htes
nom de domaine est la squence de labels depuis le noeud de larbre correspondant jusqu la racine
.
fr M1.centralweb.fr centralweb m1
Deux noeuds fils ne peuvent avoir le mme nom ==> unicit dun nom de domaine au niveau mondial
18
Domaine
Quelles sont les diffrentes TLD? Chaque pays possde un TLD qui correspond son code pays ISO (fr=France, it=Italie, de=Allemagne, ca=Canada, pl=Pologne, be=Belgique, etc.). On les appelle ccTLD ( Country-code TLD ).
Il existe galement quelques TLD gnrales, prsentes pour raisons historiques et/ou commerciales:
Domaine
.com : Sites commerciaux. .net : Organismes en rapport direct avec Internet et son volution. .org : Organisations, associations et ONG. .edu : Rserv au systme ducatif amricain et universits amricaines. .gov : gouvernement amricain .mil : Arme des Etats-Unis. .int : international Les domaines rcemment crs .biz, .info, .name, .museum, .aero, .coop, .pro Les domaines nationaux .fr, .uk, .us, .it, .de, .es, .pt, .ru, .tw, .au, .nz, .tv etc. Les domaines supranationaux .eu pour lEurope Le domaine pour la rsolution inverse : .in-addr-arpa
Domaine
Un domaine est un sous-arbre de lespace nom de domaine
Domaine complet
com Domaine com microsoft
centralweb
Domaine microsoft
exemple
noeud : exemple.microsoft.com
Des noeuds peuvent avoir les mmes noms dans des domaines diffrents : exemple.microsoft.com et
exemple.centralweb.com
21
Domaine
Lecture des nom de domaine:
A linverse de ladressage IP la partie la plus significative se
193.148.37.201
vers le plus significatif
Domaine
Question
quel domaine appartient le nom pollux.escpi.cnam.fr ?
Rponse
Tout nom appartient aux diffrents domaines qui constituent sa hirarchie. pollux.escpi.cnam.fr appartient donc aux domaines suivants : fr cnam.fr escpi.cnam.fr
Rsolution inverse
Consiste obtenir le nom de domaine partir de ladresse IP
pour faciliter la comprhension des humains
Plus dlicate que nom -> IP car le systme DNS est organis pour la rsolution de nom . Solution : Utiliser les adresses comme des noms :
le domaine in-addr.arpa les noms des noeuds correspondent aux octets de ladresse IP en ordre inverse le domaine in-addr.arpa a 256 sous-domaines, chacun de ces sous-domaines a 256 sous-domaines,
Rsolution Inverse
Cest une rsolution diffrente de la rsolution normale Elle utilise le pseudo-domaine in-addrarpa
Rsolution Inverse
In-addr-arpa
in-addr-arpa
195
254
silene.neottia.net
1 2 3 5 254
250
254
195.5.250.193 ?
Dlgation
A tout domaine est associ une responsabilit administrative Une organisation responsable dun domaine peut dcouper le domaine en sous-domaines dlguer les sous-domaines dautres organisations :
qui deviennent leur tour responsables du (des) sous-domaine(s) qui leurs sont dlgu(s)
peuvent, leur tour, dlguer des sous-domaines des sousdomaines quelles grent Le domaine parent contient alors seulement un pointeur vers le sousdomaine dlgu; exemple : microsoft.fr est dlgu lorganisation microsoft
Question :
quel domaine appartient le nom www.enis.rnu.tn ?
Rponse :
Domaines d'appartenance
edu
com
org
.......
tn
fr
uk
rnu
poste
tv
...
planet
fseg
enis
isg
...
iseps
ftp
...
www
ftp
www
...
www.enis.rnu.tn.
ZONE
Une zone est un ensemble de domaines grs par la mme autorit. A l'intrieur d'une zone:
Un serveur primaire Plusieurs serveurs secondaires Des caches DNS est compos de deux modules :
le Resolver
le Name Server .
Le serveur cache.
ZONE
zone1
ZONE
.
com org ....... ca fr uk .......
edu
...
usher b
regis
...
labo
info
regis
...
labo
saturn e
...
meki
ZONE
ZONE
La base de donnes des domaines est divise en sections appeles zones . Zone : Sous arbre qui est administre sparment. L'autorit d'une zone est dlgue une personne qui est charge de crer le serveur de cette zone (le Serveur de noms)
Dclaration des domaines : Seules les organisations et les individus lgalement rsidants en Tunisie ont le droit d'enregistrer leurs noms de domaine dans le domaine tunisien (tn) . Et seule l'ATI est charge de crer l'identit officielle du serveur hberger et de le dclarer sur le rseau Internet en format domaine : www.domaine.tn Tarifs :Frais de dclaration, de rservation et de gestion de domaine :42 DT / an
ZONE
Administration de zone :
ZONE
A chaque fois qu'une zone est cre, l'administrateur alloue un nom cette zone, alloue une adresse IP pour reconnatre le serveur de cette zone (SOA) et il entre les noms des machines de sa zone au niveau des fichiers de configuration du serveur.
ZONE
ZONE
soit A un domaine, B et C deux sous-domaines. La responsabilit du sous-domaine B est dlgue. Le schma suivant illustre l'exemple :
Le domaine A contient les donnes de A, B et C. La zone A ne contient les donnes que de A et C. Les serveurs d'autorit de la zone A dispose de pointeurs sur les serveurs d'autorit du sous-domaine B. Les serveurs d'autorit de la zone B dispose de pointeurs sur les serveurs d'autorit du domaine dont ils dpendent (domaine A).
ZONE
Mise jour des Zones
un serveur secondaire dune zone interroge intervalles rguliers le serveur primaire de cette zone pour voir si une modification a eu lieu. La frquence est indique par le refresh dfini dans le SOA . ce type de mise jour peut se faire entre un primaire et un secondaire ou entres secondaires.
Serveur de Nom
Les serveurs sont dpositaires de l'information constituant la base de donnes des domaines
Les serveurs de noms ont pour tches de rpondre des requtes des clients
13 serveurs DNS racines (root servers) existent dans lInternet et ils reprsentent la racine (le domaine POINT). Ces serveurs sont de linfrastructure fondamentale de lInternet Chaque root peut rpondre > 100000 requtes / sec
Serveur de Nom
Le serveur primaire
Cest un serveur d'autorit sur sa zone ; il fait la mise jour du "fichier de zone", qui tablit les correspondances entre les noms et les adresses IP des htes de sa zone Chaque domaine possde un et un seul serveur primaire
Le serveur primaire dune zone est la source des informations relatives cette zone (il possde la base de donne matre)
Il a lorigine de lautorit (Start Of Authority - SOA) sur cette zone
Le serveur secondaire
Cest un miroir sauvegard sur disque de la base de donnes matre Reoit rgulirement, par "transfert de zone", les fichiers de la base de donnes DNS concernant sa zone
Capable de rpondre aux requtes de noms IP (partage de charge), et de secourir le serveur primaire en cas de panne
Le nombre de serveur secondaire par zone n'est pas limit
Le serveur cache
Les donnes du cache possdent une dure de vie limite TTL(Time To Live) afin de permettre son rafrachissement et la prise en compte des modifications Il n'a aucune autorit sur le domaine : il n'est pas responsable de la mise jour des informations contenues dans son cache, mais il est capable de rpondre aux requtes des clients DNS Il senrichit au fur et mesure par les donnes rcoltes pour rsoudre les requtes des clients : Une requte dj demande est rsolue partir du cache du serveur
Rcapitulation
Comment synchroniser les donnes entre ces serveurs ?
Le protocole DNS est dot dun mcanisme de rplication du fichier de zone entre le serveur autoritaire primaire et les serveurs autoritaires secondaires dun domaine
Les Enregistrements
La base de donnes des serveurs de noms est constitue "d'enregistrements de ressources", "Ressource Records" (RRs).
Les nuds de lespace sont dcrits par des RR (record ressource) maintenus jour sur des serveurs autoriss : opration manuelle.
Enregistrements(suite)
Un enregistrement de ressource (RR) est compos de cinq champs :
OWNER
domaine du RR
TYPE
A CNAME HINFO MX NS PTR SOA.
CLASS
IN, CH
TTL
RDATA
A CNAME MX PTR SOA
44
Enregistrements(suite)
TTL: Time
to live IN : internet A : Name-to-Address Mapping (FQDN>ipv4) CNAME: nom canonique NS : serveur autoris SOA: sphre dautorit PTR:Address-to-Name Mapping(ipv4 >FQDN) MX : Mail eXchanger, SMTP de ce domaine
Types denregistrements
Diffrents types de RRs sont dfinis dans la classe Internet, dont :
46
Types denregistrements
Enregistrement "Start of Authority
L'enregistrement SOA marque le dbut de tout fichier de zone. Il renseigne un certain nombre de paramtres qui caractrisent une zone (comme le comportement des serveurs secondaires lors de leur mise jour). Les principaux champs du RR SOA sont :
47
Types denregistrements
Enregistrement "Start of Authority" in soa ns1.test.ca. postmaster.test.ca. (
48
Types denregistrements
Enregistrement "Name Server"
Il joue le rle d'un pointeur identifiant un serveur d'autorit pour la zone. A la suite d'un enregistrement SOA, il doit exister un enregistrement NS pour chacun des serveurs primaires et secondaires des domaines de la zone. Un enregistrement particulier, le 'Glue Record NS', fait rfrence aux serveurs d'autorit des sous-domaines qui ont t dlgus. Les variables de l'enregistrement sont :
acbm.com
acbm.com
IN
IN
NS
NS
ns1.shimpinomori.net
ns2.shimpinomori.net
49
Types denregistrements
Enregistrement "Address "
L'enregistrement A, qui constitue la majorit des RRs d'un fichier de zone, dfinit l'adresse IP correspondant un nom IP.
Il existe un type particulier d'enregistrement d'adresse : le 'Glue Record Address' qui fait rfrence un host n'appartenant pas la zone courante, mais un sous-domaine dont l'autorit a t dlgue.
Les variables de l'enregistrement sont :
Exemple:
hub3_ouest hub5_ouest
IN IN
A A
193.148.20.16 193.148.20.17
50
Types denregistrements
Enregistrement "Canonical Name"
Un enregistrement CNAME dfinit un alias au nom officiel d'un host. Les variables de l'enregistrement sont :
in in
cname cname
www.test.ca. mail.test.ca.
51
Types denregistrements
Enregistrement "Domain Name Pointer"
L'enregistrement PTR donne le nom IP associ une adresse IP, l'inverse de ce qu'tablit le RR "Address".
Les variables de l'enregistrement sont :
Types denregistrements
Les enregistrements-MX-
MX = Mail eXchanger Permet ladressage Email sur la base du nom de domaine plutot que sur ladresse du (des) serveur(s) de mail : o [email protected] plutot que [email protected] o permet lmetteur dignorer la machine serveur de mail o permet le dplacement du serveur de mail vers une autre machine o permet la gestion de plusieurs serveurs de mail avec priorit dans lordre de consultation des serveurs Lenregistrement MX est consult par les mailers (SMTP client) Exemple:
in in mx mx 10 20 mail.test.ca. mail2.test.ca.
53
Message DNS
Le Protocole DNS utilise un format de messages commun pour tous les changes entre serveurs ou entre client et serveur. Les messages DNS sont achemins soit au dessus de UDP, soit au dessus de TCP. Dans les 2 cas, on utilise le numro de port prdfini 53.
Message DNS
UDP :
Le protocole ne gre pas la segmentation et impose une taille maximale de message DNS de 512 octets. UDP sera utilis par dfaut car il ne perd pas de temps maintenir une connexion pour la transmission des donnes
UDP :
Servira dans le cas de messages dpassant 512 octets (transfert de zone en particulier).
Message DNS
Entte Questions Rponses Autorits Champs supplmentaire
Message DNS
L'entte Voici la structure de l'entte Dns bas sur 12 octets.
Message DNS
Id:(16 bits)
Doit tre recopi lors de la rponse permettant l'application de dpart de pouvoir identifier le datagramme de retour
Qr:(1 bit)
Il prcise si le message est une requte (0) ou une rponse (1).
Opcode:(4 bits)
R.standard (QUERY:0), R.inverse (IQUERY:1), R.sur statut du serveur (STATUS:2),notification de mis jour(NOTIFY:4).
Message DNS
Aa:(1 bit)
le serveur qui a fourni la rponse a-til autorit sur le domaine ?(1)
Tc:(1bit)
Il indique que ce message a t tronqu(trs long pour le protocole).
Rd:(1bit)
(Recursion Demanded) demande une recherche rcursive. Si le serveur ne peut rpondre, il doit acheminer la requte un autre serveur.
Message DNS
QNAME:
Nom "canonique" du domaine concern par le message DNS. Il peut galement s'agir d'une liste d'un nombre quelconque de labels.
QTYPE (16 bits): Dfinit le type de la requte. AXFR: requte de transfert de zone. IXFR : requte de transfert de zone incrmental. QCLASS (16 bits): Dfinit la classe de la requte (par exemple IN pour Internet).
Message DNS
Type : (16 bits)
Spcifie quel type de donne sont utiliss dans le RR. Voici les diffrents types disponibles: A : adresse d'hte CNAME : le nom canonique d'un alias MX : un schma d'change de courrier pour ce domaine. NS : le serveur de noms "autoris" pour le domaine PTR : un pointeur vers une autre partie de l'espace noms de domaines SOA : Dbut d'une zone d'autorit (informations gnrales sur la zone)
Message DNS
Classe:(16 bits)
Identifiant une famille de protocoles ou une instance d'un protocole. Voici les classes de protocole possible : In : Internet Cs: Class Csnet Hs: Hesiod
Message DNS
Ttl (32 bits, en secondes) C'est la dure de vie des RRs utilise par les rsolveurs lorsqu'ils mmorisent temporairement des RR. Le champ TTL dfinit combien de temps un RR peut tre gard localement avant de devoir tre considr comme obsolte(le champ TTL nest pas toujours indispensable). Longueur:(16 bits)
Message DNS
Donnes RD Data (RD Length octets) dpend du type et de la classe Exemple: pour un enregistrement de type 1 et de classe IN la rponse est une adresse IP sur 32 bits.
Message DNS
Exemple de requte o l'on souhaite connatre le nom du serveur de courrier s'occupant de frameip.com :
Message DNS
Rponse
Message DNS
Question
68
Question(suite)
QNAME : Un nom de domaine reprsent par une suite de label. Chaque label est constitu d'un octet donnant le nombre de caractres
dans le label suivi par ces caractres. Le tout se termine par un octet
nul (que des 0).
69
Question(suite)
QTYPE : Un code de 2 octets donnant le type de requte et la nature de type de la rponse attendu Il peut prendre, par exemple, la valeur AXFR pour signifier une requte de transfert de zone, ou la valeur IXFR pour spcifier une requte de transfert de zone incrmental QCLASS : Un code de 2 octets indiquant la classe de la requte. Il s'agira toujours d'Internet de code IN=1.
70
71
A : une adresse d'hte CNAME : le nom canonique d'un alias MX : un schma d'change de courrier pour ce domaine. NS : le serveur de noms "autoris" pour le domaine PTR : un pointeur vers une autre partie de l'espace de noms de domaines SOA : le dbut d'une sphre d'autorit
72
Cette valeur est reprsente sous forme d'un entier sur 32 bits et est exprime en secondes, et est principalement utilise par les rsolveurs lorsqu'ils mmorisent temporairement des RR. Le champ TTL dfinit combien de temps un RR peut tre gard localement avant de devoir tre considr comme obsolte(le champ TTL nest pas toujours indispensable).
RDLENGTH Entier non sign de 16 bits donnant le nombre d'octets : dans RDATA.
73
NS :un nom de serveur de nom cod. PTR : un nom de machine . A : une adresse Internet sur 32 bits.
74
Exemple de requte
Exemple :
Requte = JUSSIEU.FR, MX ? Question = Qname = JUSSIEU.FR. Qtype = MX Qclass = IN Rponse,Autorit et Additional = vides
75
Exemple de requte
shiva.jussieu.fr.
134.157.0.129
76
Rsolveur
77
Rsolveur
Cest un ensemble de librairies de routines logicielles qui extraient l'information des serveurs de noms en rponse aux requtes clientes. Nomm aussi solveur de noms : programmes qui assurent l'interface entre des programmes utilisateurs et les serveurs de noms Le rsolveur est situ sur la mme machine que l'application recourant ses
services .
Objectifs: liminer le temps d'acheminement de l'information depuis le rseau. rduire le travail des NS, en rpondant partir des donnes caches en local. viter une surcharge de travail au programme sur lequel travaille l'utilisateur et de minimiser le trafic sur le rseau.
Rsolveur
L'algorithme de haut niveau contient quatre tapes :
1. Vrifier si la rponse est disponible en local, si c'est le cas on la renvoie au client. 2. Dterminer les "meilleurs" serveurs contacter.
79
Rsolveur
Analyser la rponse
Si la rponse rpond la question pos, ou stipule une erreur de nom,
retourner linformation au client et mettre cette information en cache. Si la rponse indique une redirection de plus grande proximit, mettre en cache les rfrences de ce nouveau serveur, et retourner ltape2. Si la rponse est un CNAME tout en tant pas la rponse attendu, cacher CNAME, remplacer le SNAME par le nom canonique lu dans le RR CNAME et retourner ltape1. Si la rponse rend compte dune dfaillance du serveur ou autre cas bizarre , supprimer le serveur de la SLIST et retourner ltape3.
80
Rsolveur
81
Rsolveur
Mise jour Dbuter
Client
Rep en cache
Recherche en local
Cacher CNAME
Supression NS de SLIST
Redirection
Rep2
Rponse Ou NE
Rep1
Dfaillance R.CNAME
82
Rep3
Rsolution inverse
Consiste obtenir le nom de domaine partir de ladresse IP
pour faciliter la comprhension des humains
Plus dlicate Davoir un nom partir dune IP car le systme DNS est organis pour la rsolution de nom . Solution : Utiliser les adresses comme des noms :
le domaine in-addr.arpa les noms des noeuds correspondent aux octets de ladresse IP en ordre inverse le domaine in-addr.arpa a 256 sous-domaines,
Rsolution inverse
.
arpa in-addr 0
193
255
148
255
37
255
Rfrence un nom dhte
201
255
84
L'unicit des noms et la consistance des informations sont plus facilement garanties Simplicit de la rsolution de nom Mmorisation des rsolutions prcdentes grce au systme de cache DNS: systme largement rpondu et standards Gestion dcentralise
administration des seules ressources locales mais accs toutes les ressources de l'Internet
85
86
une faille qui touche la conception mme du protocole DNS (Domain Name System) aurait pu causer dimportants dommages et mettre en pril la stabilit de lInternet tout entier
DNS failles: DNS Spoofing
cache Poisning
87
88
89
Le DNS ID Spoofing
Cette attaque se divise en plusieurs parties : Le trafic entre la cible et le serveur DNS est redirig afin de le faire passer par la machine pirate (ceci grce une requte ARP)
La machine pirate effectue le routage de manire normale hormis pour les requtes DNS (port UDP 53)
90
Le DNS ID Spoofing
Dans l'entte DNS, un numro d'identification lie la rponse la requte mise. Une fois une requte DNS intercepte, il suffit de forger une fausse rponse mais en utilisant le bon numro d'identification et de l'envoyer la place de la rponse attendu du vritable serveur DNS, en insrant l'adresse IP sur laquelle on souhaite rediriger la victime.
91
92
93
94
95
96