dns (domain name system)lioy/01nbe/dns.pdf · 2 days ago · dns (domain name system) ogni gestore...

22
DNS (Domain Name System) Antonio Lioy < [email protected] > Politecnico di Torino Dip. Automatica e Informatica

Upload: others

Post on 23-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

DNS(Domain Name System)

Antonio Lioy< [email protected] >

Politecnico di TorinoDip. Automatica e Informatica

Page 2: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

DNS (Domain Name System) sistema Internet per corrispondenza nomi:indirizzi dominio diretto: nome > indirizzi

FQDN (fully Qualified Domain Name) es. www.polito.it

dominio inverso: indirizzo > nomi associato a dominio fittizio .in-addr.arpa.

es. 1.1.168.192.in-addr.arpa. sistema gerarchico e distribuito:

nessun server mantiene il DB completo lo spazio dei nomi (e degli indirizzi) è diviso in "zone",

ognuna può contenere altre zone

© A.Lioy (Politecnico di Torino, 2019-2020) 2

Page 3: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record

sul proprio nameserver (NS) possibilmente duplicato protocollo DNS:

53/udp = query e risposte 53/tcp = trasferimenti dati "bulk" tra nameserver

RFC-1034 “Domain names: concepts and facilities” RFC-1035 “Domain names: implementation and

specification”

© A.Lioy (Politecnico di Torino, 2019-2020) 3

Page 4: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Architettura DNS (query iterativa)

NS (de.)

root NS (.)

NS(fiat.it.)

NS (it.)

NS(polito.it.)

utente

client

(local) NS cache

DNS

Q1

Q2Q3

© A.Lioy (Politecnico di Torino, 2019-2020) 4

Page 5: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Architettura DNS (query recursiva)

NS (de.)

root NS (.)

NS(fiat.it.)

NS (it.)

NS(polito.it.)

utente

client

(local) NS cache

DNS

Q1

Q2

Q3

© A.Lioy (Politecnico di Torino, 2019-2020) 5

Page 6: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

I record DNS (RR = Resource Record) A address (IPv4) AAAA address (IPv6) PTR nome CNAME alias NS nameserver SOA Start-Of-Authority MX mail exchanger HINFO host + O.S. TXT text WKS well-known services

© A.Lioy (Politecnico di Torino, 2019-2020) 6

Page 7: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

DNS: PDU (request / response)

#answer RRs

questions (variable #)

0 16 31

#questions

identification flags

15

#additional RRs#authority RRs

answers (variable # of RRs)

authority (variable # of RRs)

additional info (variable # of RRs)

© A.Lioy (Politecnico di Torino, 2019-2020) 7

Page 8: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

DNS PDU identification (16 bit):

query ID (nelle richieste) risposte usano l'ID della richiesta a cui rispondono

flag: query / reply recursion desired recursion available reply is authoritative

questions lista di (nome, tipo) per cui si chiede risposta

© A.Lioy (Politecnico di Torino, 2019-2020) 8

Page 9: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Tipi di DNS server root

info sui domini di primo livello primary

master per una zona (definito con SOA) secondary

slave per una zona (definito con NS) forwarder

inoltra le domande alla gerarchia DNS caching

ricorda le query effettuate (e le risposte!) un server può essere di più tipi (compatibili)

© A.Lioy (Politecnico di Torino, 2019-2020) 9

Page 10: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Root nameserver i root NS mantengono le informazioni sui domini di primo

livello tredici root NS (logici):

A.ROOT-SERVERS.NET. . . . M.ROOT-SERVERS.NET. 10 USA, 2 Europa, 1 Giappone

... ma 1092 server fisici (mar-2020) grazie ad anycast nomi e mappa http://root-servers.org/ elenco testuale https://www.internic.net/domain/named.root

© A.Lioy (Politecnico di Torino, 2019-2020) 10

Page 11: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Primary nameserver è il NS master di una zona è identificato tramite il record SOA è quello su cui l'amministratore della zona effettua le

modifiche

© A.Lioy (Politecnico di Torino, 2019-2020) 11

Page 12: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Record SOA (Start Of Authority) formato:

nome [ TTL ] classe SOAorigine ; hostname del NSriferimento ; e-mail del gestoreaggiornamento ; scadenze varie

tipicamente classe è IN l’e-mail viene scritto con “.” al posto di “@” "aggiornamento" è espresso da cinque interi (racchiusi tra

parentesi tonde) che indicano intervalli di tempo in secondi

© A.Lioy (Politecnico di Torino, 2019-2020) 12

Page 13: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Campo aggiornamento di SOA serial

numero di versione del file refresh

controllo del serial (al reboot dei secondari) retry

tempo prima di riprovare un trasferimento fallito expire

scadenza dei dati minimum

valore di default per il TTL di tutti i dati

© A.Lioy (Politecnico di Torino, 2019-2020) 13

Page 14: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Esempio di SOA il campo serial deve aumentare ad ogni modifica si suggerisce il formato YYYYMMDDNN che permette 100

modifiche al giorno fino al 4294: dovrebbe essere sufficienti :-)

polito.it. IN SOAns.polito.it ; hostname del NSroot.ns.polito.it ; e-mail del gestore

( 1997020305; serial86400 ; refresh (1 day)3600 ; retry transfer (1 hour)604800 ; expire (1 week)172800 ) ; minimum TTL (2 days)

© A.Lioy (Politecnico di Torino, 2019-2020) 14

Page 15: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Secondary nameserver mantiene copia a sola lettura dei dati presi da uno o più NS

primari è obbligatorio che ogni primario abbia almeno un

secondario (consigliati due secondari, di cui almeno uno off-site)

aggiornamento tra primario e secondari: nessun meccanismo immediato automatico aggiornamento automatico alla scadenza della tabella possibile aggiornamento manuale (push o pull) da parte dei

sistemisti

© A.Lioy (Politecnico di Torino, 2019-2020) 15

Page 16: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Forwarder nameserver è un NS che effettua le query per conto di un altro NS (o di

un client) che non può (o non vuole) agganciarsi direttamente al DNS

in pratica, è un DNS-proxy

forwarder NS

DNS client

local NS

DNS

© A.Lioy (Politecnico di Torino, 2019-2020) 16

Page 17: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Caching nameserver non mantiene nessun tipo di dati usato solo per le sue funzionalità di caching, come NS

locale fittizio per diminuire il carico di rete

DNSclient

DNS

cachingNS

cache

nuova query

cachedquery

© A.Lioy (Politecnico di Torino, 2019-2020) 17

Page 18: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Esempio: risoluzione di www.polito.it Q) nslookup www.polito.it. a.root-servers.net

A) tutti i NS di "it." (tra cui dns.nic.it) Q) nslookup www.polito.it. dns.nic.it.

A) i tre NS di "polito.it." (tra cui giove.polito.it) Q) nslookup www.polito.it. giove.polito.it.

Procedura non ripetuta fino a scadenza della cache

Server: giove.polito.itAddress: 130.192.3.24#53

www.polito.it canonical name = webfront-01.polito.it.Name: webfront-01.polito.itAddress: 130.192.181.193

© A.Lioy (Politecnico di Torino, 2019-2020) 18

Page 19: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Authoritative o no? le risposte ad una query DNS sono marcate authoritative

quando sono ottenute direttamente dal server che è SOA per l’informazione richiesta

risposte non-authoritative tutte le volte che sono ottenute tramite una cache (l’informazione reale potrebbe anche essere diversa)

© A.Lioy (Politecnico di Torino, 2019-2020) 19

Page 20: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Prestazioni del DNS le query DNS costituiscono:

carico di rete carico per i server DNS ritardo di avvio per le applicazioni (maggiore latenza)

in particolare attenzione a come si organizzano i NS per la propria Intranet: soluzione 1) primary aziendale gestito in outsourcing dall’ISP,

query continue in rete soluzione 2) primary all’ISP, caching NS in azienda soluzione 3) primary all’ISP, secondary in azienda soluzione 4) primary in azienda, secondary all’ISP

© A.Lioy (Politecnico di Torino, 2019-2020) 20

Page 21: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

AS112 molte (troppe!) query effettuate per risolvere i nomi dei nodi

delle reti "private" (RFC-1918) 10.0.0.0/8 172.16.0.0/12 (ossia 172.16.*.* … 172.31.*.*) 169.254.0.0/16 192.168.0.0/16

configurare il local NS come authoritative per tali reti oppure seguire le indicazioni del progetto AS112:

https://www.as112.net/ NS anycast in 92.175.48.0/24 e 2620:4f:8000::/48

RFC-7534 "AS112 Nameserver Operations"RFC-7535 "AS112 Redirection Using DNAME"RFC-6305 "I'm Being Attacked by PRISONER.IANA.ORG!"

© A.Lioy (Politecnico di Torino, 2019-2020) 21

Page 22: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente

Server "paranoici" circa 10% degli indirizzi usati sono illegali alcuni server applicativi fanno una doppia query al DNS per

verificare l'identità dei client prima di accettarne le richieste

serverapplicativo

DNS

(1.Q) PTR ( 192.168.1.1 )?

(1.R) alfa.nasa.gov(2.Q) A ( alfa.nasa.gov )?

(2.R) 192.168.1.1

192.168.1.1

© A.Lioy (Politecnico di Torino, 2019-2020) 22