Upload
daniele-albrizio
View
92
Download
0
Embed Size (px)
Citation preview
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
Dns e Bindil protocollo e il daemon
che danno il nome a InternetDaniele Albrizio - [email protected]
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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).
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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:\windows\system32\drivers\etc\hosts
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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 Rrrodrigohttp://www.flickr.com/photos/rrrodrigo/3936038277/sizes/m/
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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.
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
Cos'è il DNS?
● La comunicazione avviene sulla porta UDP 53 e interessa:– Client
– Resolver
– Server (zone transfer tcp)
Alcuni diritti riservati a trekkyandyhttp://www.flickr.com/photos/trekkyandy/345649908/sizes/m/in/photostream/
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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.
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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)
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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)
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
Resolver: www.lavoro.gov.it resolution
Root
.
1st levelTLD
.it
2nd level
.gov
3rd level
.lavoro
Host
www
...
resolver
.gov
?
.lavo
ro ?
www ?
151.
13.1
6.20
0
Client151.13.16.200
www.lavoro.gov.it ?
.it ?
db.root
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
Root servers
● Sono critici● Sono distribuiti geograficamente● Sono maggiormente presenti dove c'è un
maggior uso di risorse
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
BIND: Berkeley Internet Name Domain
● Il più utilizzato● Anche dai root NS● Scala molto bene● Reference standard
● Ha guidato la crescita di Internet
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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)
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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 MrGileshttp://www.flickr.com/photos/mrgiles/4785751933/sizes/m/in/photostream/
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
named.conf: options
options { directory "/var/cache/bind"; // forwarders { // 0.0.0.0; // }; listen-on-v6 { any; };};
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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; };};
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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)
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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; };};
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
File della zona univ.trieste.it
@ IN SOA dns.univ.trieste.it. rete.univ.trieste.it. ( 2010101501 ; Serial=date 86400 ; Refresh secondary 1 day 7200 ; Retry refresh 2 hours 604800 ; Expire in 7 days 86400 ) ; Minimum TTL is 1 day
IN NS dns.univ.trieste.it. IN NS uts2.univ.trieste.it. IN NS afs.ts.infn.it. IN MX 10 mx.univ.trieste.it.
● Notare i commenti con il “;” anziché con il “//”
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
File della zona univ.trieste.it
aladin IN NS dns.univ.trieste.it. IN NS uts2.univ.trieste.it.amm IN MX 10 newfebe.univ.trieste.it.pandora IN A 140.105.48.2eduroam IN CNAME pandora.univ.trieste.it.coverage IN CNAME pandora.univ.trieste.it.docu IN CNAME pandora.univ.trieste.it.tcscerts IN CNAME pandora.univ.trieste.it.;wireless IN CNAME pandora.univ.trieste.it.ntp1 IN A 140.105.48.3ntp2 IN CNAME uts2.univ.trieste.it.uts2 IN A 140.105.48.4ntp IN CNAME ntp1.univ.trieste.it.ntp IN CNAME ntp2.univ.trieste.it.ntp IN TXT “round robin di ntp1 e ntp2”
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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)
– ...
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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.
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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.
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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 Chrome Alcuni diritti riservati a mayhem
http://www.flickr.com/photos/mayhem/5100490087/sizes/z/in/photostream/
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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.
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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-(
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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.
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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; };
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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" ;};
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
Split: view EXTERNAL
view "EXTERNAL" { match-clients { any; } ; // Load Zones File include "boot.zones.local" ; include "boot.zones.split.external" ; include "boot.zones.external" ;} ;
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
BIND e DNS
● Alcune altre esoterie sono possibili● Se siete interessati...
partecipate alleSERATE A TEMA
Grazie!
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
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/
Università degli Studi di TriesteSabato 23 ottobre 2010
copyleft 2010 – Daniele [email protected]
Licenza d'usodi 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.