270 likes | 768 Views
Directory. Directory cos’e’? e’ un database distribuito e’ uno standard sviluppato da ISO ITU Directory qual’e’ il suo scopo? fornire informazioni su oggetti fornire meccanismi per accedere alle informazioni Directory com’e’ usato? consultazione distribuzione. Directory.
E N D
Directory • Directory cos’e’? • e’ un database distribuito • e’ uno standard sviluppato da • ISO • ITU • Directory qual’e’ il suo scopo? • fornire informazioni su oggetti • fornire meccanismi per accedere alle informazioni • Directory com’e’ usato? • consultazione • distribuzione
Directory • il Directory e’ un db distribuito • molte letture e poche scritture • aggiornamento nottetempo (*) • no rollback • ammesse inconsistenze • architettura di tipo gerarchico
Directory • Per esempio: un directory puo’ contenere: • indirizzi e-mail, • user-authentication (login, passw) • network-security (access right), • sistemi in rete, • servizi in rete • Queste informazioni possono essere accessibili alle applicazioni Sw oppure possono essere visibili agli utenti.
Directory - organizzazione - • Quattro aspetti: • aspetto informativo • descrive l’organizzazione dei dati • aspetto funzionale • descrive le interazioni tra i vari componenti del Directory • aspetto organizzativo • descrive la politica su cui si basano le relazioni tra le varie entità e le informazioni che esse gestiscono • aspetto sicurezza • evidenzia gli aspetti di autenticazione ed autorizzazione
Aspetto informativo • DIB (Directory Information Base) Contiene tutte le informazioni su gli oggetti del Directory • Ogni oggetto è rappresentato da una entry • Ogni entry contiene un insieme di informazioni relative all'oggetto che rappresenta • le informazioni vengono descritte in termini di attributi dell’entry • ogni attributo è composto da un tipo e uno o più valori
. . attributo attributo attributo attributo tipo valori . . . valore valore valore valore Aspetto informativo • Entry Attributo
Aspetto informativo • Le entry sono organizzate sotto forma di albero: il Directory Information Tree (DIT) • Ogni entry del DIT è univocamente identificata dal suo DN (Distinguished Name) • Il DN di una entry si determina traversando il DIT a partire dalla entry root fino a raggiungere l’entry desiderata • Ogni entry ha anche associato un attributo con un singolo valore, chiamato RDN (RelativeDistinguished Name) • DN è la concatenazione degli RDN delle entry attraversate
RDN RDN RDN
Directory • Niente di trascendentale. • Molti usano fanno ricorso al directory senza neanche rendersene conto: • www.company.com • resolved via the Domain Name System • finger someone@host • email someone@host • host e’ risolto via DNS, poi someone e’ risolto localmente oppure attraverso directory di contesto piu’ ampio.
Object Name : hosts Directory : org_dir.next.com. Owner : nishost.next.com. Group : admin.next.com. Access Rights : r---rmcdrmcdr--- Time to Live : 12:0:0 Creation Time : Tue Feb 2 18:39:43 1999 Mod. Time : Tue Feb 2 18:39:43 1999 Object Type : TABLE Table Type : hosts_tbl Number of Columns : 4 Character Separator : Search Path : Columns : [0] Name : cname Attributes : (SEARCHABLE, TEXTUAL DATA, CASE INSENSITIVE) Access Rights : ---------------- [1] Name : name Attributes : (SEARCHABLE, TEXTUAL DATA, CASE INSENSITIVE) Access Rights : ---------------- [2] Name : addr Attributes : (SEARCHABLE, TEXTUAL DATA, CASE INSENSITIVE) Access Rights : ---------------- [3] Name : comment Attributes : (TEXTUAL DATA) Access Rights : ----------------
Object Name : passwd ………….. Object Type : TABLE Table Type : passwd_tbl …………….. Columns : [0] Name : name Attributes : (SEARCHABLE, TEXTUAL DATA, CASE SENSITIVE) Access Rights : r---rmcdrmcdr--- [1] Name : passwd Attributes : (TEXTUAL DATA) Access Rights : r---rmcdrmcdr--- [2] Name : uid Attributes : (SEARCHABLE, TEXTUAL DATA, CASE SENSITIVE) Access Rights : r---rmcdrmcdr--- [3] Name : gid Attributes : (TEXTUAL DATA) Access Rights : r---rmcdrmcdr--- [4] Name : gcos Attributes : (TEXTUAL DATA) Access Rights : r---rmcdrmcdr--- [5] Name : home Attributes : (TEXTUAL DATA) Access Rights : r---rmcdrmcdr--- [6] Name : shell Attributes : (TEXTUAL DATA) Access Rights : r---rmcdrmcdr---
Directory- Architettura client-server - • X500 definisce il protocollo di accesso al directory (DAP) quando i client contattano i server • il client chiede e riceve risposte da uno o piu’server • il DAP che controlla la comunicazione client-server
Directory- le componenti - • DirectoryUser Agent (DUA) • forniscefunzionalita’ standard chesupportano l’utente • nelle ricerche su uno o piu’ directory • nel recupero delle informazioni • nella presentazione dei risultati • comunica con il Directory per conto dell'utente e nasconde all'utente stesso i dettagli dell'organizzazione interna del Directory
Directory- le componenti - • DirectorySystem Agent (DSA) • e’ il database dove le informazioni del directory sono memorizzate • db gerarchico • update giornaliero
Directory- le componenti - • Directory Protocols • rappresentano le regole che governano la comunicazione tra • directory client (DUA) e uno o piu’ directory servers (DSA) • Directory Access Protocol (DAP), e’ usato per controllare la comunicazione tra DUA e DSA. • due o piu’ directory servers (DSA) • Directory system Protocol (DSP), fa si che l’utente possa accedere le informazioni nel directory senza sapere dove sono esse sono esattamente localizzate
Directory Directory DSA request C DUA DSA A 2 1 reply 3 DSA 4 B Utente
Aspetto organizzativo • “ descrive la politica su cui si basano le relazioni tra le varie entità e le informazioni che esse gestiscono” • definisce la mappatura delle porzioni di DIT sui DSA • definisce come i DSA possono essere visti dall’esterno
Aspetto Sicurezza • politica di autenticazione definisce i meccanismi per identificare DSA e utenti • tre tipi di autenticazione • nessuna • accessi liberi • debole • accesso regolato da password criptata • forte • accesso regolato da coppie di chiavi pubblica/privata • il meccanismo più utilizzato: • access control list
Access list: example • access to dn=".*, o=U of M, c=US" • by * search • access to dn=".*, c=US" • by * read • accesso in Read garantito alle entry del sottoalbero c=US, eccetto per per le entry nei sottoalberi • "o=University of Michigan, • c=US" subtree, • alle quali e’ garantito solo la Search
X509 • X509 definisce lo standard del formato dei certificati (Chiavi pubbliche). • X.509 e’ una raccomandazione dell’ITU • I certificati X509 sono utilizzati per la costruzine del SSL (Secure Socket Layer)
SSL • Secure Socket Layer • e’ un protocollo che fornisce sicurezza nelle comunicazioni su Internet. • Permette ad applicazioni client/server di comunicare in una modalita’ che previene • origliamento dei messaggi • manomissione dei messaggi • falsificazione dei messaggi
SSL • Secure Socket Layer protocol e’ composto di 2 strati • SSL Record protocol • si occupa di incapsulare i livelli alti dello stack OSI • SSL Handshake protocol • permette al server ed al client di • autenticare l’un l’altro • negoziare algoritmi di encription e le chiavi criptate • prima ancora che l’application protocol trasmetta e riceva i dati.
SSL • Secure Socket Layer protocol fornisce una comunicazione sicura, basata su 3 principi: • La connessione e’ privata: la cifratura dei messaggi e’ effettuata dopo il processo di Handshake. • l’identita’ degli interlocutori e’ autenticata usando il meccanismo di chiavi pubbliche/privata. • La connessione e’ affidabile: il trasporto dei messaggi include meccanismi di check di integrita’.
SSL • Secure Sockets (SSL) are inserted at the transport layer
Nome Chiave Pubblica Periodo di validità Identificativo della CA . . . Firma Elettronica della CA Certificati e Autorità di Certificazione (CA) • Le chiavi pubbliche sono distribuite sotto forma di certificati firmati da una Autorità di Certificazione (CA) • chi usa il certificato deve essere certo dell’autenticità della chiave pubblica della CA
LDAP • Lightweight Directory Access Protocol, • LDAP e’ un protocollo per accedere alle informazioni dei directory • LDAP e’ basato sugli standard contenuti in X500 ma e’ significativamente piu’ semplice. • Contrariamente a X500 supporta TCP/IP. Necessario per accedere al mondo Internet. • Poiche’ e’ una semplificazione di X500 e’ anche detto X500-Lite. • Lavorando con TCP/IP permette una larghissima diffusione.
Directory & X509* Cos’e’ LDAP * • LDAP - Lightweight Directory Access Protocol. • E’ uno standard Internet Database • E’ un modo di usare i database X.500 sullo stack TCP/I, rendendolo utilizzabile su Internet.