DNS Dynamic Updates Corso di reti di calcolatori e sicurezza a.a. 2005-2006 Prof. Stefano Bistarelli Irene Beccarini.

Slides:



Advertisements
Presentazioni simili
Il livello di trasporto
Advertisements

Procedure e funzioni A. Ferrari.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Asso Dschola e UT1 Navigazione protetta con Asso.Dschola e la blacklist dell’Università di Tolosa.
DNS.
Servizio DHCP.
DNS: Il Servizio Directory di Internet
I modelli di riferimento OSI e TCP/IP
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
Come programmare servizi di rete?
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
File System NTFS 5.0 Disco: unità fisica di memorizzazione
memoria gestita staticamente:
TCP_Wrapper Le richieste per un determinato servizio (ad. es. telnet, ftp, rsh, etc.) vengono soddisfatte soltanto se lindirizzo IP del richiedente rientra.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
ICMP - PING - TRACEROUTE
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Corso di Informatica per Giurisprudenza Lezione 7
Fabrizio Grossi Verifica delle attività. L'operato degli amministratori di sistema deve essere oggetto, con cadenza almeno annuale, di un'attività
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
File system distribuito transazionale con replicazione
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Sistemi di elaborazione dellinformazione Modulo 3 -Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 4 – Risoluzione.
BIOINFO3 - Lezione 101 GLI IPERTESTI Una delle innovazioni introdotte da HTML e dal WWW in generale, rispetto ad un testo normale è sicuramente la possibilità
Installazione Come tecnico, si potrebbe aver necessità di effettuare una installazione pulita di un sistema operativo. L'esecuzione di una installazione.
L’architettura a strati
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Creato da Riccardo Nuzzone
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Configurazione IP4a-1 Configurazione IP Reti II Stefano Leonardi.
MySQL Database Management System
Il DHCP (Dinamic Host Configuration Protocol) fornisce un meccanismo per assegnare dinamicamente gli indirizzi IP ed i parametri di configurazione ad un.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Microsoft Access Chiavi, struttura delle tabelle.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 2 – DHCP.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 1 -Domain Name System Ernesto Damiani Lezione 1 – Nomi e indirizzi.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 1 -Domain Name System Ernesto Damiani Lezione 3 – Complementi.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Servizi Internet Claudia Raibulet
Reti II Stefano Leonardi
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Microsoft Access (parte 3) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 4 - Le maschere.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Il DNS e la gestione degli indirizzi IP Appunti di Sistemi per la IV D A cura del prof. ing. Mario Catalano.
Tutti noi siamo abituati a raggiungere un servizio (e quindi il calcolatore che lo offre) utilizzando nomi simbolici e di facile memorizzazione detti hostname:
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Livello 7: Applicazione. Protocolli più importanti HTTP = Hyper Text Transfer Protocol HTTPS = Hyper Text Transfer Protocol over Secure Socket Layer DNS.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
DNSSEC Sicurezza & Windows Frascati Febbraio 2012 Fulvia Costa Infn Padova.
Struttura nazionale di Nameserver per i servizi ad alta affidabilità Riccardo Veraldi - CNAF.
DNS HA
Transcript della presentazione:

DNS Dynamic Updates Corso di reti di calcolatori e sicurezza a.a Prof. Stefano Bistarelli Irene Beccarini

Sommario 1. Il servizio DNS 2. L’aggiornamento dinamico: - Lato client - Messaggi d’aggiornamento - Lato server - Problemi 3. Considerazioni conclusive

Dns: Domain Name System Database per convertire gli hostname in indirizzi IP Immagazzinano record di risorse RR: correlazioni fra gli hostname e le informazioni associate. RR= (Name, Class, Type, TTL) A Indirizzo Ip NS Server dei nomi di una zona CN Nome Canonico MX Hostname del mailserver SOA ( Start of Authority ) Informazioni relative ad una zona

DNS ( Segue…) Database gerarchico e distribuito Suddiviso in zone: Zona = set di records = RRset Ogni zona può essere composta dalle risorse di un intero dominio, di una parte o di un sottodominio.

DNS ( Segue…) Name server Secondario: Ottiene i dati dal name server primario o da un altro name server secondario. Contiene una copia di sola lettura del database. Ci può essere più di un server secondario per zona. Ogni zona può avere 2 o più Name Servers. Il server dei nomi che amministra una zona deve essere “autorizzato” per la zona che gli è stata assegnata e funziona da “Start of Authority” per quella zona. Name Server Primario: Gestisce le risorse di una zona per la quale è autoritativo. Ce ne può essere solo uno per zona. Server Autoritativi

Come si aggiornano le tabelle?!

Aggiornamento Aggiornamento statico: i contenuti di ciascun DNS sono configurati da un file di configurazione creato da un responsabile del sistema Aggiornamento dinamico: Permette l’aggiunta, l’eliminazione e la modifica di RR o RRset da una specifica zona mediante uno scambio di messaggi DNS tra un Client DNS e un Server DNS; Riduce la necessità di gestione manuale dei record di zona, specialmente per i client che vengono utilizzati in sedi diverse e che utilizzano il DHCP per ottenere un indirizzo IP; Rfc 2136.

Aggiornamento dinamico Viene richiesto generalmente quando: Un indirizzo IP o un nome DNS viene aggiunto, rimosso o modificato; Viene attribuito un indirizzo IP tramite DHCP; Il lease di un indirizzo IP di una connessione istallata viene modificato o rinnovato dal server DHCP; Update Request Response Client DNSServer DNS Porta 53

Lato Client Client DNS Server DNS locale Querytype = SOA SOA 1)Il servizio client invia una domanda di tipo Origine di Autorità utilizzando il nome di dominio del computer. 2)Il server DNS locale risponde alla query fornendo il record SOA nel quale il client troverà il DNS primario. Server DNS primario Request Update 3)Il client DNS invia una richiesta d’aggiornamento al server primario. Non ci sono problemi se l’aggiornamento riesce. A volte, però, per alcuni richiedenti, il DNS primario non è raggiungibile a causa di firewalls o particolari partizioni della rete. Response

Lato Client (segue…) 4)Il client invia una nuova richiesta di tipo NS per conoscere i server DNS relativi alla zona specificata nel SOA. Ne riceve un elenco. Querytype = NS Server DNS locale Servers DNS Client DNS Server DNS autoritativo Update Request 5)Il client invia la richiesta d’aggiornamento al primo server autoritativo della lista. In caso neanche questo risponda riproverà con tutti gli altri server dell’elenco.

Lato Client (segue…) 6)Il server autoritativo contattato forwarderà la richiesta al server primario tramite eventualmente altri server autoritativi secondari e rimanderà indietro la risposta al richiedente, passando per tutti i server intermedi intervenuti. Server Primario Server DNS autoritativo Update Request Server DNS autoritativo Update Request Response

… Bugia !!! Sarà il Client DHCP, non il Client DSN, ad inviare le richieste d’aggiornamento e a compiere tutte le operazioni precedenti. Per i client in cui è in esecuzione un sistema operativo che utilizza il DHCP per ottenere il proprio indirizzo IP, il processo è diverso! Client DHCP Server DHCP Richiesta IP Indirizzo IP Server DNS Update IP

Dns Update Messages Additional Data Prerequisite Update Header Zone Specifica che il msg è un’aggiornamento Specifica la zona da aggiornare Records che devono essere presenti Records da aggiungere, eliminare o modificare Dati aggiuntivi Contiene: - i records che sono collegati alla fase d’aggiornamento; - i records collegati a quelli che devono essere aggiunti. Sezione Dati Addizionali

Intestazione ID ZoCount UpCount PrCount AdCount QROpCodeRCodeZ ZoCount: #RR sezione Zona PrCount: #RR sezione Prerequisiti UpCount: #RR sezione Update AdCount: #RR sezione Dati Addizionali QR Del client che genera la richiesta di update 0 -richiesta 1 -risposta OpCode 5 -aggiornamento Z 0 -riservato a un uso futuro RCode Codice di risposta

Sezione Zona Definisce la zona dei record che devono essere aggiornati tramite un unico record dai campi ( Zname, Ztype, Zclass ); Tutti i record che devono essere aggiornati devono appartenere alla stessa zona. Sezione Prerequisiti Contiene i prerequisiti che devono essere soddisfatti per poter procedere all’aggiornamento. Può essere richiesto che: - esista o non esista un particolare RRset; - la zona in questione contenga o meno altri dati.

Sezione Aggiornamento Contiene i record da aggiungere o eliminare dalla zona Sono possibili 4 operazioni: Add to an RRset : aggiunge il nuovo record ad una zona Delete an RRset : elimina tutti i record della zona i cui nome e tipo sono quelli del record indicato in questa sezione Delete all Rrset from a name : elimina tutte i record della zona con lo stesso nome del record inserito in questa sezione Delete an RR : elimina i records indicati

Lato server 1. Analisi OpCode: If OpCode = non valido o non implementato return NOTIMP Update request NOTIMP Client DNS Server

2. Controllo Sezione Zona: If (zcount != 1 || ztype = SOA) return (FORMERR) return (NOTAUTH) if (zone-type(zname, zclass) = = Slave) return forward( ) if (zone-type(zname, zclass) = = Master) return update( ) FORMERR (format error) NOTAUTH (non autorizzato) La zona da aggiornare deve essere una zona d’autorità. Deve essere nelle zone d’autorità del server che ha ricevuto la richiesta. - se è un NS secondario passa la richiesta al NSprimario; - se è l’NS primario procede all’aggiornamento. Lato Server (segue…)

3. Analisi Sezione Prerequisiti: Tutti i prerequisiti devono essere soddisfatti dallo stato corrente della zona. FORMERR (errori formali) NOTZONE I nomi dei record non sono entro la zona che deve essere aggiornata: si può far riferimento solo a record dentro la zona. NXDOMAIN/ YXDOMAIN Qualche nome che dovrebbe/non dovrebbe esistere non esiste/esiste NXRRSET/ YXRRSET Qualche set che dovrebbe/non dovrebbe esistere non esiste/esiste Server Primario

Lato server (segue…) 4. Controllo permesso del richiedente: E’ implementato solo se a tale protocollo si affianca il Secure DNS Update Protocol. Il server dà avvio al controllo Richiedente autorizzato ? Invia un segnale di rifiuto aggiornamento ! Dà avvio all’aggiornamento… Richiedente non autorizzato Richiedente non autorizzato REFUSED

Lato server (Update Section) 5. Prescan: Si analizza la sezione contenente gli aggiornamenti da operare NOTZONE FORMERR I nomi dei record da inserire non sono nella zona specificata Il campo TYPE deve essere definito, non sconosciuto e non un tipo di query

Lato Server (segue…) 6. Update: Opera gli aggiornamenti indicati in questa sezione in ordine. CLASS TYPE RDATA Operazione ANY ANY empty Delete all RRsets from a name ANY rrset empty Delete an RRset NONE rrset rr Delete an RR from an RRset zone rrset rr Add to an RRset SERVFAIL Se interviene qualche guasto del sistema l’aggiornamento viene bloccato e si ripristina la situazione di partenza - Non è possibile cancellare SOA o NS records se sono alla radice della zona; - Non è possibile aggiungere un nuovo record SOA. NOERROR

Lato server: caratteristiche Risposta: alla fine dell’aggiornamento il server invia un msg con il codice di risposta alla porta UDP sorgente del richiedente o alla connessione TCP aperta dello stesso. ID (specificato nella richiesta) QR = 1 OpCode ( della richiesta) Z RCode Zcount ( della richiesta) PRCount ( della richiesta ) UPCount ( della richiesta ) AdCount ( della richiesta ) Possono semplicemente essere settati a 0

Lato Server: caratteristiche ( segue…) Il processo di update assicura: Stabilità: - Ogni modifica viene subito memorizzata; - Il servizio DNS non usa meccanismi per rilasciare o eliminare definitivamente i record che non vengono aggiornati o i nomi che diventano inattivi. Zone esattamente identificabili: tramite un SOA SERIAL ( numero della copia originale della zona ) che viene aggiornato: - ad ogni operazione di update ; - al cambiamento di qualsiasi nome della zona; - dopo un periodo prestabilito. Sequenzialità: due operazioni, di cui una dipende dall’altra, non possono essere processate insieme.

Problemi 1.Richieste duplicate di modifica: Una serie di aggiornamenti in sequenza sugli stessi dati potrebbe lasciare la zona in uno stato indefinito. E’ possibile specificare nella sezione prerequisiti un record della tabella che vogliamo aggiornare che useremo come “marker RR”. Se è assente non si potrà dare vita all’aggiornamento. Nella sezione update (dove vengono inseriti i record da modificare) andremo a cancellare il record che abbiamo segnato come marker e ad aggiungerne uno nuovo. Se dovesse arrivare un’altra richiesta duplicata, non si potrebbe dare avvio all’update in quanto la tabella non conterrebbe ormai più il marker originale.

Problemi 2. Ordine delle richieste d’aggiornamento: Le richieste d’aggiornamento potrebbero arrivare al server in un ordine diverso da quello di invio. E’ possibile ovviare a questo problema usando valori crescenti per i “marker RR” tramite la sincronizzazione operata su una base temporale visibile da un certo set di richiedenti.

Problemi (segue…) Un metodo per ovviare ad entrambi i problemi e assicurare un ottimo ciclo di multitransazioni “lettura-modifica-scrittura” è creare un messaggio contenente tra i prerequisiti il record SOA della zona da aggiornare. Se la transazione avrà successo, dopo l’aggiornamento il SOA SERIAL risulterà incrementato: - Non è possibile ripetere lo stesso aggiornamento perché i prerequisiti non sono più soddisfatti (richieste duplicate di modifica) - Non è possibile che quegli stessi dati da modificare siano già stati alterati da altri precedentemente. Se così fosse stato l’update non avrebbe potuto aver luogo perché il valore del SOA SERIAL non sarebbe stato quello contenuto nel record SOA dei prerequisiti (ordine delle richieste).

Osservazioni E’ lasciato alla discrezione del richiedente l’utilizzo di un trasferimento UDP o TCP: Qualora necessiti di un accurato codice di risposta è bene che inizi la transazione usando il TCP. Tutti i server forwarder useranno di conseguenza il TCP per il trasferimento della richiesta e della risposta. Qualora il richiedente decida di usare l’UDP i server forwarder potranno usare l’ UDP o il TCP.

Riferimenti

Grazie dell’attenzione!