Copyright © S.Urbanovski1 Domain Name System
Copyright © S.Urbanovski2 Problématique ● Adresses IP nécessaires pour communiquer ● Difficiles à mémoriser ● Liées à la topologie du réseau Utilisation de noms en toute lettre
Copyright © S.Urbanovski3 Vocabulaire Host name / Nom d'hôte (ou alias) Top Level Domain (TLD) Full Qualified Domain Name (FQDN) / Nom pleinement qualifié URL / URI Adresse relative Adresse IP : Protocole Résolution inverse : brassens.heberge.info. Domain name / Nom de domaine
Copyright © S.Urbanovski4 Domaines hiérarchiques. (Point) com info edu net org fr it de april aful mirabellug rmll www mail Racine, gérée par les Root servers Top Level Domains servers SOA Domain servers
Copyright © S.Urbanovski5 Gestion des noms de domaine ● TLD contrôlé par l'ICANN (Internet Corporation for Assigned Names and Numbers) ● Délègue la gestion aux registry – Verisign pour les gTDL génériques (.com,.net,.org,.biz,.name,.info, etc...) – Affnic pour.fr et.re ● La partie commerciale est confiée aux registrar (Gandhi, BT, Nerim, etc...)
Copyright © S.Urbanovski6 Root servers ● Appartiennent au domaine. ● Contrôlent les TLD ● Opérés par Verisign, Nasa, Ripe, Isc ● Utilisent bind ou nsd ● 13 root servers (au sens IP) ● Adresse en lettre.root-servers.net – lettre de a à m ● Plusieurs utilisent anycast
Copyright © S.Urbanovski7 Serveur anycast
Copyright © S.Urbanovski8 Fonctionnement hiérarchique ROOT servers (.) Serveurs gérant les Top Level Domains (.fr,.org,.com,.net,...) Serveurs faisant autorité sur un domaine (rmll.info, mirabellug.org,...) Serveurs DNS caches des FAI Clients Serveurs DNS locaux (cache et éventuellement domaine privé) Serveur DNS cache indépendant Clients
Copyright © S.Urbanovski9 Récursivité ou pas ? ● Récursivité sur les DNS caches – Réservé aux clients légitimes ● Pas de récursivité sur les SOA
Copyright © S.Urbanovski10 Maîtres et esclaves DNS Master DNS Slave DNS Slave NOTIFY XFER ZONE XFER ZONE Serveurs SOA
Copyright © S.Urbanovski11 Différents types d'enregistrements A : l'adresse IPV4 lié à un nom d'hôte AAAA : l'adresse IPV6 PTR (pointer record) : le nom associé à une adresse IP CNAME (canonical name): alias NS : adresse des serveurs DNS faisant autorité sur le domaine MX : adresse des serveurs SMTP du domaine TXT : texte libre
Copyright © S.Urbanovski12 TTL ● Time to Live ● Durée de vie d'un enregistrement ou d'une zone ● A prendre en compte lors d'un changement en production
Copyright © S.Urbanovski13 Le protocole DNS ● Décrit par les RFC 1034 et 1035 ● Principalement en UDP ● Port 53
Copyright © S.Urbanovski14 Ordre de résolution par le client Fixé par le fichier /etc/nsswitch.conf : ● - Recherche statique dans un fichier (cf. /etc/hosts) ● - Recherche dynamique par DNS (cf. /etc/resolv.conf) ● Autre : LDAP, NIS, WINS, etc... hosts: files dns 127,0,0,1localhost www.mirabellug.org
Copyright © S.Urbanovski15 Configuration du resolver nameserver search mondomaine.local Contenu de /etc/resolv.conf : ● - Adresses de un ou plusieurs DNS ● - Nom de domaine à utiliser pour les recherches simples (nom d'hôte seul)
Copyright © S.Urbanovski16 La commande host Résolution directe : Résolution inverse : $ host has address $ host is an alias for mescaline.april.org. mescaline.april.org has address $ host in-addr.arpa domain name pointer brassens.heberge.info in-addr.arpa domain name pointer primary.heberge.info. $ host in-addr.arpa domain name pointer ns1.april.org.
Copyright © S.Urbanovski17 La commande dig $ dig ; > DiG P1 > ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 2 ;; QUESTION SECTION: ; IN A ;; ANSWER SECTION: 60 IN CNAME mescaline.april.org. mescaline.april.org. 60 IN A ;; AUTHORITY SECTION: IN NS M.ROOT-SERVERS.NET IN NS I.ROOT-SERVERS.NET IN NS A.ROOT-SERVERS.NET IN NS B.ROOT-SERVERS.NET IN NS H.ROOT-SERVERS.NET IN NS G.ROOT-SERVERS.NET IN NS L.ROOT-SERVERS.NET IN NS D.ROOT-SERVERS.NET IN NS K.ROOT-SERVERS.NET IN NS E.ROOT-SERVERS.NET IN NS C.ROOT-SERVERS.NET IN NS J.ROOT-SERVERS.NET IN NS F.ROOT-SERVERS.NET. ;; ADDITIONAL SECTION: A.ROOT-SERVERS.NET IN A A.ROOT-SERVERS.NET IN AAAA 2001:503:ba3e::2:30 ;; Query time: 296 msec ;; SERVER: #53( ) ;; WHEN: Sun Apr 19 12:38: ;; MSG SIZE rcvd: 326
Copyright © S.Urbanovski18 Cas particuliers ● Attribution de plusieurs adresses IP à un nom DNS => répartition de la charge sur plusieurs serveurs (Round-Robin DNS) ● Résolution différente en fonction de la source => différencier les services Internet et intranet ● Sender Policy Framework (SPF) ● Mise à jour par DHCP
Copyright © S.Urbanovski19 DNS et securité ● DNS cache poisoning ● ID spoofing ● Attaque par amplification (DDOS) ● Tunnel DNS ● TCP ● DNSSEC