Introduzione a OpenLDAP
In presenza di reti di dimensioni elevate spesso si pone il problema di dover avere accesso a diverse macchine per scopi diversi e ciò comporta la gestione da parte degli utenti di numerose password.In una situazione del genere l’amministratore si troverà a far fronte a situazioni di potenziale pericolo per la sicurezza della rete quali: account validi non usati, account dimenticati, password smarrite, password da verificare su macchine diverse... Inoltre talvolta è impossibile per gli utenti gestire o risalire a oggetti presenti all’interno della rete quali: computer, utenze, stampanti, file server e directory condivise.
Una soluzione possibile a problematiche di
questo tipo è l’uso del protocollo LDAP.
Il protocollo LDAP (Lightweight Directory
Access Protocol) è uno standard aperto per l’erogazione di servizi di
directory tramite una rete Intranet o Internet.
OpenLDAP è un'implementazione “Open Source” di strumenti a supporto del protocollo LDAP, la versione cui ci riferiremo nel seguito è la 2.1.19 (Maggio 2003).OpenLDAP è stata adottato dalle maggiori distribuzioni Linux e usato soprattutto per l’autenticazione in ambienti di calcolo distribuiti , inoltre supporta la distribuzione dei carichi di lavoro, fornisce brevi tempi di risposta e permette la replica delle informazioni.Le principali applicazioni della suite OpenLDAP sono slapd e slurpd.Si tratta di due demoni che gestiscono le informazioni contenute nella directory(slapd) e la replica delle stesse(slurpd).
La gestione delle informazioni in LDAP è basata
sul concetto di entry. Un'entry è una raccolta di attributi che fanno
riferimento ad un
Distinguished Name (DN). Il DN è unico ed è usato per riferirsi inequivocabilmente
all'entry. Ogni attributo ha un tipo ed uno o più valori. I tipi sono tipicamente sequenze
mnemoniche, come "cn" per nome comune o
"mail" per un indirizzo e-mail. La sintassi dei valori dipende dal tipo di attributo. Per
esempio, un attributo
tipo "cn" dovrebbe contenere il nome di un utente. Il funzionamento di LDAP
si basa sul paradigma client-server e su una gestione gerarchica degli oggetti
presenti nella directory.Con LDAP è possibile ottenere una distribuzione
uniforme dei dati , anche su server distinti , tempi di risposta ridotti nella
lettura del contenuto degli oggetti e la possibilità di replicare le
informazioni su server distinti per un bilanciamento del carico di lavoro nella
rete. L’unico inconveniente può essere
dato dal verificarsi di inconsistenze temporali nei database replicati
dei server LDAP dovute ad aggiornamenti non sincronizzati dei dati.
Albero di directory LDAP
LDAP come DAP è un protocollo di accesso ad un servizio di directory X.500. DAP è un protocollo molto complesso basato sul modello OSI (7 strati)e richiede un ammontare significativo di risorse. LDAP è progettato per funzionare su TCP/IP (solo 4 strati)ed offre la maggior parte della funzionalità di DAP ad un costo ridotto.