Il protocollo e il daemon che danno il nome ad Internet
1 of 43
Download to read offline
More Related Content
Dns e bind
1. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Dns e Bind
il protocollo e il daemon
che danno il nome a Internet
Daniele Albrizio - albrizio@units.it
2. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Parleremo di
Cosa 竪 e come funziona il DNS.
Modello gerarchico distribuito: deleghe, zone
e resource records.
Configurazione di BIND
Internet Governance.
Configurazioni utili a casa.
Configurazioni avanzate e giochini (se
avremo tempo).
3. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Cos'竪 il DNS?
Domain Name System
Restituisce la corrispondenza fra nomi e
indirizzi IP:
www.units.it 140.105.48.93
(risoluzione diretta)
140.105.48.93 www.units.it
(risoluzione inversa)
All'inizio c'era (e c'竪 ancora) il file degli hosts
/etc/hosts
c:windowssystem32driversetchosts
4. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Cos'竪 il DNS?
Per far fronte alla crescita a dismisura del file
degli hosts, nel novembre 1983 la rfc882 a
firma di Paul Mockapetris introduce il DNS
Alcuni diritti riservati a Rrrodrigo
http://www.flickr.com/photos/rrrodrigo/3936038277/sizes/m/
5. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Cos'竪 il DNS?
Il servizio 竪 realizzato tramite:
un database distribuito su server DNS
organizzati secondo
uno schema rigidamente gerarchico di zone e
deleghe
Essendo molto vicino alle basi di Internet, il
sistema e il protocollo devono essere e sono
molto semplici, puliti e scalabili.
6. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Cos'竪 il DNS?
La comunicazione avviene sulla porta UDP
53 e interessa:
Client
Resolver
Server (zone transfer tcp)
Alcuni diritti riservati a trekkyandy
http://www.flickr.com/photos/trekkyandy/345649908/sizes/m/in/photostream/
7. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Client
PC
Mac
Lavatrice
Telecamera
Sistema di allarme
Server di posta
Stampanti
TAC
UPS
Il DNS 竪 pervasivo
nell'uso delle reti locali
e di Internet.
8. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Resolver
E' puntato dal client e parla la lingua dei DNS
Molti DNS sono anche dei resolver.
Si occupa di spezzettare la richiesta del
client e inviarla in maniera ricorsiva ai server
autoritativi fino ad ottenere le informazioni
complete. (竪 il collante del DB distribuito)
Pu嘆 memorizzare temporaneamente
(caching) le risoluzioni o parti di esse
seguendo rigorosamente i TTL (time to live)
impostati dai server autoritativi
9. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Server
Contiene la configurazione (Database) delle
zone per cui 竪 autoritativo
Risponde alle richieste per:
le sue zone
le zone per cui 竪 secondario
le zone che ha in cache (se funge da resolver)
Sincronizza le zone con server primari e
secondari usando il meccanismo di zone
transfer (AXFR - tcp)
10. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Zona
E' identificata da un nome a dominio (ad es.
trieste.it)
Ogni zona
Deve avere un Name Server autoritativo o
primario
Pu嘆 avere uno o pi湛 Name Server secondari
11. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Zone e Deleghe
Su che server sono le
tabelle?
it. root DNS
gov.it. NIC-IT
lavoro.gov.it
RUPA DigitPA
www.lavoro.gov.it
RUPA DigitPA
Chi decide il contenuto
delle zone?
NIC-IT *.it
PCM *.gov.it
MinLavoro
*.lavoro.gov.it
12. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Zone e Deleghe
Ogni zona ha una sola delega
Pi湛 zone possono essere delegate allo
stesso gestore amministrativo (ADMIN-C)
Pi湛 gestori amministrativi possono far gestire
le proprie zone ad un amministratore tecnico
(TECH-C)
14. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Root servers
Sono critici
Sono distribuiti geograficamente
Sono maggiormente presenti dove c'竪 un
maggior uso di risorse
15. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Root servers
Sono governati dallo ICANN, ma non di sua
propriet
Sono gli unici che vengono puntati
staticamente secondo il Root Zone Hints File
distribuita dallo IANA
16. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Server Operator Locations
A VeriSign, Inc. Sites: 6
B Information Sciences Institute Sites: 1
C Cogent Communications Sites: 6
D University of Maryland Sites: 1
E NASA Ames Research Center Sites: 1
F Internet Systems Consortium, Inc. Sites: 49
G U.S. DOD Network Information Center Sites: 6
H U.S. Army Research Lab Sites: 1
I Autonomica Sites: 36
J VeriSign, Inc. Sites: 70
K RIPE NCC Sites: 18
L ICANN Sites: 23
M WIDE Project Sites: 6
Servers in total: 224Servers in total: 224 Fonte root-
servers.org
28/10/2010
17. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
BIND: Berkeley Internet Name Domain
Il pi湛 utilizzato
Anche dai root NS
Scala molto bene
Reference standard
Ha guidato la
crescita di Internet
18. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
BIND
ISC License, a BSD style license, OSI
approved
Gira su tutti i flavours unix-like e su Windows
Si configura tramite
File di configurazione principale named.conf
File di definizione delle zone (boot.zones)
File delle zone (nomezona.db)
19. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
File di configurazione named.conf
Contiene le direttive
options : opzioni di configurazione del daemon
zone : definizione delle zone autoritative e
puntatore al file di zona
I commenti sono alla C nel flavour //
Alcuni diritti riservati a MrGiles
http://www.flickr.com/photos/mrgiles/4785751933/sizes/m/in/photostream/
20. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
named.conf: options
options {
directory "/var/cache/bind";
// forwarders {
// 0.0.0.0;
// };
listen-on-v6 { any; };
};
21. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
named.conf: zone dirette
zone "units.it" {
type master;
file "univhosts.db";
};
zone "ictp.trieste.it" {
type slave;
file "slave-cache/ictphosts.db";
check-names ignore;
masters {
140.105.16.50;
140.105.16.62;
};
};
22. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Risoluzione inversa
E' importante perch辿 costituisce un doppio
controllo sulla propriet del nome diretto
La RFC 1033 e la RFC 1912 richiedono che
la risoluzione diretta FQDN (fully qualified
domain name) e inversa corrispondano.
Sono state create a tale scopo le zone
speciali:
in-addr.arpa. (IPv4)
ip6.arpa. (IPv6)
23. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Risoluzione inversa
Gli indirizzi IP vengono registrati scritti al
contrario (nibble format) per seguire il
meccanismo di deleghe proprio del dns.
140.105.27.32 32.27.105.140.in-addr.arpa.
fe80::216:76ff:feb4:c36b
b.6.3.c.4.b.e.f.f.f.6.7.6.1.2.0.0.0.0.0.0.0.0.0.0.0.0.
0.0.8.e.f.ip6.arpa.
La risoluzione del nome cos狸 formato deve
restituire il nome FQDN: ad es. www.lavoro.gov.it
24. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
named.conf: zone inverse
zone "171.105.140.in-addr.arpa" {
type master;
file "univpub171.rev";
};
zone "74.105.140.in-addr.arpa" {
type slave;
file "slave-cache/oat74.rev";
check-names ignore;
masters {
140.105.72.21;
};
};
25. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
File della zona univ.trieste.it
@INSOAdns.univ.trieste.it.rete.univ.trieste.it.(
2010101501;Serial=date
86400;Refreshsecondary1day
7200;Retryrefresh2hours
604800;Expirein7days
86400);MinimumTTLis1day
INNSdns.univ.trieste.it.
INNSuts2.univ.trieste.it.
INNSafs.ts.infn.it.
INMX10mx.univ.trieste.it.
Notare i commenti con il ; anzich辿 con il //
26. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
File della zona univ.trieste.it
aladinINNSdns.univ.trieste.it.
INNSuts2.univ.trieste.it.
ammINMX10newfebe.univ.trieste.it.
pandoraINA140.105.48.2
eduroamINCNAMEpandora.univ.trieste.it.
coverageINCNAMEpandora.univ.trieste.it.
docuINCNAMEpandora.univ.trieste.it.
tcscertsINCNAMEpandora.univ.trieste.it.
;wirelessINCNAMEpandora.univ.trieste.it.
ntp1INA140.105.48.3
ntp2INCNAMEuts2.univ.trieste.it.
uts2INA140.105.48.4
ntpINCNAMEntp1.univ.trieste.it.
ntpINCNAMEntp2.univ.trieste.it.
ntpINTXTroundrobindintp1entp2
27. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
I resource records
Sono le etichette funzionali dei record del
dns. Le principali sono:
SOA: start of authority
NS: Name Server
MX: Mail Exchanger
A: Address IPv4
AAAA: Address IPv6
PTR: Pointer Record (risol. inv.)
TSIG: Transaction Signature
TKEY: Secret Key record (DNSSEC)
...
28. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Internet Governance
ICANN e IANA supervisionano
l'organizzazione dei root servers,
l'implementazione di modifiche al protocollo,
nuovi protocolli e nuovi Top Level Domains.
I registrar dei domini nazionali, con proprie
regole, fanno funzionare il tutto nel piccolo
di un paese e cos狸 via fino alla pi湛 piccola
ditta individuale.
29. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Internet Governance
Tutto funziona finch辿 qualcuno non decide di
toccare i meccanismi di risoluzione dei
resolver.
Internet Service Provider e Governi hanno
cominciato a censurare Internet agendo sui
DNS per motivi economici, fiscali, sociali,
politici e di regime.
30. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Internet Governance
A causa dei meccanismi di funzionamento
del DNS non 竪 possibile accorgersi di venire
censurati finch辿 non se ne ha il sospetto (n辿
per chi offre n辿 per chi usufruisce dei
contenuti).
Google ChromeAlcuni diritti riservati a mayhem
http://www.flickr.com/photos/mayhem/5100490087/sizes/z/in/photostream/
31. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Resolver alternativi
La crucialit del DNS per le comunicazioni in
Internet ha fatto s狸 che si sviluppassero
sistemi di analisi avanzata su due ambiti
principali:
$ Tracciamento della navigazione
# Difesa da SPAM, malware, phishing, worm
32. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Resolver alternativi
Nascono quindi servizi alternativi di
resolver DNS da puntare direttamente dal
proprio PC.
Il modello di business si basa su due fronti:
Miriadi di utenti base che navigano pi湛 veloci e
liberi svendendo pi湛 o meno consapevolmente il
proprio profilo di navigazione ai gestori del dns.
Aziende che pagano per far filtrare il malware,
impostare filtri selettivi di siti e pubblicit,
acquisire statistiche su sorgenti e destinazioni di
traffico.
33. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Puntare un DNS diverso da quello del
proprio ISP
Potrebbe accelerare la nostra navigazione
Potrebbe proteggerci da siti malevoli ?
Attenzione: Potrebbe aggirare limitazioni
imposte dalla legge.
Potrebbe spingere il nostro ISP a chiudere la
porta UDP 53 8-(
34. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
DNS diverso: BIND caching only
E' la configurazione di default di BIND sulle
maggiori distribuzioni
Nella conf. di default (Senza Forwarders)
contatta direttamente i root servers
occupandosi direttamente della risoluzione
(resolver)
Con il forwarder attivato, invia le richieste ai
dns che volete voi (facendo fare a loro da
resolver) e tiene in cache il risultato
velocizzando la navigazione.
35. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Dimostrazione
Bind in locale: il vostro PC dovr puntare
127.0.0.1 (localhost) come DNS
Censura di un dominio
Spoofing di un dominio
Forging dei contenuti
36. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Configurazioni avanzate
Split: un daemon risponde in maniera
diversa a IP sorgenti diversi
Dynamic Update: il client, il server dhcp,
una applicazione terza, inseriscono
autonomamente record arbitrari in zone
stabilite
DNSSEC: crittografia delle transazioni tra
client e server, fra server e server
GENERATE: generazione di Resource
Records
37. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Split
Vogliamo che dall'esterno non si vedano i
nomi che noi assegnamo a macchine interne
su rete privata.
Iniziamo definendo le nostre reti interne:
acl retilocali {
172.16.18.0/24;
192.168.1.0/24;
};
38. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Split: view INTERNAL
view "INTERNAL" {
// Our Internal Networks
match-clients {
retilocali;
} ;
// Load Zones File
include "boot.zones.local" ;
include "boot.zones.split.internal" ;
include "boot.zones.internal" ;
include "boot.zones.external" ;
};
39. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Split: view EXTERNAL
view "EXTERNAL" {
match-clients {
any;
} ;
// Load Zones File
include "boot.zones.local" ;
include "boot.zones.split.external" ;
include "boot.zones.external" ;
} ;
40. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Direttiva GENERATE
E' una feature di BIND e Permette di
generare i resource records nelle tabelle di
zona:
$GENERATE 1-254 cli247-$ A 140.105.247.$
$GENERATE 1-254 cli247-$go A 140.105.249.$
La prima linea genera:
cli247-1 IN A 140.105.247.1
cli247-2 IN A 140.105.247.2
cli247-3 IN A 140.105.247.3
cli247-254 IN A 140.105.247.254
41. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
BIND e DNS
Alcune altre esoterie sono possibili
Se siete interessati...
partecipate alle
SERATE A TEMA
Grazie!
42. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Links
Mappa dei DNS root servers http://www.icann.org/en/maps/root-servers.htm
Elenco dei DNS root servers http://www.root-servers.org
Sito di Internet Software Consortium e di BIND http://www.isc.org/
Lista di Resource Records http://en.wikipedia.org/wiki/List_of_DNS_record_types
OpenDNS http://www.opendns.com/
GoogleDNS http://code.google.com/intl/it/speed/public-dns/
FoolDNS http://www.fooldns.com/
43. Universit degli Studi di Trieste
Sabato 23 ottobre 2010
copyleft 2010 Daniele Albrizio
albrizio@units.it
Licenza d'uso
di questo documento
Quest'opera 竪 stata rilasciata sotto la licenza Creative Commons
Attribuzione-Non commerciale-Condividi allo stesso modo 3.0.
Per leggere una copia della licenza visita il sito web
http://creativecommons.org/licenses/by-nc-sa/3.0/ o spedisci una
lettera a Creative Commons, 559 Nathan Abbott Way, Stanford,
California 94305, USA.