Dai nomi distinti all’autenticazione dell’utente

È comune per le organizzazioni fare affidamento su LDAP (Lightweight Directory Access Protocol) per eseguire la gestione, l’archiviazione e l’autenticazione degli utenti critici.

Tuttavia, può confondere gli utenti, portandoli a mescolarlo con Active Directory.

In questo articolo, esamineremo LDAP, il suo scopo e come funziona. Quindi, esamineremo le sue caratteristiche principali, la struttura delle directory e le capacità di organizzazione dei dati. Infine, tratteremo l’importanza di LDAP nella gestione del servizio di directory e dell’autenticazione degli utenti.

Cos’è LDAP?

LDAP è l’acronimo di Lightweight Directory Access Protocol. Si tratta di un protocollo aperto che regola l’autenticazione sicura degli utenti per le directory locali. Inoltre, è un protocollo applicativo indipendente dal fornitore, il che lo rende versatile e onnipresente, specialmente nei servizi di informazioni sulle directory distribuite su Internet.

LDAP è efficiente nel consentire alle applicazioni di interrogare le informazioni dell’utente. Ciò significa che può funzionare in vari modi nei servizi dell’infrastruttura IT, inclusi i servizi di posta elettronica, l’autorizzazione, la gestione delle licenze e la gestione degli utenti.

Tuttavia, non deve essere confuso con i servizi di Active Directory, un insieme di servizi/database che le aziende utilizzano per organizzare, accedere e proteggere le risorse IT. Fondamentalmente, i servizi di directory consentono alle organizzazioni di archiviare dati descrittivi, statici e preziosi.

Tecnicamente, LDAP è attribuito al processo completo di rappresentazione dei dati all’interno di un servizio di directory. Assicura che gli utenti possano ottenere i dati in un modo predefinito. Ciò significa che LDAP consente alle organizzazioni di creare voci di dati all’interno dei servizi di directory attraverso i suoi strumenti.

Quindi, all’interno di un Active Directory, LDAP garantisce anche come le voci sono composte in base a diversi elementi primitivi delineati.

In breve, LDAP è un:

  • Protocollo di comunicazione
  • È un protocollo applicativo aperto indipendente dal fornitore
  • Il protocollo del software memorizza e organizza i dati in modo che siano facilmente ricercabili.
  • Funziona con le directory locali
  • Funziona con Active Directory che contiene dati statici, descrittivi e preziosi
  • Non è un nuovo protocollo ed è stato rilasciato nel 2003

Qual è il suo scopo?

Lo scopo di LDAP ruota intorno a due cose:

  • Memorizza i dati in una directory LDAP/Active
  • Autenticare l’accesso dell’utente a quella suddetta directory
  • Consentire alle applicazioni di utilizzare un linguaggio di comunicazione appropriato per l’invio e la ricezione di dati dai servizi di directory.

In altre parole, agisce come un protocollo di comunicazione che non solo è in grado di eseguire l’autenticazione e l’autorizzazione, ma organizza anche i dati in modo ricercabile. Utilizzando LDAP, le organizzazioni possono archiviare informazioni critiche sugli utenti e sulle risorse IT, comprese le credenziali degli utenti. Inoltre, può garantire un accesso sicuro consentendo agli amministratori di impostare attivamente le regole di accesso.

Come funziona LDAP?

Al centro di LDAP, è in gioco l’architettura client-server.

Pertanto, quando avviene l’autenticazione LDAP, segue un modello client-server. E durante questo, i giocatori chiave includono quanto segue:

  • Directory System Agent (DSA): un server che esegue LDAP su una rete specifica.
  • Il nome distinto (DN) contiene il percorso per la navigazione nell’albero delle informazioni sulla directory (DIT).
  • Directory User Agent (DUA): il DUA viene utilizzato per accedere ai DSA come client.
  • Relative Distinguished Name (RDN): l’RDN specifica ciascun componente nel percorso del DN.
  • Interfaccia di programmazione dell’applicazione (API): disponiamo di API che comunicano tra i servizi e i prodotti.

Nel processo di autenticazione LDAP, quando un utente avvia un programma client LDAP come un’applicazione di posta elettronica, l’amministratore può configurare il modo in cui il client LDAP interagisce con i servizi di directory per l’autenticazione. Ad esempio, può utilizzare uno dei due metodi di autenticazione utente disponibili:

Nel tentativo di accesso, viene richiesta l’autenticazione DN. Una volta avviato il processo, LDAP assegna il client al Directory System Agent (DSA), che utilizza il DN per cercare i record corrispondenti nel database.

Il Relative Distinguished Name (RDN) all’interno del DN è una parte fondamentale della ricerca LDAP in quanto viene utilizzato in ogni fase del processo di ricerca attraverso la Directory Information Tree (DIT).

Se la ricerca ha esito positivo, l’UID e la password dell’utente corrispondenti vengono abbinati per convalidare l’utente. In caso contrario, restituisce risultati non validi.

Infine, il client si dissocia dal server LDAP. Al termine, l’utente autenticato può quindi comunicare con i servizi tramite le API. Ciò significa che può esaminare tutte le informazioni memorizzate: l’unica limitazione sono le autorizzazioni concesse.

Se vuoi saperne di più su come funziona LDAP, dai un’occhiata al suo articolo pubblicato nel 2003 da Greg Vaneder e Mark Wahl. E, se vuoi saperne di più su come funzionano le operazioni di ricerca LDAP, dai un’occhiata a The LDAP Search Operation.

Caratteristiche principali di LDAP

Le caratteristiche chiave di LDAP possono essere riassunte di seguito:

  • Autenticare le sessioni utente: può essere utilizzato per autenticare le sessioni utente in un servizio di database come Active Directory.
  • Diversi tipi di operazioni: può anche eseguire operazioni su un database del server di directory, incluso
    • sessioni vincolanti
    • l’eliminazione delle voci LDAP
    • Modifica voci esistenti
    • Cerca e confronta le voci.
    • Abbandona le richieste
    • Operazioni di svincolamento
  • Leggero: LDAP è leggero, garantendo un piccolo sovraccarico per le risorse di rete e di sistema.
  • Indipendente dal fornitore e dal protocollo: LDAP è anche indipendente dal fornitore e dal protocollo. Ciò significa che funziona con qualsiasi fornitore/soluzione/protocollo. Ad esempio, puoi utilizzare LDAP su TCP/IP o X.25. Tuttavia, l’ultima versione di LDAP, LDAPv3, utilizza TCP/IP.
  • Struttura di directory: LDAP utilizza una struttura ad albero di directory per archiviare e accedere alle risorse all’interno di un database di directory. La relazione genitore-figlio significa ricerca e recupero più veloci.
  • Standardizzazione: LDAP è standardizzato dall’IETF (Internet Engineering Task Force). La standardizzazione garantisce che LDAP funzioni su diversi fornitori.
  • Sicurezza: LDAP è sicuro. Raggiunge la sicurezza utilizzando TLS sicuro sul livello TCP/IP. Può anche utilizzare Secure Socket (SSL) per crittografare, decrittografare e trasferire informazioni in remoto con completa integrità e riservatezza.
  • Replica: LDAP supporta anche la replica su più server. Garantisce la ridondanza dei dati e fornisce la disponibilità dei dati in caso di guasti. Utilizza Syncrepl, un motore di replica di Sync.

Struttura della directory LDAP

La directory LDAP ha una struttura chiara e definita. Ciò consente un facile accesso ai dati e aumenta la ricercabilità del contenuto della directory LDAP.

Poiché LDAP segue una struttura ad albero, è gerarchico. Ed è per questo che è principalmente preferito come Directory Information Tree (DIT).

I diversi livelli della struttura della directory LDAP includono:

  • Root directory
  • Organizzazione

Come puoi vedere, esiste una struttura ad albero nella directory LDAP. La directory “root” è una voce di primo livello che include tutte le altre voci nel livello della directory. Sotto di esso, ottieni Paese (paesi) che poi si dirama in Organizzazione (i). Successivamente, si dirama verso le unità organizzative (OU) e, infine, gli individui e i gruppi.

Per comprendere la struttura della directory LDAP, diamo un’occhiata a un esempio di seguito.

 - Root (Top-level entry)
   |
   +-- Country: "dc=com" (e.g., dc=example,dc=com)
         |
         +-- Organization: "dc=example" (e.g., dc=example)
               |
               +-- Organizational Unit (OU): "ou=Users"
               |      |
               |      +-- User: "cn=Nitish Singh"
               |      |
               |      +-- User: "cn= Oliver Green"
               |
               +-- Organizational Unit (OU): "ou=Groups"
                      |
                      +-- Group: "cn=Admins"
                      |
                      +-- Group: "cn=Users"
		|
		+-- Group: “cn=Superusers”

L’entità Root è identificata con DC, che sta per Domain Component attribute. Quindi, se “dc=com”, la voce radice viene identificata come dominio “com”.

Sotto root, puoi avere più organizzazioni o domini. È rappresentato da “dc=organizzazione”. sotto il dominio “com”.

Allo stesso modo, ogni organizzazione può avere una o più unità organizzative (UO). L’amministratore può organizzarli logicamente in suddivisioni. Ad esempio, puoi impostare OU su “utenti”, “gruppi” o “superutenti”.

Infine, sotto ogni unità organizzativa, puoi elencare voci diverse, inclusi gruppi, dispositivi, utenti e così via. Nel nostro esempio, due valori di utenti dell’unità organizzativa includono “Nitish Singh” e “Oliver Green”. Allo stesso modo, sotto i gruppi di unità organizzative, abbiamo “Amministratori”, “Utenti” e “Superutenti”.

La struttura della directory LDA dipende fortemente dal nome distinto (DN) poiché viene utilizzato per identificare ciascuna voce. Questo perché contiene un nome univoco e viene utilizzato per recuperare il nome distinto relativo (RDN).

Elementi comuni LDAP

Per comprendere l’organizzazione dei dati LDAP, dobbiamo comprendere gli elementi comuni di LDAP, che portano alla costruzione delle voci del sistema LDAP.

I componenti dei dati LDAP di base includono:

  • Attributi:
  • Inserimenti:
  • Alberi di informazioni sui dati

Attributi

Gli attributi in LDAP sono coppie chiave-valore. Questi memorizzano i dati all’interno del sistema LDAP. Ad esempio, l’attributo mail deve essere utilizzato per archiviare la posta all’interno del sistema LDAP.

posta: [email protected]

Inserimenti

Le voci all’interno del sistema LDAP si associano all’attribuzione per fornire un significato. Puoi pensare alle voci come a una raccolta di attributi correlati.

Ad esempio, i dati nel formato LDIF (LDAP Data Interchange Format) avranno il seguente aspetto:

dn: sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction

objectclass: wizard

sn: Hogwarts

cn: Harry Potter

Alberi di informazioni sui dati

I Data Information Trees, o DIT, rappresentano e accedono ai dati all’interno di un sistema LDAP. Poiché la maggior parte dei dati è ramificata, ha senso rappresentarli attraverso alberi. È analogo a un file system con un’associazione padre-figlio.

Organizzazione dei dati LDAP

Ora, con l’idea di base delle entità, possiamo esplorare l’organizzazione dei dati all’interno del sistema LDAP.

Qui, LDAP utilizza il DIT per organizzare e strutturare i dati. Tuttavia, come lo raggiunge? Discutiamolo di seguito.

Per posizionare le voci in un DIT che sono correlate tra loro gerarchicamente. Quindi, quando viene creata una nuova voce, viene aggiunta alla struttura ad albero come figlio di una voce esistente.

Tutto inizia in cima all’albero gerarchico nel DIT. Poiché copre tutte le voci secondarie, è principalmente etichettato come un’organizzazione come “dc=com o example. Questo viene fatto utilizzando componenti di dominio per garantire una facile gestione. In questo modo, l’amministratore può impostare la posizione utilizzando l=location_name o segmenti organizzativi, come ou=tech, marketing, ecc.

Le voci utilizzano la classe oggetto dell’unità organizzativa (OU). Questo perché le voci possono utilizzare l’etichetta dell’attributo ou=. Sono semplici e offrono un modo eccellente per classificare e trovare informazioni all’interno del DIT.

Segue un altro concetto importante noto come Relative Distinguished Name. È il nome relativo di un elemento che dipende dal suo livello gerarchico DIT. Pertanto, per accedere a una voce, è necessario inserire i valori RDN dell’entità insieme al valore RDN del genitore.

Questo crea una catena di valori RDN, che va dal basso verso l’alto, creando un percorso verso quella voce. E questa catena di valori RDN è nota come “Nome distinto o DN”.

In altre parole, devi menzionare il DN durante la creazione della voce in modo che LDAP sappia esattamente dove devi posizionare la nuova risorsa o informazione. Pertanto, RDN funge da valore relativo, mentre DN è più un percorso assoluto.

Importanza di LDAP

In questa sezione, daremo uno sguardo all’importanza di LDAP da due prospettive:

  • Gestione del servizio di directory: il protocollo LDAP dispone dei mezzi adeguati per archiviare e accedere ai dati della directory LDAP. Ne abbiamo già discusso nelle sezioni “Come funziona LDAP e i componenti dei dati” e “Organizzazione”. LDAP è un mezzo per gestire, archiviare, accedere e proteggere i dati. Garantisce inoltre un efficiente recupero delle informazioni. Inoltre, offre anche scalabilità e replica.
  • Autenticazione dell’utente: oltre a gestire i servizi di directory, LDAP eccelle nell’autenticazione e nell’autorizzazione dell’utente. Una volta creata la connessione, l’utente può accedere alle risorse archiviate in base alle regole di accesso impostate dall’amministratore.

LDAP rispetto ad Active Directory

È comune per le persone confondere LDAP e Active Directory. LDAP e Active Directory di Microsoft lavorano a stretto contatto per fornire alle organizzazioni un mezzo per archiviare e accedere in modo sicuro e protetto ai dati organizzativi tra i reparti in modo sicuro e protetto.

Quindi, LDAP è un protocollo, mentre Active Directory è un prodotto del servizio di directory che archivia i dati organizzativi in ​​una struttura ad albero.

LDAP funge da protocollo di comunicazione per accedere ai server di directory come Active Directory.

Conclusione

LDAP è un protocollo chiave per lavorare con i servizi di Active Directory. È un protocollo leggero che non crea alcun sovraccarico sui servizi e sui server con cui funziona. Inoltre, la sua natura open source, indipendente dal fornitore e standardizzata significa che può essere facilmente integrato nelle soluzioni esistenti.

Puoi anche esplorare l’autenticazione a più fattori (MFA).