Dns e bind

43
Università degli Studi di Trieste Sabato 23 ottobre 2010 copyleft 2010 – Daniele Albrizio [email protected] Dns e Bind il protocollo e il daemon che danno il nome a Internet Daniele Albrizio - [email protected]

Transcript of Dns e bind

Page 1: Dns e bind

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]

Page 2: Dns e bind

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).

Page 3: Dns e bind

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

Page 4: Dns e bind

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/

Page 5: Dns e bind

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.

Page 6: Dns e bind

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/

Page 7: Dns e bind

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.

Page 8: Dns e bind

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

Page 9: Dns e bind

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)

Page 10: Dns e bind

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

Page 11: Dns e bind

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

Page 12: Dns e bind

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)

Page 13: Dns e bind

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

Page 14: Dns e bind

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

Page 15: Dns e bind

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

Page 16: Dns e bind

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

Page 17: Dns e bind

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

Page 18: Dns e bind

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)

Page 19: Dns e bind

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/

Page 20: Dns e bind

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; };};

Page 21: Dns e bind

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; };};

Page 22: Dns e bind

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)

Page 23: Dns e bind

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

Page 24: Dns e bind

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; };};

Page 25: Dns e bind

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 “//”

Page 26: Dns e bind

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”

Page 27: Dns e bind

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)

– ...

Page 28: Dns e bind

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.

Page 29: Dns e bind

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.

Page 30: Dns e bind

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/

Page 31: Dns e bind

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

Page 32: Dns e bind

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.

Page 33: Dns e bind

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-(

Page 34: Dns e bind

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.

Page 35: Dns e bind

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

Page 36: Dns e bind

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

Page 37: Dns e bind

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; };

Page 38: Dns e bind

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" ;};

Page 39: Dns e bind

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" ;} ;

Page 40: Dns e bind

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

Page 41: Dns e bind

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!

Page 42: Dns e bind

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/

Page 43: Dns e bind

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.