DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore...
Transcript of DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore...
DNS(Domain Name System)
Antonio Lioy< [email protected] >
Politecnico di TorinoDip. Automatica e Informatica
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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