Sommario
Estratto
LDAP (Lightweight Directory Access Protocol) è un gruppo di protocolli progettato per l'accesso e la gestione di directory di informazioni. LDAP può essere utilizzato per diversi obiettivi, ad esempio per la gestione di utenti e gruppi, della configurazione dei sistemi o degli indirizzi. In questo capitolo vengono fornite alcune nozioni di base su OpenLDAP e sulla gestione di dati LDAP con YaST. Sebbene esistano diverse implementazioni del protocollo LDAP, questo capitolo si concentra esclusivamente sull'implementazione OpenLDAP.
In un ambiente di rete è fondamentale mantenere le informazioni importanti strutturate e prontamente disponibili. Questo obiettivo può essere conseguito con un servizio directory che, come le comuni Pagine Gialle, raccolga le informazioni disponibili in una forma ben strutturata e facile da cercare.
L'opzione ideale è un server centrale che conservi i dati in una directory e li distribuisca a tutti i client mediante un determinato protocollo. I dati sono strutturati in modo da consentirne l'accesso a una vasta gamma di applicazioni. In questo modo non è necessario gestire un database per ogni strumento calendario e client e-mail: è sufficiente accedere a un repository centrale. Ciò riduce notevolmente l'impegno per la gestione delle informazioni. L'utilizzo di un protocollo aperto e standardizzato come LDAP garantisce l'accesso a tali informazioni da parte del maggior numero possibile di applicazioni client.
In questo contesto, una directory è un tipo di database ottimizzato per una rapida ed efficace lettura e ricerca:
Per rendere possibili numerosi accessi in lettura concomitanti, l'accesso in scrittura è limitato a un numero ridotto di aggiornamenti eseguiti dall'amministratore. I database convenzionali sono ottimizzati per l'accettazione del massimo volume di dati possibile in un periodo di tempo breve.
Dato che gli accessi in scrittura possono essere eseguiti solo con delle limitazioni, un servizio directory viene per lo più impiegato per l'amministrazione di informazioni non variabili e statiche. Di norma, i dati contenuti in un database convenzionale vengono modificati molto spesso (dati dinamici). I numeri di telefono di un elenco aziendale non cambiano con la stessa frequenza delle cifre amministrate in contabilità, ad esempio.
L'amministrazione di dati statici implica aggiornamenti dei dati esistenti molto rari. Quando si gestiscono dati dinamici, specialmente set di dati come conti bancari o informazioni contabili, la coerenza dei dati è di fondamentale importanza. Se un importo deve essere sottratto da una cifra e sommato a un'altra, le due operazioni devono essere eseguite contemporaneamente, nell'ambito di una transazione, per garantire un saldo corretto. I database supportano tali transazioni. Le directory no. Incoerenze dei dati a breve termine sono abbastanza accettabili nelle directory.
Un servizio directory come LDAP non è progettato per supportare meccanismi di query o aggiornamenti complessi. Tutte le applicazioni devono poter accedere al servizio in modo semplice e rapido.
Molti servizi directory sono esistiti ed esistono tuttora in ambiente Unix e non. Novell NDS, Microsoft ADS, Street Talk di Banyan e lo standard OSI X.500 sono solo alcuni esempi. LDAP è stato originariamente progettato come semplificazione di DAP, il protocollo di accesso alle directory sviluppato per l'accesso a X.500. Lo standard X.500 regola l'organizzazione gerarchica delle voci di directory.
LDAP è una versione ridotta di DAP. Senza perdere la gerarchia delle voci di X.500, LDAP offre funzionalità multipiattaforma e consente di risparmiare risorse. L'utilizzo del protocollo TCP/IP rende sostanzialmente più semplice la definizione di interfacce tra un'applicazione docking e il servizio LDAP.
Nel frattempo, LDAP si è evoluto e viene sempre più impiegato come soluzione indipendente senza supporto X.500. LDAP supporta riferimenti con LDAPv3 (la versione di protocollo in pacchetto openldap2); ciò consente di avere database distribuiti. Un'ulteriore novità è l'utilizzo del Simple Authentication and Security Layer (SASL).
LDAP non si limita alla ricerca di dati da server X.500 come previsto in origine. Un server slapd open source può memorizzare informazioni sugli oggetti in un database locale. È inoltre presente un'estensione denominata slurpd, responsabile della replica di più server LDAP.
Il pacchetto openldap2 è costituito dai seguenti elementi:
Un server LDAPv3 indipendente che amministra le informazioni sugli oggetti in un database basato su BerkeleyDB.
Questo programma consente di replicare le modifiche apportate ai dati del server LDAP locale su altri server LDAP installati nella rete.
slapcat, slapadd, slapindex
L'amministratore di sistema Unix utilizza tradizionalmente il servizio NIS per la risoluzione del nome e la distribuzione dei dati su una rete. I dati di configurazione contenuti nei file in /etc e nelle directory group, hosts, mail, netgroup, networks, passwd, printcap, protocols, rpc e services vengono distribuiti dai client su tutta la rete. Questi file possono essere gestiti senza particolari difficoltà in quanto si tratta di semplici file di testo. La gestione di grandi quantità di dati, tuttavia, diventa sempre più difficile a causa della mancanza di una struttura. NIS è progettato solo per piattaforme Unix; ciò rende impossibile il suo impiego come amministratore dati centrale in un ambiente di rete eterogeneo.
A differenza di NIS, il servizio LDAP non è limitato alle reti esclusivamente Unix. I server Windows (a partire dalla versione 2000) supportano LDAP come servizio directory. Anche Novell offre un servizio LDAP. I task applicativi citati in precedenza sono anche supportati in sistemi non Unix.
Il principio LDAP può essere applicato a qualunque struttura di dati da amministrare a livello centrale. Alcuni esempi di applicazione sono i seguenti:
Impiego a sostituzione del servizio NIS
Instradamento della posta (postfix, sendmail)
Rubriche per client di posta come Mozilla, Evolution e Outlook
Amministrazione di descrizione di zone per un server BIND9
Autenticazione utenti con Samba in reti eterogenee
Questo elenco può essere esteso in quando LDAP è espandibile, a differenza di NIS. La chiara struttura gerarchica dei dati semplifica l'amministrazione di elevate quantità di dati, in quanto offre migliori funzionalità di ricerca.