Il seguente è un post contribuito da Chima Mmeje. È una content strategist che aiuta i marchi SaaS e tech a creare cluster di argomenti ed eseguire la loro strategia di contenuto.
Con la crescita delle aziende, la necessità di organizzare i dati e le risorse degli utenti in una struttura gerarchica diventa fondamentale per semplificare l’accesso allo storage di tali risorse. LDAP consente alle organizzazioni di archiviare, gestire e proteggere le informazioni relative all’organizzazione, ai suoi utenti e alle risorse.
In questa guida, spiegheremo cos’è LDAP, i suoi usi e come funziona. Discuteremo anche i livelli di directory LDAP e componenti di dati, illustrando come sia uno strumento essenziale per la gestione dei dati su organizzazioni e utenti.
Che cos’è il Lightweight Directory Access Protocol (LDAP)?
LDAP è una versione leggera del Directory Access Protocol (DAP). Il suo obiettivo originale era quello di fornire un accesso a basso sovraccarico a una directory X. 500, ma lo strumento ora ha una più ampia varietà di usi, di cui parleremo più avanti.
La funzione principale di LDAP consente agli utenti di trovare dati su organizzazioni, persone e altro ancora. Realizza questo obiettivo memorizzando i dati nella directory LDAP e autenticando gli utenti per accedere alla directory. Fornisce inoltre il linguaggio di comunicazione che le applicazioni richiedono per inviare e ricevere informazioni dai servizi di directory.
I dati e le risorse che puoi trovare con LDAP includono file e informazioni utente. Funziona con stampanti, computer e altri dispositivi connessi via Internet o intranet di un’azienda.
LDAP funziona con la maggior parte dei servizi di directory dei fornitori, come Active Directory (AD). Con LDAP, la condivisione di informazioni su utenti, servizi, sistemi, reti e applicazioni da un servizio di directory ad altre applicazioni e servizi diventa più facile da implementare.
Che cos’è l’autenticazione LDAP?
Un utente non può accedere alle informazioni memorizzate in un database o directory LDAP senza prima autenticarsi (dimostrando di essere chi dice di essere). Il database in genere contiene informazioni su utenti, gruppi e autorizzazioni e fornisce le informazioni richieste alle applicazioni connesse.
L’autenticazione LDAP comporta la verifica dei nomi utente e delle password forniti collegandosi a un servizio di directory che utilizza il protocollo LDAP. Alcuni directory-server che utilizzano LDAP in questo modo sono OpenLDAP, MS Active Directory e OpenDJ.
Ecco una ripartizione passo-passo del processo di autenticazione:
- Il client (un sistema o un’applicazione LDAP-ready) invia una richiesta per accedere alle informazioni memorizzate all’interno di un database LDAP.
- Il client fornisce le credenziali utente del server LDAP (nome utente e password).
- Il server LDAP incrocia le credenziali inviate dall’utente con i dati di identità dell’utente principale memorizzati nel suo database LDAP.
- Se le credenziali fornite corrispondono all’identità utente principale memorizzata, il client può accedere alle informazioni richieste.
- Le credenziali errate comporteranno l’accesso negato al database LDAP.
Si noti che l’identità utente principale memorizzata nel database LDAP non è necessariamente solo nomi utente e password, ma anche altri attributi come indirizzi, numeri di telefono e associazioni di gruppo.
LDAP vs Active Directory
Active Directory (AD) è stato sviluppato da Microsoft per le reti di dominio Windows. È incluso come un insieme di servizi e processi nella maggior parte dei sistemi operativi Windows e contiene informazioni su ciascun account utente connesso alla rete.
LDAP è uno strumento per estrarre e modificare i dati memorizzati in Active Directory e altri fornitori di servizi di directory compatibili. Ogni account utente in un annuncio ha diversi attributi, come il nome completo e l’indirizzo email dell’utente. L’estrazione di queste informazioni in un formato utilizzabile richiede LDAP.
LDAP estrae informazioni da AD con una semplice query basata su stringhe. LDAP può anche condividere le informazioni estratte (come nomi utente e password) con dispositivi o applicazioni collegati.
L’utilizzo di LDAP elimina la necessità per gli utenti di immettere manualmente una stringa di query LDAP per recuperare informazioni da AD. Ad esempio, Microsoft Outlook è un programma Windows abilitato per LDAP che inserisce automaticamente le query per ottenere le informazioni desiderate.
Per che cosa si usa LDAP?
Poiché LDAP è un protocollo aperto e multipiattaforma, funziona con diversi fornitori di servizi di directory e ha varie applicazioni. Il caso d’uso LDAP più comune funge da posizione centrale per la memorizzazione di informazioni di autenticazione, come nomi utente e password. È possibile utilizzare le informazioni di autenticazione memorizzate su varie applicazioni per convalidare gli utenti.
Le applicazioni più diffuse che supportano l’autenticazione LDAP sono i server OpenVPN, Docker, Jenkins, Kubernetes e Linux Samba. Gli amministratori di sistema utilizzano anche la funzione SSO (Single Sign On) di LDAP per gestire l’accesso al database LDAP.
Tipi di operazioni LDAP
Ecco alcuni tipi di operazioni di base in LDAP:
Aggiungi
La funzione consente di aggiungere nuove voci al database directory-server. Se il nome aggiunto esiste già, il server non accetterà la voce. Invece, consegnerà una notifica “entryAlreadyExists”. I server conformi a LDAP memorizzeranno i nomi aggiunti e altri attributi in base agli standard di denominazione prescritti per garantire l’uniformità.
Bind (Authentication)
Quando si crea una sessione collegandosi a un server LDAP, lo stato di autenticazione predefinito della sessione è anonimo. La funzione bind LDAP convalida lo stato di autenticazione e lo modifica da anonimo. Il bind può avvenire tramite il metodo di autenticazione Simple o SASL (Simple Authentication and Security Layer).
Unbind
Unbind interrompe le operazioni in sospeso e termina le loro connessioni. È possibile eseguire la stessa cosa chiudendo la connessione, ma è preferibile utilizzare unbind perché consente di liberare risorse che potrebbero rimanere assegnate all’operazione interrotta.
Modifica
I client LDAP utilizzano la funzione modifica per modificare le informazioni già memorizzate in un database. Sono consentiti solo tre tipi di modifiche:
- Aggiunta di un nuovo valore ai dati
- Sostituzione o sovrascrittura di un valore esistente
- Eliminazione di un valore esistente
Ricerca e confronto
L’operazione consente ai client di cercare e leggere le voci. È possibile cercare le voci in base al loro nome, dimensione, ambito, tipo e altri attributi. La funzione Confronta semplifica la verifica se una voce con nome ha attributi specifici.
Elimina
I client utilizzano questa funzione per eliminare le voci dalla directory. Si noti che l’eliminazione non si verificherà a meno che il client non invii una richiesta di eliminazione perfettamente composta al server. Alcune delle caratteristiche che la richiesta di eliminazione deve avere sono:
- Il nome della voce che si desidera cancellare
- Allegata richiesta di controlli
Livelli di Directory LDAP
Una tipica configurazione LDAP segue un “albero” formato di gerarchia. Di seguito sono riportati i livelli gerarchici dall’inizio alla fine:
- Il punto di partenza – una directory radice
- Paesi
- enti o società di
- Divisioni, dipartimenti e altre unità organizzative
- Persone, i file e le risorse condivise (stampanti, computer, e così via)
È possibile distribuire una directory LDAP su più server. Le query dei client vengono distribuite su più server con l’aiuto della replica. Ogni server LDAP riceve richieste dagli utenti e si assume la responsabilità delle richieste prima di passarle ad altri server. I server avranno una versione replicata della directory e tutte le directory sincronizzeranno le loro voci a intervalli regolari.
Componenti dati LDAP
Diversi componenti lavorano insieme per LDAP per completare la sua miriade di attività, soprattutto quando si tratta di come interroga e visualizza i dati agli utenti. I più essenziali di questi componenti sono:
Attributi
I dati effettivi all’interno di un sistema LDAP sono memorizzati come attributi. Ogni attributo è associato a un tipo di attributo che specifica come i client e il server di directory devono interagire con tale attributo. Inoltre, i valori degli attributi contengono la maggior parte dei dati che gli utenti memorizzano e accedono nei sistemi LDAP.
Voci
Attributi definiscono le caratteristiche di un utente o di un elemento, mentre una voce descrive l’utente o l’elemento elencando tutti i loro attributi sotto un nome. Da soli, gli attributi hanno funzioni limitate. Devi associare un attributo a una voce prima di poterlo utilizzare completamente.
Data Information Tree (DIT)
All’interno di un sistema LDAP, i dati definiti dagli attributi rappresentano solo una frazione delle informazioni disponibili di un oggetto. Le informazioni rimanenti sono ottenibili dal posizionamento della voce all’interno del sistema LDAP e dalle relazioni che il suo posizionamento suggerisce. Ad esempio, se si dispone di una voce per “inventoryItems” e un’altra per “people”, i dati inseriti in ciascuno di essi forniranno un’idea migliore di ciò che rappresenta ciascuna voce.
Ogni voce in un sistema LDAP è impostata come diramazioni su Data Information Trees (DITs). Poiché ogni voce in un albero LDAP può simboleggiare quasi tutto, gli utenti utilizzano principalmente le voci per mantenere le cose organizzate.
Schemi
Schema è un costrutto in cui le relative ObjectClasses e definizioni di attributi rientrano nella stessa categoria. Un DIT può avere diversi schemi non correlati per generare le voci e gli attributi di cui ha bisogno.
LDAP è un protocollo facile da implementare per consolidare le informazioni all’interno dell’organizzazione. Serve anche come hub centrale per l’autenticazione. È possibile raccogliere e salvare le informazioni utente in una directory LDAP. Ogni volta che un’applicazione abilitata per LDAP necessita di una qualsiasi delle informazioni memorizzate, interroga automaticamente la directory per recuperarla.
Un altro vantaggio è che LDAP è open source e compatibile con vari sistemi operativi, inclusi i sistemi basati su Windows e Unix. Di seguito, abbiamo incluso alcune risorse e domande frequenti, incluso un post sul blog su come funziona l’autenticazione LDAP con Sensu Go.
FAQ
Che cos’è un server LDAP?
Un server LDAP, chiamato anche Directory System Agent (DSA), funziona su sistemi operativi Windows e Unix/Linux. Memorizza nomi utente, password e altre identità utente principali. Utilizza questi dati per autenticare gli utenti quando riceve richieste o query e condivide le richieste con altri DSAS. Diverse applicazioni e servizi possono connettersi a un server contemporaneamente per convalidare gli utenti.
Come funziona LDAP?
LDAP è un protocollo multipiattaforma per l’autenticazione tramite servizi di directory. Fornisce inoltre il linguaggio di comunicazione che le applicazioni utilizzano per connettersi ad altri server del servizio directory. Questi servizi di directory ospitano nomi utente, password e account di computer e forniscono tali informazioni agli utenti della rete su richiesta.
Immagine LDAP come un enorme rubrica virtuale. L’apertura della rubrica consente di accedere a una vasta directory di informazioni di contatto per varie persone, compresi i loro nomi utente e password. Con LDAP, è possibile verificare facilmente le credenziali degli utenti quando tentano di accedere al database dell’organizzazione.
Che cos’è un account LDAP?
LDAP Account è un’applicazione online per la gestione di diversi tipi di account memorizzati in una directory LDAP. L’account offre agli utenti una vista astratta di una directory, che rende facile per le persone che non sono esperti di tecnologia per gestire i dati LDAP.
Qual è la differenza tra LDAP e Active Directory?
Active Directory (AD) è il database del servizio di directory utilizzato per memorizzare i dati, l’autenticazione e la politica di un’organizzazione mentre LDAP è il protocollo per comunicare con l’AD.
In sintesi, AD funziona con LDAP e la combinazione delle due applicazioni migliora la gestione degli accessi.
LDAP è sicuro?
L’autenticazione LDAP fornisce una sicurezza standard con un livello integrato di gestione degli accessi. Gli attori malintenzionati possono ancora origliare durante la trasmissione dei dati tra Active Directory e client. Ottimizza la sicurezza aggiungendo la crittografia SSL/TLS al processo di autenticazione LDAP, che rende le informazioni trasmesse durante il processo di autenticazione meno vulnerabili crittografando le comunicazioni.
La porta LDAP predefinita utilizzata per l’autenticazione (porta 389) non ha la propria sicurezza. Creare una connessione sicura aggiungendo estensioni di sicurezza, come l’estensione TLS LDAPv3 o la modalità StartTLS.
Come si esegue una query in LDAP?
Le query LDAP facilitano la ricerca di computer, utenti, gruppi e altri oggetti all’interno di Active Directory. LDAP estrae le informazioni da AD con l’aiuto di una semplice query basata su stringhe. È inoltre possibile utilizzare utilità, come ldapsearch, PowerShell o script VBS per eseguire query.
SAML vs LDAP
LDAP e SAML sono entrambi protocolli di autenticazione che aiutano le applicazioni ad accedere alle risorse IT. SAML invia informazioni utente al provider di identità e ad altre applicazioni online, mentre LDAP facilita l’autenticazione on-prem e altri processi server.
La maggior parte delle organizzazioni combina l’uso di SAML, LDAP e altri protocolli di autenticazione per accedere a vari tipi di risorse IT e raggiungere i propri obiettivi aziendali.
Kerberos vs LDAP
Kerberos è un protocollo di autenticazione e single sign-on per la gestione sicura delle credenziali. Consente a un processo di connettersi a un server di autenticazione e fornisce ticket firmati e crittografati per l’accesso a file, applicazioni e altre risorse.
LDAP, d’altra parte, facilita l’accesso a OpenLDAP, Active Directory e altre directory. Autentica le connessioni controllando i nomi utente e le password memorizzati nella directory LDAP. Poiché Kerberos è più sicuro di LDAP e LDAP ha più funzioni di Kerberos, la maggior parte delle organizzazioni utilizza entrambi i protocolli.