• Aucun résultat trouvé

Le service de nom : DNS

N/A
N/A
Protected

Academic year: 2022

Partager "Le service de nom : DNS"

Copied!
45
0
0

Texte intégral

(1)

Le service de nom : DNS

Cyril Rabat

[email protected]

Master 2 ASR - Info09115 - Architecture des réseaux d’entreprise

2012-2013

Cours n°8

DNS : schéma de nommage, protocole

Version 29 septembre 2012

(2)

Table des matières

1 Présentation du DNS Introduction

L’espace de nommage

2 La base de données DNS Resource record Les zones

3 Le protocole DNS Format des messages Les requêtes

4 Sécurité et fiabilité du DNS

(3)

Présentation du DNS

Table des matières

1 Présentation du DNS Introduction

L’espace de nommage

2 La base de données DNS Resource record Les zones

3 Le protocole DNS Format des messages Les requêtes

4 Sécurité et fiabilité du DNS

(4)

Présentation du DNS Introduction

Motivations

Problème

Pour communiquer avec un hôte TCP/IP, il est nécessaire de connaître son adresse IP

Exemple de l’Université de Reims

194.57.104.111

194.57.104.110 194.57.105.60 194.57.105.10

Comment récupérer l’adresse IP d’un hôte à partir de son nom ?

•••

(5)

Présentation du DNS Introduction

Motivations

Problème

Pour communiquer avec un hôte TCP/IP, il est nécessaire de connaître son adresse IP

Solution

Pour éviter l’utilisation directe des adresses IP, un nom est associé aux hôtes

Exemple de l’Université de Reims

194.57.105.10

194.57.104.110 cas.univ−reims.fr annuaires.univ−reims.fr

194.57.105.60

ebureau.univ−reims.fr 194.57.104.111 www.univ−reims.fr

Comment récupérer l’adresse IP d’un hôte à partir de son nom ?

•••

(6)

Présentation du DNS Introduction

Motivations

Problème

Pour communiquer avec un hôte TCP/IP, il est nécessaire de connaître son adresse IP

Solution

Pour éviter l’utilisation directe des adresses IP, un nom est associé aux hôtes

Exemple de l’Université de Reims

194.57.105.10

194.57.104.110 cas.univ−reims.fr annuaires.univ−reims.fr

194.57.105.60

ebureau.univ−reims.fr 194.57.104.111 www.univ−reims.fr

Comment récupérer l’adresse IP d’un hôte à partir de son nom ?

•••

(7)

Présentation du DNS Introduction

Historique

Description

Jusqu’en 1984 : la transcription des noms d’hôtes en adresses IP s’appuie sur une table de correspondance

Cette table est contenue dans un fichier texte, maintenue par le NIC (pour Network Information Center)

,→ Ce fichier est transféré par FTP à l’ensemble des hôtes Sous Unix, utilisation d’un fichier localhosts :

Présent sur chaque machine (/etc/hosts)

Fichier texte contenant des correspondances IP / nom Problèmes de ce type de solutions :

Difficultés de mise à jour

Taille des fichiers avec l’explosion d’Internet

(8)

Présentation du DNS Introduction

Le DNS

Généralités

Le DNS pourDomain Name Systemest un système décentralisé de gestion de noms et d’adresses (RFC 1034 et 1035)

C’est un schéma de nommage, un système de base de données distribué et un protocole

Propriétés

Système distribué: coopération d’un très grand nombre de serveurs administrés de manière autonome

Fiable : résistance aux pannes et redondance, réplication des bases Efficace : trafic et réponses locaux le plus possible, forte répartition des données, agglomération et mécanisme de cache

Extensible : différents types de mapping et d’informations, forte indépendance de chaque partie élémentaire de la base

(9)

Présentation du DNS Introduction

Fonctionnement général

répartie Base de données requête

réponse

demandeur requête

réponse

Programme Cache

Hôte Serveur DNS

Resolver

Explications

Le client DNS (appelé resolver) est un programme de typedaemon Il permet de résoudre les correspondances nom/adresse lorsqu’une application le demande :

Soit la réponse est en cache

Soit leresolverinterroge un serveur de nom distant

(10)

Présentation du DNS Introduction

Nom de domaine et URL

À ne pas confondre

m u n i vr e i s . f r .

w w w / / : p t t h

nom de la machine extension

URL nom de domaine

m

chemin ressource

/ p r o f i l s / e t u d i a n t . h t l

URL pourUniform Resource Locator appelé aussiadresse Web ,→ Correspond à une ressource Internet

URL absolue : nom complet Nom de domaine :

nom + extension (ou suffixe) + sous-domaine Insensible à la casse

Composé uniquement des caractères A à Z, 0 à 9, “-”

,Nationalisation des noms de domaine avec l’IDN (utilisation d’alphabets nationaux)

(11)

Présentation du DNS L’espace de nommage

Structure arborescente des noms

Espace de nommage

L’espace de nommage est architecturé suivant un arbre Une seule racine :

,→ L’arbre de nommage est globalementunique Un nom est composé au maximum de 255 caractères Au maximum 127 niveaux, 1 à 63 caractères par niveau

. org

wikipedia com

google

www

arpa in−addr

194 57 104 113 fr

univ−reims

www ebureau

(12)

Présentation du DNS L’espace de nommage

Composants d’un nom d’hôte

Description Label :

Chaque nœud de l’arbre est identifié par un label de 1 à 63 octets ,Sauf la racine qui a un label de 0

Un label est unique sur un niveau donné Le label de la racine est “.”

Nom d’hôte :

Chemin d’un nœud vers la racine

,Constitué par une succession de labels séparés par un “.”

Maximum de 255 octets “.” compris Appelé en DNS leDomain Name

Un nom complet avec “.” final est appelé FQDN : ,→ PourFully Qualified Domain Name

(13)

Présentation du DNS L’espace de nommage

TLD : Top-Level Domains (1/2)

Description

Nœuds de premier niveau dans l’arbre DNS :

,→ Co-supervisés par l’IAB et IANA, INTERNIC et ICANN Deux types : les gTLD et les ccTLD

Les gTLD

TLD génériques (gTLD pour generic TLD) : Historiques : .com, .edu, .gov, .int, .mil, .net, .org

Créés après 2000 : .aero, .biz, .coop, .info, .museum, .name, .pro Créés après 2005 : .cat, .jobs, .mobi, .travel, .asia, .mail, .post, .tel. . . Il existe 2 types de gTLD :

sTLD (sponsored TLD) réservé à une communauté :

,L’accès restreint est géré par une agence privée ou des organisations ,Exemples: .asia, .gov, .edu. . .

LesunsponsoredTLD

(14)

Présentation du DNS L’espace de nommage

TLD : Top-Level Domains (2/2)

Les ccTLD

TLD nationaux (ccTLD pourcountry code TLD) Liste normalisée ISO3166 ≈2500 pays

Gestion confiée à des organismes nationaux (Registry) Commercialisée par des organismes privés (Registrar) Exemple : en France, c’est l’AFNIC (.fr)

Quelques TLD particuliers

.arpa : gTLD historique réutilisé pour des mécanismes spécifiques tels que le reverse DNSou ENUM

.example, .test, .invalid : expérimentation et documentation .localhost : TLD conventionnel mais non officiel pour localhost=127.0.0.1

(15)

La base de données DNS

Table des matières

1 Présentation du DNS Introduction

L’espace de nommage

2 La base de données DNS Resource record Les zones

3 Le protocole DNS Format des messages Les requêtes

4 Sécurité et fiabilité du DNS

(16)

La base de données DNS Resource record

Le typage des informations partagées par DNS

Description

Un même nom DNS peut être associé à plusieurs données de types différents :

Adresse IPv4, adresse IPv6, relais de messagerie. . .

Un même nom peut avoir plusieurs valeurs différentes pour un même type : ,Plusieurs machines associées à un même nom (redondance)

Les données sont stockées dans une base de données répartie

L’ensemble des informations de la base de données DNS est structuré autour desResource Record

Resource records

www.l.google.com, IN, AAAA, 2a00:1450:4007:800::68 www.l.google.com, IN, A, 66.249.92.104

www.google.fr, IN, CNAME, www.google.com www.google.com, IN, CNAME, www.l.google.com

Serveur DNS Base de données

(17)

La base de données DNS Resource record

RR : Resource Record

Description des champs

{ Nom-Domaine Type Classe TTL Longueur Données} Nom-Domaine : nom absolu de l’espace de nommage DNS (FQDN) Type : type des données

A : traduction nom/adresse PTR : traduction adresse/nom CNAME : nom canonique (alias)

MX : Mail eXchange (serveur de messagerie) NS : nom du serveur de nom pour le domaine SOA : début d’une zone d’autorité

Classe : généralement IN pour Internet

TTL : durée de vie de l’objet dans les caches en secondes Longueur : longueur des données

Données : valeur de l’objet (associée au type)

(18)

La base de données DNS Les zones

Le découpage en zones

Description

L’ensemble de la base de données est divisée en zones ,→ Distribuées sur les serveurs de noms

Le découpage est réalisé : Par classe

Suivant des coupes dans l’espace de noms

L’ensemble des nœuds interconnectés est appelé une zone Unesphère d’autorisationest associée à cette zone : ,→ L’ensemble des nœuds dépendent de cette sphère

zone .

.fr

.com .org

univ−reims annuaires

ebureau www

(19)

La base de données DNS Les zones

Description d’une zone

Description

Chaque zone possède au moins un nœud et plus particulièrement celui de plus haut niveau :

,→ C’est le nœud le plus proche de la racine ,→ Souvent utilisé pour identifier la zone

Les données d’une zone sont organisées en 4 parties : Les données générales sur chaque nœud de la zone Les données définissant le nœud supérieur de la zone Les données qui décrivent les sous-zones

Les données permettant d’accéder aux serveurs des sous-zones Rappel: toutes ces données sont stockées dans des RR Une zone est entièrement définie à l’aide d’un jeu de RR Plus particulièrement :

Des RR identifiant chaque serveur de nom de la zone (type NS) Un RR de type SOA qui décrit les paramètres de gestion de la zone

(20)

La base de données DNS Les zones

Organisation d’une zone (1/2)

Serveur primaire

Serveur d’autorité de la zone

Chaque zone possède un seul serveur primaire Possède un fichier de zone :

,→ L’ensemble des correspondances entre noms et adresses IP des hôtes de sa zone

Serveur secondaire Il permet :

De répondre à des requêtes

De prendre le relais du serveur primaire en cas de panne

Obtient des données de zone via le réseau à partir d’un serveur de nom détenant l’autorité pour la zone considérée

,→ Transfert de zone

(21)

La base de données DNS Les zones

Organisation d’une zone (2/2)

Serveur cache

Constitue sa base de données à partir des réponses de serveurs de noms

Chaque enregistrement à une durée de vie limitée Il n’a aucune autorité sur le domaine :

Pas responsable de la mise-à-jour des données Mais peut répondre aux requêtes de clients

Au final . . .

Le primaire est obligatoire

Le secondaire et le serveur cache sont facultatifs

(22)

La base de données DNS Les zones

Les serveurs racines

Description

Serveur cache connaissant l’ensemble des serveurs de noms ayant autorité sur tous les domaines racines (.fr, .com. . . )

Actuellement 13 serveurs racines associés à une lettre de A à M Les serveurs racines peuvent être répartis physiquement dans différents lieux géographiques

,→ Le serveur J est réparti dans 70 locations

,→ Le serveur D est uniquement à l’Université du Maryland Les différents serveurs sont en fait des miroirs

(23)

La base de données DNS Les zones

Localisation des serveurs racines (1/2)

http://www.root-servers.org

(24)

La base de données DNS Les zones

Localisation des serveurs racines (2/2)

http://www.root-servers.org

(25)

La base de données DNS Exercices

Questionnaire

Il est possible d’avoir plusieurs RR . . .

. . . avec le même nom de domaine et de types différents . . . avec le même nom de domaine et le même type . . . qui ne diffèrent que par les données

. . . avec les mêmes données mais avec un domaine différent

(26)

La base de données DNS Exercices

Questionnaire

Il est possible d’avoir plusieurs RR . . .

. . . avec le même nom de domaine et de types différents . . . avec le même nom de domaine et le même type . . . qui ne diffèrent que par les données

. . . avec les mêmes données mais avec un domaine différent Précisions

Resource records

www.l.google.com, IN, AAAA, 2a00:1450:4007:800::68 www.l.google.com, IN, A, 66.249.92.104

www.google.fr, IN, CNAME, www.google.com www.google.com, IN, CNAME, www.l.google.com

Serveur DNS Base de données

(27)

Le protocole DNS

Table des matières

1 Présentation du DNS Introduction

L’espace de nommage

2 La base de données DNS Resource record Les zones

3 Le protocole DNS Format des messages Les requêtes

4 Sécurité et fiabilité du DNS

(28)

Le protocole DNS Format des messages

Le format général des messages

Nombre d’autorités

Partie autorités Parties informations sup.

Nombre d’informations sup.

Partie réponses

Nombre de réponses Identification

Nombre de questions

Paramètres

Partie questions

1 16 32

Explications

Identification: permet d’associer les réponses aux requêtes Paramètres: indique l’opération (cf ci-après)

Nombre de questions,réponses,autorités etinformations sup. : nombre de questions/réponses/autorités/informations supplémentaires dans la partie correspondante

(29)

Le protocole DNS Format des messages

Le champ paramètre

Rd Ra Zéro Rcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 QR OPCode Aa Tc

Explications

QR : 0 pour question, 1 pour réponse

OPCode: opération (0 pour résolution standard, 1 pour résolution inverse)

Aa: autorité de réponse (0 par d’autorité, 1 autorité sur le domaine) TC : message tronqué (1) ou non (0)

Rd: récursivité demandée (1) ou non (0) Ra : récursivité disponible (1) ou non (0) RCode: indique s’il y a une erreur (0 si aucune)

(30)

Le protocole DNS Format des messages

La partie questions

Nom de domaine

Type demande Classe demande

Explications

Nom de domaine :

Le nom de domaine dont on cherche l’adresse

Chaque label est codé sous la forme “longueur”, “label”

Exemple :

10 u n i v - r e i m s 2 f r 0

Type de demande: nature de la demande 1 pour Type A (adresse IPv4)

2 pour Type NS (nom de domaine de l’hôte ayant autorité sur le domaine concerné)

5 pour CNAME (nom canoniqueiealias) 28 pour AAAA (adresse IPv6) . . .

Classe de demande : généralement à 1 (pour Internet→ IN)

(31)

Le protocole DNS Format des messages

La partie réponse

Long. champ.

Type

ressources

Nom de domaine Classe TTL

Ressources

Explications

Nom de domaine,Type et Classe: voir la partie questions TTL: la durée de vie de la réponse

Longueur champs resources : la longueur du champ ressources Resources: les données correspondant au type

L’adresse IP

Le nom de l’alias . . .

Idem pour les parties autorités et informations supplémentaires

(32)

Le protocole DNS Les requêtes

DNS dans le modèle OSI

Le modèle OSI

2 1 3 4 5 6 7

UDP

IP HTTP

Ethernet

ICMP TCP

DNS

ARP

NNTP IMAP SMTP POP3

DHCP

(33)

Le protocole DNS Les requêtes

TCP vs UDP

Description

Le protocole DNS utilise le protocole UDP pour le transport des messages :

,→ Gain de performances par rapport à TCP

Cependant, la taille maximum des messages est limitée à 512o de données (hors en-tête de 12o)

Si le message est trop gros :

Le message est tronqué à 512o et le bitTcest mis à 1 Le client peut alors émettre une nouvelle requête avec TCP Le port utilisé est 53 pour UDP et pour TCP

À noter que le transfert de zone est obligatoirement en TCP

(34)

Le protocole DNS Les requêtes

Exemple d’une requête DNS

Requête

Exemple avecnslookup www.google.fr La requête générée : www.google.fr. A IN

Réponse

Partie questions :www.google.fr A IN Partie réponses :

www.google.fr CNAME IN 26354 16 www.google.com www.google.com CNAME IN 112226 8 www.l.google.com

www.l.google.com A IN 241 4 66.249.92.104

(35)

Le protocole DNS Les requêtes

Mode itératif (1/2)

Serveur DNS cache

Serveur DNSroot

de zone Serveur DNS

3 − requête

6 − réponse 5 − requête

4 − réponse 2 − réponse

1 − requête

Description

La réponse contient soit la réponse demandée, soit l’adresse du prochain serveur à interroger

Plus simple du côté serveur

(36)

Le protocole DNS Les requêtes

Mode itératif (2/2)

Configuration de plusieurs serveurs DNS

Comme vu précédemment, plusieurs serveurs sont en charge du DNS dans une zone

Si un seul serveur est spécifié :

,→ En cas de panne, le système est inutilisable Avec plusieurs serveurs spécifiés :

,→ Si le premier ne répond pas, le second est intérrogé, etc. . .

Exemple

Soit le domaine univ-reims.fr

Serveur primaire : cleo.univ-reims.fr Serveur secondaire :anne.univ-reims.fr

(37)

Le protocole DNS Les requêtes

Mode récursif (1/2)

Serveur DNS cache

Serveur DNSroot

de zone Serveur DNS

6 − réponse

5 − réponse 4 − requête 3 − réponse

2 − requête

1 − requête

Description

C’est le serveur qui se charge de répercuter la requête Le serveur joue alors le rôle du resolver

(38)

Le protocole DNS Les requêtes

Mode récursif (2/2)

Partie de l’espace de nommage

zone d’autorité flits

india ai robot

cs eng yale edu

cs vu oce

nl

fluit

Exemple d’une requête

Un resolver surflits.cs.vu.nl souhaite connaître l’adresse IP de l’hôtelinda.cs.yale.edu

1 Interrogation decs.vu.nl

2 Interrogation deedu-server.net

3 Interrogation deyale.edu

4 Interrogation decs.yale.edu

(39)

Le protocole DNS Les requêtes

Requêtes inverses (1/2)

Problématique

Comment obtenir le nom associé à une adresse IP ? Les noms de domaine sont indépendants de l’adressage IP Faut-il interroger tous les domaines ?

Résolution

Utilisation du domaine in-addr.arpa

Pour récupérer le nom associé à l’adresse A.B.C.D : ,→ Envoi d’une requête sur D.C.B.A.in-addr.arpa.

La ou les réponses sont constituées de champs de type PTR

(40)

Le protocole DNS Les requêtes

Requêtes inverses (2/2)

Exemple

www.google.fr

’.’

arpa in−addr

0 105 255

0 39 255

0 125 255

255

0 74

Et IPv6 ?

Exemple de cleo.univ-reims.fr (2001:660:4601:1100::4) :

,0.0.0.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.1.1.0.6.4.0.6.6.0.1.0.0.2.ip6.arpa

(41)

Sécurité et fiabilité du DNS

Table des matières

1 Présentation du DNS Introduction

L’espace de nommage

2 La base de données DNS Resource record Les zones

3 Le protocole DNS Format des messages Les requêtes

4 Sécurité et fiabilité du DNS

(42)

Sécurité et fiabilité du DNS

Le déni de service

Définition : déni de service

Résultat d’une attaque dont le but est d’empêcher le bon

fonctionnement d’un service afin d’empêcher les utilisateurs d’y accéder

Exemple: attaque sur les serveurs racines de octobre 2002

Au bout de l’attaque réalisée par déni de service, 7 serveurs sur les 13 serveurs racines ont vu leurs

performances se dégrader

Service attaqué Internet

Pirate

infectée

infectée Machine

infectée

Machine Machine

infectée Machine

00 0 11 1

00 0 11 1

00 0 11 1 00

0 11 1

00 0 11 1

000000 111111

0000 00 1111 11 0000 1111 00 00 00 0

11 11 11 1

(43)

Sécurité et fiabilité du DNS

L’anycast

Principe de l’anycast

Permet d’associer une adresse IP à plusieurs machines physiques Lorsqu’une requête est émise vers une adresse anycast, elle est transmise à la destination la plus proche

Cette technique a été associée au DNS (RFC 3258) Des serveurs racines peuvent ainsi être dupliqués :

La charge est répartie sur plusieurs machines physiques

Cela permet de limiter les effets d’une attaque par déni de service

(44)

Sécurité et fiabilité du DNS

Fragilité du DNS

Description

Sans le DNS, une bonne partie des applications d’Internet sont paralysées :

,→ Cible de nombreuses attaques

Ces attaques sont facilitées grâce au reverse DNS: ,→ De nombreuses informations peuvent être récupérées

Le transfert de zone permet de récupérer toutes les informations d’une zone !

Autre attaque, la pollution du cache DNS : ,→ Envoyer de fausses réponses aux serveurs DNS

Vers des solutions

1 Blocage du transfert de zone depuis l’extérieur

2 Crypter et assurer l’authenticité des échanges

(45)

Bibliographie/ressources

Bibliographie/ressources

Bibliographie

Réseaux & Télécoms, Claude Servin, Dunod Réseaux, Andrew Tanenbaum, Pearson Education DNS & BIND, Paul Albitz et Cricket Liu, O’Reilly

Ressources

www.afnic.fr : l’Association Française pour le Nommage Internet en Coopération (gestion du .fr et .re)

http://www.frameip.com/dns/ : un article très complet sur le DNS gTLD : RFC 1591

DNS : RFC 1034 et 1035

Références

Documents relatifs

[r]

[r]

Pour l’analyse technique nous avons sélectionné un échantillon de 653 élevages (83 % en Prim’Holstein et 11 % en race mixte ; effectif moyen de 76 vaches) avec des saisies

Les données précédentes peuvent être utilisées pour prendre en compte, dans les diagrammes binaires usuels, la saturation de la solution aqueuse en sel. On obtient alors des

FLEXPART montre comment s’effectue la superposition verticale de 2 couches d’origine stratosph´ erique (foliations de tropopause) et de 2 couches d’origine couche limite

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

• Dans le champ Niveau de confiance inscrire la probabilité que la moyenne de la population appartienne à l'intervalle dont les bornes sont données par Limite inférieure et

· Les autres dépenses courantes, c’est-à-dire tous les achats y compris le petit matériel inférieur à 1 000 €, les dépenses de consommables, la