LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione...

46
LDAP Studio di fattibilità

Transcript of LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione...

Page 1: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

LDAP

Studio di fattibilità

Page 2: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Le sezioni dello studio di fattibilità

1. Panoramica sulla situazione attuale

2. Progetto della soluzione

3. Specifiche generali del sistema

4. Modalità di realizzazione

5. Analisi costi-benefici

Page 3: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

1. Panoramica sulla situazione attuale

Page 4: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Introduzione

Con la nascita ed evoluzione di Internet e con il notevole incremento dei suoi utenti, sono sorti problemi di sicurezza.– La suite di protocolli TCP/IP non prevede nessun

meccanismo che garantisce confidenzialità e privacy tra gli utenti.

Gli scenari e le applicazioni in cui è richiesta confidenzialità e privacy delle connessioni sull'inter-rete sono molteplici.– Accedere in maniera privata ad una directory remota

dislocata su di un server è uno di questi possibili scenari.

Page 5: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Cos’è una directory

Database specializzato per la lettura e la ricerca. Possibilità di contenere informazioni basate su

attributi o descrizioni. Supporto di sofisticate capacità di ricerca attraverso

dei filtri. Risposte veloci ad operazioni di consultazione o di

ricerca su volumi di dati enormi.

Page 6: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Servizi locali e servizi globali

Alcuni servizi di directory sono locali.– Forniscono servizi ad un ristretto contesto, ad esempio una singola

macchina.

Altri servizi sono globali.– Forniscono servizi ad un contesto più ampio, quale ad esempio

l’intera Internet.

I servizi globali sono distribuiti.– I dati contenuti sono memorizzati in diverse macchine, ognuna delle

quali provvede al servizio di directory.

Page 7: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

2. Progetto della soluzione

Page 8: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Cos’è LDAP

LDAP è un acronimo che sta per LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL.

È un protocollo leggero per accedere ai servizi di directory, basati sul protocollo X.500.

Opera su TCP/IP o su altre connessioni orientate ai servizi di trasferimento.

Page 9: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Tipologie delle informazioni

Il modello di informazioni di LDAP è basato sulle entry.– Collezioni di attributi che hanno un unico nome

globale: il Distinguished Name (DN). Ogni attributo della entry ha un tipo ed uno o

più valori.– I tipi sono stringhe mnemoniche, come cn per i

common name, oppure mail per gli indirizzi di posta elettronica.

Page 10: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Struttura delle informazioni

Le entry di una directory sono strutturate come in una struttura gerarchica di un albero.

La entry che rappresenta il paese si trova alla radice dell’albero.

Al di sotto di essa ci sono quelle che rappresentano stati e organizzazioni nazionali.– Seguono poi altri tipi di entry che possono rappresentare

organizzazioni, persone, stampanti, documenti, ecc.

Page 11: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

LDAP directory tree con nomi usati in Internet

Page 12: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Come si accede alle informazioni

Il protocollo LDAP definisce servizi per accedere e aggiornare una directory.

L’operazione più usata è quella di ricerca di informazioni all’interno della directory.

LDAP fornisce un efficiente algoritmo di ricerca.

Page 13: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Protezione delle informazioni

Molti servizi di directory non prevedono protezione per i dati e le informazioni.

LDAP include un meccanismo nel quale un client si può autenticare, o provare la sua identità ad un directory server.

LDAP consente servizi di privacy e di integrità delle informazioni.

Page 14: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Funzionamento di LDAP -1

Il servizio di directory LDAP è basato su un modello client – server.

Uno o più server LDAP contengono i dati che servono a costruire l’albero delle informazioni di una directory, il DIT (Directory Information Tree).

Page 15: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Funzionamento di LDAP -2

Il client si connette al server e gli chiede informazioni.

Il server replica con risposte precise e/o con un puntatore ad eventuali informazioni addizionali.

Il client LDAP può comunicare sia con un server X.500 sia con un server LDAP.

Page 16: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

3. Specifiche generali del sistema

Page 17: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Configurazioni di directory LDAP - 1

Servizi di directory locali – In questa configurazione, esiste un unico server

che offre  servizi di directory solo in un unico dominio.  

Page 18: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Configurazioni di directory LDAP - 2

Servizi di directory locali con riferimento– In questa configurazione, si imposta un server

che offre servizi di directory per il  dominio locale e lo si configura per ritornare riferimenti ad un servizio superiore capace di occuparsi di richieste esterne al dominio locale.

– è usata se si vogliono fornire servizi di directory locali e partecipare alla "Directory Globale" tramite Internet.

Page 19: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Configurazioni di directory LDAP - 3

Page 20: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Configurazioni di directory LDAP - 4

Servizi di directory replicati– In questo situazione è usato un demone per

propagare cambiamenti da un server master del servizio  ad uno o più server slave.

– può essere usata assieme ad altre in situazioni dove un solo server  non offre l'affidabilità richiesta.

Page 21: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Configurazioni di directory LDAP - 5

Page 22: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Configurazioni di directory LDAP - 6

Servizio di directory locale distribuito– In questa configurazione, il servizio globale è

partizionato in servizi più piccoli  ognuno dei quali può essere replicato e  unito a riferimenti superiori e subordinati.

Page 23: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

4. Modalità di realizzazione

Page 24: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Installazione di OpenLDAP

é possibile scaricare OpenLDAP dal sito http://www.openldap.org/ Una volta ottenuto il pacchetto in formato compresso lo si deve decomprimere con il comando:

gunzip -c openldap-VERSION.tgz | tar xf –

sostituendo VERSION con la versione  corrente del pacchetto.Lo stesso pacchetto è disponibile anche in versione RPM per le versioni di Linux che supportano tale standard(RedHat, Suse, Mandrake).

Page 25: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Prerequisiti per l'installazione

Per il corretto funzionamento di OpenLDAP occorre installare software di terze parti:– Kerberos per la gestione della sicurezza nel

processo di autenticazione– librerie  SASL di Cyrus per  offrire servizi di  autenticazione

sicuri e ulteriori servizi  di sicurezza

Page 26: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

 TCP Wrappers

slapd è il demone che gestisce le richieste dei client del servizio

slapd supporta  i TCP Wrappers per la gestione degli accessi a livello IP e per funzionalità di firewalling – La parte di backend del demone slapd richiede la

presenza della libreria per la gestione di database SleepyCat Software Berkeley DB.Berkeley DB è disponibile dal mirror Sleepycat alla  pagina http://www.sleepycat.com/download.html.

Page 27: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Opzioni di configurazione - 1

Lo script di configurazione configure supporta diverse opzioni e la gestione di flags e variabili d'ambiente.Per avere accesso a ulteriori informazioni sulla configurazione digitare il comando:

./configure --help Inoltre lo script configure comprende la

gestione di variabili d'ambiente per l'impostazione di particolari opzioni.

Page 28: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Opzioni di configurazione - 2

Fare il build del pacchetto – Se la fase di configurazione è andata a buon fine sarà

possibile generare le dipendenze per la compilazione, ciò avviene tramite il comando:

make depend– Il buiding dell'applicazione deve essere eseguito con il

comando:

make facendo attenzione all'output prodotto per vedere se sono

stati generati errori durante tale fase.

Page 29: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Opzioni di configurazione - 3

Testare il software  – Una volta che l'applicazione è stata configurata e compilata è possibile fare

il testing dei file generati con il comando: make test

Installare il software – Dopo aver testato i file generati in fase di building è ora possibile

procedere all'installazione vera e propria.Innanzitutto è necessario verificare di essere in possesso dei privilegi di scrittura nelle directory specificate in fase di configurazione.Per default OpenLDAP è installato nella directory /usr/local/.Tipicamente la fase di installazione richiede i privilegi del superuser.Ottenuti i privilegi di root, dalla directory d'installazione di OpenLDAP si esegue il comando:

make install– prestando sempre attenzione all'output generato, nel caso siano presenti

errori.

Page 30: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Avvio di slapd - 1

slapd gestisce le richieste dei client del servizio.

Spesso è in esecuzione su più macchine della rete per aumentare la disponibilità del servizio con una copia di parte o tutta la struttura dell’albero di directory

Page 31: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Avvio di slapd - 2

Page 32: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Avvio di slapd - 3

Possono esistere più istanze di slapd (slave) che fanno riferimento ad un'instanza master. L'istanza master mantiene un file di log con le informazioni che il demone slurpd passerà alle istanze slave  

Page 33: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Avvio di slapd - 4

Page 34: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Configurazione di slapd

La configurazione del demone slapd avviene mediante il file slapd.conf solitamente posto nella directory  /etc/openldap

Il file slapd.conf  consiste di tre sezioni per la configurazione: global, backend specific e database specific.

Le informazioni della sezione global ; sono le prime ad essere specificate all'interno del file, successivamente sono definite le direttive della sezione di backend ed infine quelle di database.

Le direttive globali possono essere sovrascritte da quelle di backend e/o di database , e le direttive di backend possono essere annullate dalle direttive di database.

Page 35: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Struttura di slapd.conf : Esempio

Le righe di commento iniziano con il simbolo #.La struttura di slapd.conf è simile alla seguente: # Direttive di configurazione globali <global config directives>

# Definizioni di backend backend <typeA> <backend-specific directives>

# Definizione di direttive di database e tipo database <typeA> <database-specific directives>

# Seconda definizione di direttive di database database <typeB> <database-specific directives>

# Successive direttive di backend, database e di configurazione ...

Page 36: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Esempi

Esempio (1)

access to attr=userPassword by self write by anonymous auth by dn.base="cn=Admin, dc=example, dc=com" writeby * none 

Specifica che l’amministratore può modificare l’attributo userPassword di qualsiasi entry, che ogni entry può modificare il suo attributo userPassword e che tutti gli altri non hanno permesso di lettura e di scrittura.

Esempio (2)access to * by dn.base="cn=Admin, dc=example, dc=com" write by * read 

Specifica che l’amministratore ha permesso di scrittura su qualsiasi oggetto e tutti hanno permesso di lettura su tutti gli oggetti.

Page 37: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Avvio e terminazione di slapd-1

slapd è stato progettato per essere eseguito come server stand-alone.I comandi per avviare slapd variano a seconda del tipo di installazione che è stata fatta, se da file RPM oppure da sorgenti.

Per installazioni da RPM digitare da riga di comando:    #/etc/init.d/slapd start

Per installazioni da sorgenti:    #/usr/local/etc/libexec/slapd startAnche la terminazione varia a seconda del tipo di installazione che è stata fatta. 

Page 38: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Avvio e terminazione di slapd-2 Per installazioni da RPM:

    #/etc/init.d/slapd stop

Per installazioni da sorgenti:    #kill –INT ‘cat /usr/local/var/slapd.log’

Per quanto riguarda la procedura di avvio è possibile specificare opzioni della riga di comando.Le più utili sono:

-f <nome_file>Specifica il percorso del file di configurazione

-h <URL>Specifica configurazioni alternative per il listener.quella di defaul è ldap:// che implica LDAP su TCP su tutte le interfacce e porta 389

-n <nome_servizio>Specifica il nome del servizio.Default=slapd

-l <syslog-utente-locale>Specifica l’utente abilitato al syslog

Page 39: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

5. Analisi costi - benefici

Page 40: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Analisi costi – benefici - 1

Le politiche di sicurezza assumono un’impor- tanza quanto mai vitale in un contesto di autenticazione/autorizzazione.

In realtà aziendali dove concetti quali sicurezza dei dati, certificazione e privacy sono ormai di primaria importanza, l’esistenza di protocolli intrinsecamente insicuri non può essere che relegata a casi del tutto eccezionali.

Page 41: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Analisi costi – benefici - 2

L’identità del server LDAP è garantita dal suo certificato, che deve essere distribuito a tutti i client.

Oltre alla sicurezza delle transazioni, è stata dedicata particolare attenzione alla sicurezza dei dati residenti nel server LDAP, che rappresenta a tutti gli effetti il repository vero e proprio delle informazioni.

A questo scopo, esiste un unico amministratore che a sua volta definisce le politiche di accesso ai dati in base all’utenza.

Page 42: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Analisi costi – benefici - 3

Tipicamente un utente deve essere in grado di poter leggere i suoi dati personali, modificare la propria password, e leggere dati pubblici.

Ogni accesso ad altri dati viene negato.

Page 43: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Analisi costi – benefici - 4

In generale, le performance di un sistema di autenticazione possono essere valutate basandosi sui tempi medi di risposta ad un tentativo di login.

In un architettura basata su LDAP, i tempi di risposta sono mediamente superiori, specialmente con server LDAP particolarmente popolati.

Page 44: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Analisi costi – benefici - 5

Sono inoltre disponibili funzionalità di load balancing, con la possibilità di mantenere sottorami dell’albero LDAP in server diversi.

Un semplice meccanismo di linking permette di mantenere l’effettiva univocità logica della struttura.

Page 45: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Analisi costi – benefici - 6

Il beneficio che se ne trae anche in termini di scalabilità è notevole, soprattutto consideran do il fatto che diversi server LDAP possono essere strutturati gerarchicamente su più livelli.

In scenari particolarmente complessi,LDAP può scalare per aree geografiche.

Page 46: LDAP Studio di fattibilità. Le sezioni dello studio di fattibilità 1. Panoramica sulla situazione attuale 2. Progetto della soluzione 3. Specifiche generali.

Analisi costi – benefici - 7

Infine può essere implementato un meccanismo di replicazione, anch’esso estremamente semplice dal punto di vista concettuale, con lo scopo di mantenere altre copie del server LDAP, sincronizzate col principale, in grado di sostituirlo in caso di malfunzionamento dello stesso.

La modalità di sincronizzazione può essere personalizzata, in modo da non sovraccaricare la rete. Questo garantisce continuità del servizio sia nel caso di modifica dei dati che per manutenzione del server.