Cos'è il Lightweight Directory Access Protocol (LDAP)?

Lightweight Directory Access Protocol (LDAP) è un protocollo aperto e indipendente dal fornitore che le applicazioni utilizzano per accedere alle informazioni di directory e gestirle in rete. Una directory è un archivio centralizzato di dati relativi a utenti, gruppi e dispositivi di un'organizzazione, e LDAP viene comunemente utilizzato per autenticare gli utenti rispetto a tale directory. LDAP opera dietro le quinte quando gli utenti accedono a un account e-mail di lavoro, a una VPN o a un'applicazione aziendale interna con un unico nome utente e password. Invece di richiedere a ogni applicazione di gestire un proprio elenco di utenti, LDAP consente a più applicazioni di verificare le credenziali rispetto a una directory condivisa e centralizzata, rendendolo una tecnologia fondamentale per l'accesso ai sistemi aziendali.

LDAP è stato progettato come un'alternativa più semplice ed efficiente al Directory Access Protocol (DAP), un protocollo di accesso più datato e ad alto consumo di risorse dello standard di directory X.500. LDAP ha mantenuto il concetto fondamentale di una directory strutturata, eliminando la complessità di implementazione e l'overhead e rendendone l'adozione molto più semplice.

LDAP vs Active Directory

Sebbene si pensi spesso che LDAP e Active Directory siano alternative concorrenti, sono due cose completamente diverse. LDAP è un insieme standard di regole, o un linguaggio condiviso, per accedere alle informazioni di directory e gestirle. Non memorizza alcun dato di per sé; è invece il protocollo che le applicazioni utilizzano per comunicare con una directory.

Active Directory (AD) è il servizio directory di Microsoft per l'archiviazione e la gestione delle informazioni relative a utenti, gruppi e dispositivi presenti in una rete. LDAP è un protocollo utilizzato da Active Directory per consentire alle applicazioni di leggere e scrivere nella propria directory. In parole più semplici, LDAP è una lingua che Active Directory è in grado di comprendere. Poiché LDAP è uno standard aperto e indipendente dal fornitore, è supportato da un'ampia gamma di prodotti e servizi di directory, tra cui OpenLDAP, JumpCloud e Oracle Internet Directory. Le applicazioni possono utilizzare lo stesso protocollo indipendentemente dal servizio directory che un'organizzazione sceglie di utilizzare; questa flessibilità è uno dei motivi principali per cui LDAP è così ampiamente adottato.

Come funziona LDAP?

LDAP segue un modello client-server, in cui il client è l'applicazione che necessita di informazioni di directory (una schermata di login o un programma di posta elettronica) e il server è la directory stessa. Una tipica interazione con una directory LDAP prevede che il client invii una richiesta, che il server LDAP la elabori rispetto alla directory e che il server restituisca una risposta. Per capire come è organizzata una directory, è utile comprendere cosa può essere memorizzato al suo interno:

  • Voce: un singolo record nella directory. Una voce di solito rappresenta un elemento, ad esempio una persona, un gruppo o un dispositivo.
  • Attributi: i dati associati a una voce, tra cui nome, indirizzo email, numero di telefono o reparto. Ogni attributo ha un tipo e un valore.
  • Nome distinto (DN): l'“indirizzo” univoco che identifica una voce all'interno della directory, il che significa che due voci non possono condividere lo stesso DN. È scritto come un percorso, composto dal nome della voce e dalle categorie a cui appartiene, che indica alla directory esattamente dove trovare una voce.

Le voci sono organizzate in una gerarchia denominata Directory Information Tree (DIT). Come un organigramma aziendale, il DIT si dirama da una radice ampia verso raggruppamenti più ristretti come i reparti, fino ad arrivare alle singole voci, come ad esempio gli utenti. Questa struttura ad albero rende il DN leggibile come un percorso, con il DN di ciascuna persona che traccia il percorso dalla cima dell'albero fino alla propria voce.

Casi d'uso comuni per LDAP

Quasi tutto ciò per cui viene utilizzato LDAP si riconduce a un'idea principale: molte applicazioni possono condividere una fonte centrale attendibile su utenti e risorse, anziché gestirne ciascuna una propria. Di seguito sono riportati i modi più comuni in cui le organizzazioni utilizzano LDAP.

Autenticazione e autorizzazione

Il principale caso d'uso di LDAP comprende sia l'autenticazione che l'autorizzazione. L'autenticazione consiste nel verificare l'identità di un utente e avviene tramite l'operazione di bind LDAP: un'applicazione invia l'identità e la password dell'utente, che il servizio directory convalida o rifiuta. L'autorizzazione consiste nello stabilire cosa è consentito fare a un utente autenticato. Le directory LDAP organizzano gli utenti in gruppi e le applicazioni verificano l'appartenenza al gruppo per concedere o negare l'accesso. Ad esempio, solo i membri del gruppo “HR” possono apportare modifiche all'interno del sistema di gestione delle paghe.

Gestione centralizzata degli utenti

Tradizionalmente, ogni applicazione gestiva il proprio elenco di utenti e password. L'onboarding di un nuovo dipendente un tempo significava creare gli account in molti sistemi diversi, uno alla volta, mentre l'offboarding richiedeva di individuare e disabilitare ciascuno di questi account, creando un concreto rischio per la sicurezza se anche uno solo veniva tralasciato. Con LDAP, c'è un'unica directory su cui ogni applicazione esegue l'autenticazione. Il risultato è un onboarding più rapido, un offboarding più fluido, politiche per le password coerenti e una posizione centralizzata per verificare chi ha accesso a cosa.

Fondamenti del Single Sign-On (SSO)

Poiché ogni applicazione può fare riferimento alla stessa directory, LDAP pone le basi per il Single Sign-On (SSO), in cui un unico set di credenziali funziona su sistemi diversi. Per fare chiarezza, LDAP costituisce una base per l'SSO anziché essere l'SSO stesso. Un'esperienza SSO completa, in cui un utente effettua il login una sola volta e passa da un'applicazione all'altra senza dover reinserire la password, integra generalmente protocolli aggiuntivi, ma la fonte di identità condivisa sottostante è spesso una directory LDAP.

Ricerche di contatti

Poiché la directory contiene le persone insieme ai relativi attributi, le applicazioni possono interrogarla come una rubrica condivisa a livello aziendale. Ad esempio, un client di posta elettronica può completare automaticamente l'indirizzo di un collega quando si inizia a digitare il suo nome, oppure una ricerca nella “directory del personale” all'interno di uno strumento aziendale può restituire le informazioni relative a un collega. In questo caso, LDAP funziona esattamente come previsto: le directory sono ottimizzate per la lettura e progettate per gestire un volume elevato di ricerche rapide, il che le rende particolarmente adatte a questo tipo di query.

Archiviazione delle informazioni di configurazione

Oltre alle persone, una directory può memorizzare voci per le risorse macchina, inclusi stampanti di rete, server e dispositivi condivisi. Ciò consente alle applicazioni e agli utenti di individuare e connettersi a tali risorse da un'unica posizione centrale, anziché configurare manualmente ciascuna di esse. Una workstation può individuare una stampante nelle vicinanze tramite la directory oppure un sistema può recuperare le impostazioni del proprio dispositivo all'avvio. Sebbene sia un caso d'uso minore, dimostra la flessibilità di LDAP.

Porte e sicurezza LDAP

Per impostazione predefinita, LDAP comunica tramite la porta 389, che è la porta standard per il traffico LDAP. Tuttavia, LDAP di per sé non è crittografato, quindi i dati viaggiano in chiaro. Chiunque riesca a intercettare quel traffico potrebbe leggerlo, incluse informazioni sensibili come nomi utente e password. Si tratta di un rischio significativo per un protocollo così spesso utilizzato per gestire gli accessi, motivo per cui la crittografia è fortemente consigliata. Ecco due dei modi più comuni per proteggere LDAP:

  • LDAPS usa la porta 636. Qui la connessione viene crittografata non appena viene stabilita, quindi il traffico è protetto per l'intera sessione. La S sta per secure, come in HTTPS.
  • StartTLS viene eseguito sulla porta standard 389. Invece di utilizzare una porta protetta separata, inizia come una normale connessione LDAP e poi la aggiorna a una crittografata utilizzando TLS. Il risultato finale è simile a LDAPS, ma viene negoziato sulla stessa porta anziché su una dedicata.

Il punto chiave è che LDAP in chiaro sulla porta 389 non offre alcuna protezione di per sé. La crittografia dovrebbe essere considerata essenziale, sia tramite LDAPS sulla porta 636 sia tramite StartTLS sulla porta 389.

Pro e contro di LDAP

I punti di forza di LDAP spiegano perché è da tempo un pilastro dell'identità aziendale, mentre i suoi limiti evidenziano le situazioni in cui necessita di strumenti di supporto o non è la soluzione più adatta.

Vantaggi di LDAPSvantaggi di LDAP
Vantaggi di LDAP
  • Standard aperto: uno standard ampiamente supportato al posto di una tecnologia proprietaria, in modo che le applicazioni si comportino in modo coerente e le organizzazioni abbiano maggiore flessibilità.
  • Indipendente dal fornitore: funziona con molteplici prodotti di directory, in modo che le organizzazioni possano scegliere o cambiare la directory sottostante senza riscrivere il modo in cui le applicazioni si connettono.
  • Scalabile: ottimizzato per ricerche ad alto volume, in modo che le prestazioni tengano all'aumentare degli utenti e del volume delle richieste.
  • Identità centralizzata: consente a molte applicazioni di fare affidamento su una sola directory come unica fonte di verità.
Svantaggi di LDAP
  • In chiaro per impostazione predefinita: LDAP standard sulla porta 389 non è crittografato, quindi la sicurezza dipende dall'aggiunta intenzionale di TLS tramite LDAPS o StartTLS.
  • Meno adatto ai carichi di lavoro con molte operazioni di scrittura: le directory sono ottimizzate per le operazioni di lettura più che per quelle di scrittura, quindi le applicazioni che richiedono aggiornamenti frequenti sono spesso meglio gestite da un database tradizionale.
  • Complessità della configurazione: definire la struttura ad albero e le regole di accesso può richiedere conoscenze specialistiche, sia per la configurazione che per la manutenzione.

Nega il consenso sui cookieLa tua privacy è importante

Utilizziamo i cookie sul nostro sito per offrirti la migliore esperienza di navigazione, pubblicare annunci personalizzati sui nostri prodotti e contenuti e analizzare il traffico del sito web. Per ulteriori informazioni, consulta la nostra Informativa sulla privacy.

Registratevi per una prova gratuita

Acquista ora