Académique Documents
Professionnel Documents
Culture Documents
Plan
Introduction Dfinition Caractristiques du DNS Principe de fonctionnement Domaines Rsolution Inverse
Plan
Zones Les serveurs de noms Les enregistrements Messages DNS Le rsolveur Les failles du DNS
10
11
12
Introduction
Aux origines de TCP/IP, tant donn que les rseaux taient trs peu tendus ou autrement dit que le nombre d'ordinateurs connects un mme rseau tait faible, les administrateurs rseau craient des fichiers appels tables de conversion manuelle. Ces tables de conversion manuelle taient des fichiers squentiels, gnralement nomms hosts ou hosts.txt, associant sur chaque ligne l'adresse IP de la machine et le nom littral associ, appel nom d'hte.
Introduction
Exemple de fichier
HOSTS.TXT Example of Host Table Format NET : 10.0.0.0 : ARPANET : NET : 128.10.0.0 : PURDUE-CS-NET : GATEWAY : 10.0.0.77, 18.10.04 : MIT-GW.ARPA, MIT-GATEWAY : PDP-11 : MOS : IP/GW, EGP : HOST : 26.0.0.73, 10.0.0.51 SRI-NIC.ARPA, SRI-NIC, NIC : DEC-2060 : TOPS-20 : TCP/TELNET, TCP/SMTP TCP/TIME, TCP/FTP TCP/ECHO, ICMP : HOST : 10.2.0.11 : SU-TAC.ARPA, SU-TAC : C/30 : TAC : TCP :m
Introduction
Les inconvnients:
Dfinition
La solution :
Avec l'explosion de la taille des rseaux, et de leur interconnexion, il a fallu mettre en place un systme de gestion des noms hirarchis et plus facilement administrable. Le systme nomm Domain Name System (DNS), a t mis au point en novembre 1983 par Paul Mockapetris (RFC 882 et RFC 883), puis rvis en 1987dans les RFCs 1034 et 1035. Le DNS a fait l'objet depuis de nombreuses RFCs.
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 n ud racine reprsent par un point.
Caractristiques
Caractristiques
Une base de donnes distribue :
Une base de donne est associe chaque n ud Lensemble de ces bases de donnes constituent le DNS Dans un n ud, on trouve o les informations permettant de retrouver les n ud fils o Les informations propres au n ud : liste des machines o Comme dans un rpertoire : des sous rpertoires et des fichiers La gestion de chaque n ud peut tre effectue par des entits diffrentes
Caractristiques
Systme de cache : mmoriser les rsolutions prcdentes Gain de temps Pas de surcharge inutile du rseau Gestion dcentralise des informations de la base de donnes globale : administration non seulement des ressources locales mais elle a aussi accs toutes les ressources de lInternet. Usage gnral indpendant des types dapplications et du type de machines
Caractristiques
Fonctionnement
Client DNS Resolver : 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 Serveur DNS Interroge dautres 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
Fonctionnement
Il peut, en fait, fonctionner selon deux cas reprsents par les figures suivantes :
Fonctionnement
Fonctionnement
Domaine
. ou root
uk
de
fr
com
info
net
La racine sappelle root Chaque n ud porte un nom, cest une zone (domaine ou sous-domaine) ac-paris
ac-versailles
bnf domaines
mp-poissy
crdp soussous-domaines
www
vitis
mail htes
Domaine
Un domaine est un sous-arbre de lespace nom de domaine
Domaine complet com microsoft inria exemple noeud : exemple.microsoft.com Domaine com Domaine microsoft
Des noeuds peuvent avoir les mmes noms dans des domaines diffrents : exemple.microsoft.com et exemple.centralweb.com
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
19
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
Cest une rsolution diffrente de la rsolution normale Elle utilise le pseudo-domaine in-addr-arpa
Rsolution Inverse
In-addr-arpa
in-addr-arpa
195
254
silene.neottia.net
1 2 3 5 254
250
254
195.5.250.193 ?
ZONE
Une zone est un ensemble de domaines grs par la mme autorit. A l'intrieur d'une zone: Une seule autorit administrative Un serveur primaire Plusieurs serveurs secondaires Des caches DNS est compos de deux modules : le Resolver et le Name Server . Il existe trois types de serveurs de noms : Le serveur primaire. Le serveur secondaire. Le serveur cache.
ZONE
Serveurs DNS:distribution des donnes
zone1
.
com zone3 Zone 4 org ....... ca fr uk .......
edu
zone2
info teleinfo
uqa m regis
udm
mcgill
...
usherb
...
labo
info
regis
...
labo
saturne
atm
...
meki
ZONE
base de donnes des domaines est divise en sections appeles zones Zone : Sous arbre qui est administre sparment.
La L'autorit
d'une zone est dlgue une personne qui est charge de crer le serveur de cette zone (le Serveur de noms)
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).
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 . type de mise jour peut se faire entre un primaire et un secondaire ou entres secondaires.
} ce
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. Plusieurs serveurs doivent avoir accs une zone commune (au moins 2 serveur sont obligatoires). 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
Serveur de Nom
Les types de serveurs de noms :
Il existe trois types de serveurs de noms
Le
Serveur de Nom
Serveur primaire:
le serveur primaire dune zone est la source des informations relatives cette zone (il possde la base de donne matre) . il contient les informations partir dun fichier de donnes o lon effectue les mises jour. il a lorigine de lautorit (Start Of Authority - SOA) sur cette zone.
Serveur de Nom
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 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.
Serveur de Nom
Serveur secondaire:
c est un miroir sauvegard sur disque de la base de donnes matre.
fonction de sauvegarde de rpartition de charge et daccessibilit
le serveur secondaire dune zone obtient les informations relatives celle-ci automatiquement depuis un serveur primaire ou un autre secondaire. il a galement autorit sur cette zone.
Enregistrements
La base de donnes des serveurs de noms est constitue "d'enregistrements de ressources", "Ressource Records" (RRs). Ces enregistrements sont rpartis en classes. La seule classe d'enregistrement usuellement employe est la classe Internet (IN).
IN
10.10.10.2
nom
ttl
type classe
rdata
Enregistrements
Types denregistrements
Diffrents types de RRs sont dfinis dans la classe Internet, dont :
Enregistrements
Types denregistrements
Enregistrement "Start of Authority"
L'enregistrement SOA marque le dbut de tout fichier de zone. Les principaux champs du RR SOA sont :
Enregistrements
Exemples denregistrements
Enregistrements
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
Enregistrements
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
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
T CP:
Servira dans le cas de messages dpassant 512 octets (transfert de zone en particulier).
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
Ra:(1bit) (Recursion Available)
Z: (3bit)
Le flag Z est rserv pour une utilisation futur. Il doit tre plac 0 dans tout les cas.
Rcode:(4bit) Indique le type de rponse. 0 - Pas d'erreur 1 - Erreur de format dans la requte 2 - Erreur interne sur le serveur 3 - Le nom de domaine recherch n'existe pas 4 - Type de requte non supporte par le serveur 5 -Requte refuse 6-15 le serveur refuse de rpondre
Message DNS
Qdcount : (16 bits) Spcifie le nombre de question dans la section Question . Ancount : (16 bits) Spcifie le nombre d'entre dans la section "Rponse". Nscount : (16 bits) Spcifie le nombre d'entre dans la section "Autorit". Arcount : (16 bits) Spcifie le nombre d'entre dans la section "Additionnel".
Message DNS
la suite de cette enveloppe, on trouve les donnes utiles (questions, rponses, erreurs, etc.), on les appelle des enregistrements ou des ressources records (RR).
Message DNS
QUESTION
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 incremental.
QCLASS (16 bits): Dfinit la classe de la requte (par exemple, IN pour Internet).
Message DNS
www.lifl.fr donne 0377 7777 046c 6966 6c02 6672. Les points ne sont pas cods par contre on utilise des sparateurs (02 03 04 . . .). Ainsi le premier octet 03 indique quil y a 3 octets avant le nouveau sparateur (i.e. 77 77 77 soit www), de mme 04 indique quil y a 4 octets avant le nouveau sparateur (6c 69 66 6c soit lifl) et le dernier sparateur (02) indique quil y a 2 octets aprs : 66 72 (soit fr). 00 pour indiquer la fin du nom. Type (16 bits) pour indiquer le type de la requte. Class (16 bits) indique le type du protocole.
Message DNS
nslookup www.lifl.fr 08bb 0100 : identifiant 08bb parametre 0100 (requete rcursive) 0001 0000 : 1 question, 0 rponse 0000 0000 : 0 autorit, 0 infos complmentaire 0377 7777 : .w ww 046c 6966 : .l if 6c02 6672 : l. fr 00 00 01 : type (host address) 00 01 : class (internet)
Message DNS
Rponse, Autorit , Supplmentaire
Nom:(16 bit) le nom de domaine o le RR est trouv( Le nom de domaine tel qu'il tait dans la question).
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 de 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. oVoici 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
DonnesRDData (RDLength octets)
dpend du type et de la classe oExemple: 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
Fichier de Zone
Explication
En-tte $$TTL 3D Dure de vie de la zone exprime en seconde par dfaut @ IN SOA dsigne lenregistrement de dbut dautorit (Start Of Authority) il est( suivi du serveur DNS primaire et de ladresse du responsable (XXXXXXXX; N de version. Par habitude: AAAAMMJJ(ex:20051103)
Fichier de Zone
Explication
XXXXXXXX; Refresh : Temps dattente pour le rafraichissement du DNS secondaire. XXXXXXXX; Retry:Temps dattente du serveur secondaire pour refaire une requte. XXXXXXXX Expire: Temps pendant lequel le DNS secondaire doit garder les zones. XXXXXXXX;) TTL(Time To Live):Temps de vie par dfaut de tous les enregistrements.
Fichier de Zone
RECHERCHE DIRECTE
Exemple de fichier qui contient les noms des machines dans le domaine mappes par leur @Ip
; en-tte du fichier $TTL 86400 @ IN SOA svr.mynetcourse.info.admin.mail.mynetcourse.info.( 20051103; 28800; 14400; 3600000; 86400 );
Fichier de Zone
RECHERCHE DIRECTE
; dclaration dun serveur de nom (NS) et dun serveur de mail (MX) IN NS svr.mynetcourse.info. IN MX 10 mail.mynetcourse.info. ;exemples denregistrement de type A Poste1 IN A 192.168.0.101 Poste2 IN A 192.168.0.102 Poste3 IN A 192.168.0.103 Poste4 IN A 192.168.0.104 Poste5 IN A 192.168.0.105 svr IN A 192.168.0.253 Mail IN A 192.168.0.254
Fichier de Zone
RECHERCHE DIRECTE
;exemples denregistrement dalias (CNAME) Pop imap smtp IN IN IN CNAME CNAME CNAME mail mail mail
Requtes
Requtes
Requtes itratives
Requtes
Requtes itratives Ce mode est le plus simple du point de vue du serveur. Les serveur rpondent directement la requte sur la base seule de ses informations locales. La rponse peut contenir la rponse demande, ou bien donne la rfrence d'un autre serveur qui sera "plus susceptible " de disposer de l'information demande. Il est important que tous les serveurs de noms puissent implmenter ce mode itratif et dsactive la fonction de rcursivit.
Requtes
Requtes rcursives
Requtes
Requtes rcursives
Les requtes DNS sont rsolues de diffrentes manires.
Un client peut parfois rpondre localement une requte en utilisant les informations mises en cache obtenues en rponse une requte prcdente. Le serveur DNS peut utiliser son propre cache des informations d'enregistrement de ressource pour rpondre une requte. Un serveur DNS peut galement interroger ou contacter d'autres serveurs DNS au nom du client effectuant la requte de manire compltement rsoudre le nom, puis renvoyer une rponse au client.
Rsolveur
}
Le ct client du systme DNS est appel un rsolveur DNS. Il est charg d'initier et d assurer le squenage des requtes qui aboutira une rsolution maximale de la ressource recherche, par exemple, la traduction d'un nom de domaine en adresse IP. C est un ensemble de librairies de routines logicielles qui extraient l'information des serveurs de noms en rponse aux requtes clientes. 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 Serveurs de nom, en rpondant partir des donnes caches en local. => Une meilleure performance du temps de rponse.
Algorithme
Vrifier si la rponse est disponible en local, si c'est le cas on la renvoie au client. Dterminer les meilleurs serveurs contacter. Leur envoyer des requtes jusqu' ce qu'un d'eux rponde Analyser la rponse
des DNS Google ont t redirigs pendant 7 minutes sur des sites Roumains. (28 aot 2010)
utiliss par Microsoft pour rsoudre ses noms de domaines officiels ont t dtourns pour router du trafic vers 1 000 sites proposant de faux produits pharmaceutiques. (22 septembre 2010)
victime peut-tre d une attaque DNS. il tait inaccessible pour 23h (22-23 Septembre 2010)
usurpation des rponses sur le rseau pollution de cache visant introduire des donnes incorrectes
} les atteintes
la disponibilit : saturation du serveur (cache ou autorit) ou d'un quipement en coupure (routeur, pare-feu,...) par des trames ; } l'utilisation des transferts de zone DNS pour collecter des informations sur l'architecture d'un systme d'information et afin d'identifier des machines intressantes
L attaque MITM (Man In The Middle) est une attaque consistant se placer entre la victime et le routeur. Le DNS Spoofing consiste simplement rediriger les pages des victimes vers ce que l on veut et de prfrence vers son PC. Le DNS Spoofing peut tre utilis pour le Phishing, ou le pirate copie le site web de votre Banque, par exemple, l hberge localement, fait un DNS Spoofing, et quand vous croyez vous connecter sur le site de votre Banque, vous vous connectez en ralit sur le serveur web du pirate, qui rcupre gentiment les infos que vous rentrez.
Cela consiste, pour un agresseur, envoyer une rponse en lieu et place du serveur interrog par un client. La trs grande majorit des requtes utilise le protocole de transport UDP, qui n'est pas orient connexion. Le client est susceptible d'accepter une rponse illgitime si l'intrus connait ou anticipe quatre lments :
} } } }
l'instant o les changes de trames seront pertinents l'adresse du serveur de destination le port source (qui sera donc le port destination de la rponse) l'identifiant de la requte TXID (valeur alatoire prvue par le protocole qui permet de distinguer plusieurs requtes simultanes).
Solutions
DNSEC } Mettre en place des filtres antispoof } Installer des Firewall Anti-DDoS } Utiliser la dernire version de BIND et installer rgulirement les patchs de scurit
} Utiliser le protocole
Conclusion: DnsSEC?
DnsSEC est un ensemble de protocoles utilisant de la cryptographie symtrique et/ou asymtrique incorporant un systme de stockage et de publication des cls publiques. Ainsi, il permet de rsoudre les diffrents problmes de scurit lors des transferts de zone, des mises jour et de rendre inoprant le Dns spoofing. A ces nouveauts s'ajoute la compatibilit avec IPv6 et surtout l'interoprabilit des deux systmes d'adressages, ce qui en fait un systme trs complexe. Les dernires versions de Bind 9 incorporent ces dernires possibilits, mais il faudrait un dploiement l'chelle mondiale pour que le systme soit rellement utilisable.