IL PROTOCOLLO LDAP

[Total: 0    Average: 0/5]

Introduzione a LDAP

LDAP (Lightweight Directory Access Protocol, tradotto Protocollo d’accesso agli annuari leggeri e pronunciato “eldap”) è un protocollo
standard che permette di gestire degli annuari, cioè di accedere a dei
datainfo sugli utenti di una rete attraverso dei protocolli TCP/IP.

I
datainfo sono generalmente relativi a degli utenti, ma possono essere
talvolta usati con altri fini come per la gestione dell’harware in
un’azienda.

Il protocollo LDAP, sviluppato nel
1993 dall’università del Michigan, aveva come scopo di soppiantare il
protocollo DAP (che serviva per accedere al servizio dell’annuario
X.500 dell’OSI), integrandolo al seguito TCP/IP. Partendo dal 1995,
LDAP è diventato un annuario NATIF (standalone LDAP), affinché
non servisse più unicamente per accedere a degli annuari di tipo X500.
LDAP è quindi una versione alleggerita del protocollo DAP, da cui
deriva il suo nome di Lightweight Directory Access Protocol.

Presentazione del LDAP

Il protocollo LDAP definisce il metodo d’acceso ai
dati sul server a livello del client, e non la maniere in cui le
informazioni vengono stoccate.

Il protocollo LDAP
è attualmente alla versione 3 e è stato normalizzato dall’IETF
(Internet Engineering Task Force). Così, esiste un RFC per ogni versione del LDAP, che costituisce un documento di riferimento :

Così LDAP fornisce all’utente dei metodi che gli permettono di :

  • connettersi
  • disconnettersi
  • cercare delle informazioni
  • paragonare delle informazioni
  • inserire delle entry
  • modificare degli entry
  • cancellare degli entry

D’altra parte il protocollo LDAP (nella sua versione 3) propone dei meccanismi di codificazione (SSL, …) e di autentificazione (SASL) che permettono di sicurizzare l’accesso alle informazioni stoccate nel datainfo.

L’arborescenza delle informazioni (DIT)

LDAP presenta le informazioni sotto forma di un’arborescenza d’informazioni gerarchica chiamata DIT (Directory Information Tree), nella quale le informazioni, dette dati (o ancora DSE, Directory Service Entry), sono rappresentate sotto forma di rami.
Un ramo posto alla radice di una ramificazione è detto radice o suffisso (in inglese root entry).

Ogni
immissione dell’annuario LDAP corrisponde ad un oggetto astratto o
reale (ad esempio una persona, un oggetto materiale, dei parametri, …).

Ogni entry è costituita da un insieme di coppie chiave/valore dette attributi.

Directory Information Tree de LDAP

Gli attributi delle entry

Ogni entry è costituita da un insieme di attributi
(coppie chiave/valore) che permettono di caratterizzare l’oggetto
definito dall’entry. Esistono due tipi di attributi :

  • Gli attributi normali: si tratta degli attributi abituali (cognome, nome,…) che caratterizzano l’oggetto
  • Gli attributi operativi: questi sono degli attributi ai quali solo il server può accedere per manipolare i dati dell’annuario (date di modifica, …)

Un’entry è indicizzata da un nome distinto (DN, distinguished name) che permette di identificare in maniera univoca un elemento dell’arborescenza.

Un DN si costruisce prendendo il nome dell’elemento, detto Relative Distinguished Name
(RDN, cioè il percorso dell’entry rispetto ad uno dei suoi vicini), e aggiungendogli l’insieme dei nomi delle entry vicine.
Si
tratta di usare una serie di coppie chiave/valore che gli permettono di
individuare un’entry in modo univoco. Ecco una serie di chiavi
generalmente usate :

  • uid (userid), si tratta di un identificativo unico obbligatorio
  • cn (common name), si tratta del cognome della persona
  • givenname, si tratta del nome della persona
  • sn (surname), si tratta del soprannome della persona
  • o (organization), si tratta dell’azienda della persona
  • u (organization unit), si tratta del servizio dell’azienda nel quale la persona lavora
  • mail, si tratta dell’indirizzo di posta elettronica della persona (ovviamente)
  • …

Nonché Distinguished Name sarà nella forma :

Il Relative Distinguished Name essendo qui”uid=jeapil“.

Quindi, si dice schema l’insieme delle
definizioni di oggetti e attributi che un server LDAP può gestire.
Questo permette ad esempio di definire se un attributo può avere uno o
più valori. D’altra parte, un attributo chiamato object class permette di definire gli attributi sia obbligatori che facoltativi…

Consultare i dati

LDAP fornisce un insieme di funzioni (procedure) per
effettuare delle richieste sui dati per cercare, modificare, cancellare
delle entry nelle cartelle.

Ecco una lista delle principali operazioni che LDAP può effettuare :

OperazioneDescrizione
AbandonAbbandona l’operazione precedentemente inviata al server
AddAggiunge un’entry alla cartella
BlindInizia una nuova sessione sul server LDAP
CompareParagona leentry di una cartella secondo dei criteri
DeleteCancella un’entry da una cartella
ExtendedEffettua delle operazioni estese
RenameModifica il nome di un’ entry
SearchRicerca delle entry in una cartella
UnbindTermina una sessione sul server LDAP

Il formato di scambio dei dati LDIF

LDAP fornisce un formato di scambio (LDIF, Lightweight Data Interchange Format)
che permette d’importare e d’esportare i dati da un annuario con un
semplice file di testo. La maggior parte dei server LDAP supporta
questo formato permettendo una grande interoperatività fra loro.

La sintassi di questo formato è la seguente :

In questo file, id è facoltativo, si tratta di un intero positivo che permette di identificare l’entry nel database.

  • ogni nuova entry deve essere separata dalla definizione dell’entry precedente attraverso un salto di linea (linea vuota)
  • E’ possibile definire un attributo su più linee cominciando le linee seguenti da uno spazio a con una tabulazione
  • E’ possibile definire più valor per un attributo ripetendo la stringa nome:valore su linee separate
  • quando il valore contiene un carattere speciale (nome stampabile, uno spazio o :), l’attributo deve essere seguito da :: poi dal valore codificato in base64

SAMBA E IL PROTOCOLLO LDAP

Ottima descrizione del protocollo e come questo viene utilizzato nel sistema LINUX con OpenLDAP