1 le système dns pourquoi ? les communications sont basées sur: les adresses ip pour linternet les...
TRANSCRIPT
1
Le système DNS Pourquoi ?
Les communications sont basées sur: Les adresses IP pour l’Internet Les noms pour l’humain
Besoin d’un mécanisme de mise en correspondance
DNS
Base de données hiérarchique distribuéeImplémentation en couche Application
2
Le service de nommage DNS Découplage entre nom et localisation
www.google.fr 216.239.59.147
Conception À plat .fr, .de, .fi, .be Hiérarchique Centralisée Distribuée Racine
.
de fr uk
univ-reims.fr
chalons.univ-reims.fr
Conceptionhiérarchique
Conceptioncentralisée
Conceptiondistribuée
.fr.de.uk
.
3
Fonctionnalités Espace de noms de domaines
Arborescence indépendante de la topologie réseau
Architecture de stockage distribuée Zones affectées à des serveurs de noms dans l’arborescence
hiérarchique Serveurs de sauvegarde pour la redondance et la disponibilité
Administration répartie suivant la hiérarchie des noms Rôle le plus simple: client DNS, ou resolver
Protocole client/serveur sur le port 53 (domain) Protocole UDP utilisé par les clients Protocole TCP utilisé pour les échanges entre serveurs
4
DNS: Terminologie
Zone DNS
Une zone est une structure arborescente de l’espace des noms.
Chaque zone comporte les données générales sur chaque noeud de la zone qui définissent le noeud supérieur de la zone qui décrivent les sous-zones qui permettent d'accéder aux serveurs de noms qui gèrent les
sous-zones
5
Zone chalons.univ-reims.fr
DNS: Terminologie
Formation des zones
Racine.
edu com gov mil org net de fr uk
TLD: Top Level Domain
gTLD: geographical Top Level Domain
Légende
univ-reims.fr
chalons.univ-reims.fr
ns1 ns2 www rt gim
Sous-zone de univ-reims.fr
Types de serveurs
Chaque zone comporte des serveurs redondants:
Serveur primaire Serveur unique Administré manuellement Contient les enregistrements originaux dans le fichier de zone
Serveur secondaire Serveur(s) redondant(s) (nombre illimité) Administré(s) automatiquement par ‘transfert’ des enregistrements de
zone du serveur primaire Partage la charge Permet de secourir le serveur primaire en cas de panne Peut gérer jusqu’à 10 serveurs primaires.
7
DNS: Résolution Deux modes symétriques de fonctionnement:
Résolution directe
A partir d’un FQDN, on désire connaître l’adresse IP
Résolution inverse
A partir de l’adresse IP, on désire connaître le FQDN
8
Fonctionnement en résolution locale Mode de résolution locale
A
B
1
2
3
1Quelle est l’adresse de B ?
2L’adresse de B est « @B »
3 Message à B
9
Fonctionnement en résolution distante
Utilisation du cache DNS
A
B
1
2
3
1Quelle est l’adresse de B ?
2L’adresse de B est « @B »
3 Message à B
La réponse du cache ne fait pas autorité !
Exemple
Une réponse à une requête DNS ne fait pas autorité si le serveur DNS utilisé formule une réponse provenant de son cache
Microsoft Windows XP [version 5.1.2600](C) Copyright 1985-2001 Microsoft Corp.
C:\>nslookup www.free.frServeur : dns2.proxad.netAddress: 212.27.54.252
Réponse ne faisant pas autorité :Nom : www.free.frAddress: 212.27.48.10
C:\>
11
Fonctionnement en résolution distante
Utilisation du mode itératif
A
www
12
34
56
7
12
Fonctionnement en résolution distante
Mode récursif de résolution distante
A
www
1
2
8
34
56
7
9
1 Q: @(www.google.fr.) ?
4 Q: @(google.fr,NS) ?
6 Q: @(www.google.fr,PTR) ?
8 Message à i.j.k.l
Q: @(fr.,NS) ?2
3 R: ns.fr. = a.b.c.d
5R: ns1.google.fr. = e.f.g.h
7 R: www.google.fr = i.j.k.l
13
Gestion du cache Conservation des résultats des requêtes en mémoire
(résolue ou non !)
Optimise la charge des hôtes supérieurs
Les enregistrements ont une durée de validité (TTL) fixé par le gestionnaire de zone
TTL élevé: Moins de trafic Possibilité de stocker des informations périmées
TTL faible: Plus de trafic Informations à jour
14
Vision hiérarchisée des serveurs Chaque serveur ne maintient qu’un sous-ensemble de
l’arborescence
Chaque serveur contient tous les enregistrements d’hôtes de son domaine
Chaque serveur a besoin de connaître les autres serveurs responsables des autres parties de l’arborescence
Un serveur connaît la liste des serveurs racines
Un serveur racine connaît tous les TLDs et gTLDs
Visibilité pour les dns de chalons.univ-reims.frVisibilité pour les dns de univ-reims.fr
Visibilité
www
rt
gim
ns1
ns2
ns1
ns2
www
16
Les serveurs racines Contiennent la ‘base’ des noms de domaines
Gérés par l’ICANNInternet Corporation For Assigned Names and Numbershttp://www.icann.org/
Répartis sur le globe pour des raisons évidentes de sécurité
17
Les serveurs racines (source: http://root-servers.org)
Lettre Ancienne appellation Operateur Location Adresse IP
A ns.internic.net VeriSign Dulles, Virginia, USA 198.41.0.4
B ns1.isi.edu ISI Marina Del Rey, California, USA IPv4: 192.228.79.201IPv6: 2001:478:65::53
C c.psi.net Cogent Herndon VA; Los Angeles; New York City; Chicago 192.33.4.12
D terp.umd.edu University of Maryland College Park, Maryland, USA 128.8.10.90
E ns.nasa.gov NASA Mountain View, California, USA 192.203.230.10
F ns.isc.org ISCOttawa; Palo Alto; San Jose CA; New York City; San Francisco; Madrid; Hong Kong; Los Angeles; Rome; Auckland;Sao Paulo; Beijing; Seoul; Moscow; Taipei; Dubai; Paris; Singapore; Brisbane; Toronto; Monterrey; Lisbon;Johannesburg; Tel Aviv; Jakarta; Munich; Osaka; Prague; Amsterdam; Barcelona; Nairobi; Chennai; London
IPv4: 192.5.5.241IPv6: 2001:500::1035
G ns.nic.ddn.mil U.S. DoD NIC Vienna, Virginia, USA 192.112.36.4
H aos.arl.army.mil U.S. Army Research Lab Aberdeen Proving Ground, Maryland, USA IPv4: 128.63.2.53IPv6: 2001:500:1::803f:235
I nic.nordu.net AutonomicaStockholm; Helsinki; Milan; London; Geneva; Amsterdam; Oslo; Bangkok; Hong Kong; Brussels; Frankfurt; Ankara;Bucharest; Chicago; Washington DC; Tokyo; Kuala Lumpur; Palo Alto; Jakarta; Wellington; Johannesburg; Perth;San Francisco; New York; Singapore; Miami; Ashburn (US); Mumbai; Beijing
192.36.148.17
J VeriSign Dulles VA (4 locations); Mountain View CA; Seattle WA; Atlanta GA; Los Angeles CA;Miami FL; Sunnyvale CA; Amsterdam; Stockholm; London; Tokyo; Seoul; Singapore 192.58.128.30
K RIPE NCC London (UK); Amsterdam (NL); Frankfurt (DE); Athens (GR); Doha (QA); Milan (IT); Reykjavik (IS); Helsinki (FI);Geneva (CH); Poznan (PL); Budapest (HU); Abu Dhabi (AE); Tokyo (JP); Brisbane (AU); Miami (US); Delhi (IN)
IPv4: 193.0.14.129IPv6: 2001:7fd::1
L ICANN Los Angeles, California, USA 198.32.64.12
M WIDE Project Tokyo; Seoul (KR); Paris (FR) IPv4: 202.12.27.33IPv6: 2001:dc3::35
18
Les serveurs racine, Domaine de l’APNIC(source: http://www.apnic.net)
APNIC: Asia Pacific Network Information CenterSource: http://www.apnic.net/
19
Le roadmap de l’APNIC 12/2005 F-Root nameservers installed in Karachi, Pakistan and Dhaka, Bangladesh 08/2005 3 root nameservers installed in India:F-Root (Chennai), I-Root (Mumbai), K-Root (Noida). 06/2005 K-Root installed in Brisbane, Australia. 04/2005 K-Root installed in Tokyo, Japan 03/2005 I-Root installed in Jakarta, Indonesia. 10/2004 F-Root installed in Osaka, Japan. 09/2004 I-Root installed in Bangkok, Thailand. 08/2004 I-Root installed in Kuala Lumpur, Malaysia 07/2004 M-Root installed in Seoul, Korea. 06/2004 F-Root installed in Jakarta, Indonesia. 02/2004 F-Root installed in Brisbane, Australia 12/2003 F-Root installed in Singapore. 12/2003 F-Root, installed in Taipei, Taiwan. 11/2003 F-Root installed in Hong Kong. 10/2003 F-Root installed in Beijing, People's Republic of China. 08/2003 F-Root installed in Seoul, Korea 07/2003 F-Root installed in Auckland, New Zealand 01/2003 APNIC calls for Expressions of Interest for support of APNIC PoPs 11/2002 APNIC announces project to bring new root server sites into the Asia Pacific region 08/1997 M-Root installed in Tokyo, Japan
20
Le service de nommage DNS Sensibilité aux attaques…
Le 21 octobre 2002, 9 de ces 13 serveurs racines ont subi simultanément une attaque par déni de service distribué (DDoS) pendant une heure.Voici les statistiques d'octobre 2002 pour le serveur H-Root (nombre de requêtes par seconde) :
L'attaque est cependant passée pratiquement inaperçue, grâce au mécanisme de cache utilisé par les serveurs DNS
21
DNS: Terminologie FQDN: Fully Qualified Domain Name
C’est le nom absolu d’un hôte sur l’Internet
Exemple:
www.google.fr
Donne la vision hiérarchique: La première chaîne (avant le 1er point) est le nom de l’hôte Le reste constitu le domaine de l’hôte
22
Configuration du client: Les redirecteurs Rôle:
Les redirecteurs servent à indiquer qui l’hôte doit interroger pour effectuer une résolution
Configuration
Le client doit avoir connaissance des serveurs DNS de son organisation, ou de son FAI
En général, récupération automatique (via PPP, BOOTP ou DHCP)
23
Le service de nommage DNS En pratique
Configuration du resolver
Configuration de NSS (Name Service Switch)
Attention:
Hôte client (ie non serveur DNS):indiquer les serveurs de l’organisation (ou du FAI)
Serveur DNS:l’adresse du redirecteur est lui-même !!
saphir:~# cat /etc/resolv.confsearch chalons.univ-reims.frnameserver 192.168.10.1nameserver 192.168.10.10
saphir:~# cat /etc/nsswitch.conf…hosts: files dns…
24
Le service de nommage DNS Configuration du serveur: les bases de données
La base de données DNS est constituée d’enregistrements (RR: Resource Record) de la forme:
classe type valeur
Les classes:
IN: Internet (TCP/IP)CH: Chaosnet (ancien concurrent de TCP/IP)
25
Le service de nommage DNS Les types de la classe IN (Internet):
A adresse IPv4
AAAA adresse IPv6
NS serveur DNS (Name Server)
CNAME alias (Canonical Name)
HINFO information sur le système d’hôtene devrait pas être utilisé
MX serveur de messagerie (Mail eXchange)
PTR adressage inversé (Pointer)adresse IP vers l’hôte
SOA déclaration de zone (Start Of Authority)
26
Le service de nommage DNS Les types de la classe CH (Chaosnet)
version.bind numéro de version de bind (dangereux !!!)
authors.bind liste des auteurs du logiciel DNS
27
Le service de nommage DNS Les outils
host
Utilitaire permettant d’effectuer une recherche DNS en direct
en indirect
debian:# host www.free.frwww.free.fr has address 213.228.0.42
debian:# host 213.228.0.4242.0.228.213.in-addr.arpa domain name pointer www1.free.fr.
Notation inversein-addr: adresse internetracine arpanet
28
Le service de nommage DNS Les outils
host (suite)
-c classe IN ou CH
-r mode récursif
-T mode TCP
-t ns|mx|… type d’enregistrement
debian:/etc/bind# host -t ns chalons.univ-reims.frchalons.univ-reims.fr name server ns1.chalons.univ-reims.fr.chalons.univ-reims.fr name server mercure.chalons.univ-reims.fr.debian:/etc/bind# host -t mx chalons.univ-reims.frchalons.univ-reims.fr mail is handled by 10 pandore.chalons.univ-reims.fr.
29
Le service de nommage DNS Les outils
dig
debian:~# dig www.google.fr
; <<>> DiG 9.2.4 <<>> www.google.fr;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41070;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:;www.google.fr. IN A
;; ANSWER SECTION:www.google.fr. 1357 IN CNAME www.google.com.www.google.com. 580 IN CNAME www.l.google.com.www.l.google.com. 115 IN A 64.233.183.147www.l.google.com. 115 IN A 64.233.183.99www.l.google.com. 115 IN A 64.233.183.104
;; Query time: 43 msec;; SERVER: 212.27.54.252#53(212.27.54.252);; WHEN: Thu Dec 22 15:20:20 2005;; MSG SIZE rcvd: 127
30
debian:~# dig google.fr soa
; <<>> DiG 9.2.4 <<>> google.fr soa;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41753;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:;google.fr. IN SOA
;; ANSWER SECTION:google.fr. 3600 IN SOA ns1.google.com. dns-admin.google.com. 2005111201 28800 3600 1038800 60
;; Query time: 73 msec;; SERVER: 212.27.54.252#53(212.27.54.252);; WHEN: Thu Dec 22 15:19:16 2005;; MSG SIZE rcvd: 87
Le service de nommage DNS Les outils
dig: Interrogation par type d’enregistrement
debian:/etc/bind# dig google.fr mx
; <<>> DiG 9.2.4 <<>> google.fr mx;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61746;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:;google.fr. IN MX
;; ANSWER SECTION:google.fr. 1800 IN MX 10 smtp1.google.com.google.fr. 1800 IN MX 20 smtp2.google.com.google.fr. 1800 IN MX 30 smtp3.google.com.
;; Query time: 67 msec;; SERVER: 212.27.54.252#53(212.27.54.252);; WHEN: Thu Dec 22 15:18:05 2005;; MSG SIZE rcvd: 103
debian:~# dig google.fr ns
; <<>> DiG 9.2.4 <<>> google.fr ns;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28296;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:;google.fr. IN NS
;; ANSWER SECTION:google.fr. 730 IN NS ns1.google.com.google.fr. 730 IN NS ns2.google.com.google.fr. 730 IN NS ns3.google.com.google.fr. 730 IN NS ns4.google.com.
;; Query time: 43 msec;; SERVER: 212.27.54.252#53(212.27.54.252);; WHEN: Thu Dec 22 15:18:55 2005;; MSG SIZE rcvd: 109
31
Le service de nommage DNSdebian:~# dig +trace www.google.fr; <<>> DiG 9.2.4 <<>> +trace www.google.fr;; global options: printcmd. 818 IN NS J.ROOT-SERVERS.NET.. 818 IN NS K.ROOT-SERVERS.NET.. 818 IN NS L.ROOT-SERVERS.NET.. 818 IN NS M.ROOT-SERVERS.NET.. 818 IN NS F.ROOT-SERVERS.NET.. 818 IN NS G.ROOT-SERVERS.NET.. 818 IN NS H.ROOT-SERVERS.NET.. 818 IN NS I.ROOT-SERVERS.NET.;; Received 228 bytes from 212.27.54.252#53(212.27.54.252) in 44 ms
fr. 172800 IN NS A.EXT.NIC.fr.fr. 172800 IN NS C.EXT.NIC.fr.fr. 172800 IN NS C.NIC.fr.fr. 172800 IN NS A.NIC.fr.fr. 172800 IN NS B.NIC.fr.fr. 172800 IN NS D.EXT.NIC.fr.fr. 172800 IN NS E.EXT.NIC.fr.fr. 172800 IN NS E.NIC.fr.fr. 172800 IN NS B.EXT.NIC.fr.;; Received 411 bytes from 192.58.128.30#53(J.ROOT-SERVERS.NET) in 76 ms
google.fr. 345600 IN NS ns2.google.com.google.fr. 345600 IN NS ns3.google.com.google.fr. 345600 IN NS ns4.google.com.google.fr. 345600 IN NS ns1.google.com.;; Received 177 bytes from 193.51.208.14#53(A.EXT.NIC.fr) in 58 ms
www.google.fr. 345600 IN CNAME www.google.com.www.google.com. 900 IN CNAME www.l.google.com.l.google.com. 86400 IN NS a.l.google.com.l.google.com. 86400 IN NS b.l.google.com.l.google.com. 86400 IN NS c.l.google.com.l.google.com. 86400 IN NS d.l.google.com.l.google.com. 86400 IN NS e.l.google.com.l.google.com. 86400 IN NS g.l.google.com.;; Received 271 bytes from 216.239.34.10#53(ns2.google.com) in 70 ms
32
Le service de nommage DNSrubis:~# dig @j.root-servers.net fr; <<>> DiG 9.2.4 <<>> @b.root-servers.net fr;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36837;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 9, ADDITIONAL: 12
;; QUESTION SECTION:;fr. IN A
;; AUTHORITY SECTION:fr. 172800 IN NS A.EXT.NIC.fr.fr. 172800 IN NS C.EXT.NIC.fr.fr. 172800 IN NS C.NIC.fr.fr. 172800 IN NS A.NIC.fr.fr. 172800 IN NS B.NIC.fr.fr. 172800 IN NS D.EXT.NIC.fr.fr. 172800 IN NS E.EXT.NIC.fr.fr. 172800 IN NS E.NIC.fr.fr. 172800 IN NS B.EXT.NIC.fr.
;; ADDITIONAL SECTION:A.EXT.NIC.fr. 172800 IN A 193.51.208.14C.EXT.NIC.fr. 172800 IN A 128.112.129.15C.NIC.fr. 172800 IN AAAA 2001:660:3006:1::1:1C.NIC.fr. 172800 IN A 192.134.0.49A.NIC.fr. 172800 IN A 192.93.0.1B.NIC.fr. 172800 IN AAAA 2001:660:3005:1::1:2B.NIC.fr. 172800 IN A 192.93.0.4D.EXT.NIC.fr. 172800 IN AAAA 2001:4f8:0:2::8D.EXT.NIC.fr. 172800 IN A 204.152.184.85E.EXT.NIC.fr. 172800 IN A 193.176.144.6E.NIC.fr. 172800 IN A 194.57.253.1B.EXT.NIC.fr. 172800 IN A 192.228.90.21
;; Query time: 240 msec;; SERVER: 192.228.79.201#53(b.root-servers.net);; WHEN: Thu Dec 22 09:08:15 2005;; MSG SIZE rcvd: 400
Le service de nommage DNS
Configuration Fichier de zone: /etc/bind/named.conf
options {…
};
// prime the server with knowledge of the root serverszone "." {
type hint;file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for// broadcast zones as per RFC 1912zone "localhost" {
type master;file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {type master;file "/etc/bind/db.127";
};
zone "lpisvd.org" {type master;file "db.lpisvd.org";
};
zone "0.168.192.in-addr.arpa" {type master;file "db.lpisvd.org.reverse";
};
34
Le service de nommage DNS
Configuration Fichier de zone directe
$TTL 604800@ IN SOA localhost. root.localhost. (
2 ; Serial 604800 ; Refresh 86400 ; Retry
2419200 ; Expire 604800 ); Negative Cache TTL;
lpisvd.org. IN NS debian.lpisvd.org.debian IN A 192.168.0.9pc1 IN A 192.168.0.2pc2 IN A 192.168.0.6
35
Le service de nommage DNS
Configuration Fichier de zone inverse
$TTL 604800@ IN SOA localhost. root.localhost. (
2 ; Serial 604800 ; Refresh 86400 ; Retry
2419200 ; Expire 604800 ); Negative Cache TTL;
@ IN NS debian.coredumped.org.9 IN PTR debian2 IN PTR pc16 IN PTR pc2
36
Le service de nommage DNS Bibliographie:
DNS: Philippe LATU (Linux France)