1. Argomenti
  2. Sicurezza
  3. Cos'è l'autenticazione LDAP (Lightweight Directory Access Protocol)?

Cos'è l'autenticazione LDAP (Lightweight Directory Access Protocol)?

CopiatoCopia non riuscitaCopia URL

Il Lightweight Directory Access Protocol (LDAP) è un protocollo che aiuta gli utenti a trovare dati su organizzazioni, persone e altro ancora. LDAP ha due obiettivi principali: archiviare i dati nella directory LDAP e autenticare gli utenti che accedono alla stessa. Inoltre, fornisce il linguaggio di comunicazione necessario alle applicazioni per inviare e ricevere informazioni dai servizi directory. Un servizio directory fornisce l'accesso allaposizione in cui le informazioni su organizzazioni, individui e altri dati si trovano all'interno di una rete.

Lo scenario di utilizzo più comune di LDAP è la fornitura di una posizione centrale per l'accesso e la gestione dei servizi directory. LDAP consente alle organizzazioni di archiviare, gestire e proteggere le informazioni relative all'organizzazione, ai suoi utenti e alle risorse, come nomi utente e password. Queste funzionalità aiutano a semplificare l'accesso allo storage perché forniscono una struttura gerarchica delle informazioni e possono essere fondamentali per le aziende man mano che crescono e acquisiscono più risorse e dati sugli utenti. 

LDAP funziona anche come soluzione di gestione delle identità e degli accessi (IAM) per l'autenticazione degli utenti, e include il supporto per Kerberos e Single Sign-On (SSO), Simple Authentication Security Layer (SASL) e Secure Sockets Layer (SSL).

Prova Red Hat Enterprise Linux

LDAP è il protocollo di base utilizzato, (non esclusivamente) nel servizio directory Active Directory (AD) di Microsoft. Si tratta di un database di servizi directory di grandi dimensioni che contiene informazioni relative a tutti gli account utente di una rete. In particolare, LDAP è una versione semplificata di Directory Access Protocol (DAP) e offre una posizione centrale per l'accesso e la gestione dei servizi directory in esecuzione su Transmission Control Protocol/Internet Protocol (TCP/IP). La versione più recente è LDAPv3. 

AD fornisce l'autenticazione e la gestione di utenti e gruppi ed è ciò che in ultima analisi autentica un utente o un computer. Il database contiene un volume di attributi superiore a quello che viene inserito in LDAP. Tuttavia, LDAP è specializzato nella ricerca di oggetti directory con poche informazioni, quindi non è necessario estrarre tutti i suoi attributi da AD o dal servizio directory da cui proviene.

L'obiettivo principale di LDAP è comunicare con oggetti (ad esempio domini, utenti, gruppi, ecc.), archiviarli ed estrarli da AD in un formato utilizzabile per la propria directory, che si trova sul server LDAP. 

Un’analogia può esemplificare: AD è la biblioteca più grande del mondo e stai cercando un libro con un titolo che menzioni gli zombi. Nel mondo di LDAP, i dettagli sul fatto che il libro sia stato pubblicato o meno negli Stati Uniti, contenga oltre 1.000 pagine o sia una guida pratica per sopravvivere all'apocalisse degli zombi non contano, anche se aiutano a restringere le opzioni disponibile. LDAP è il bibliotecario esperto che sa esattamente dove trovare tutte le opzioni che soddisfano la tua richiesta ed è in grado di verificare di aver trovato quello che stai cercando.

Ottimizza la sicurezza di Linux con Red Hat

Cosa richiede una ricerca LDAP e come funziona?

Il processo di autenticazione LDAP è un modello di autenticazione client-server e comprende i seguenti elementi chiave: 

  • Directory System Agent (DSA): un server che esegue LDAP sulla propria rete
  • Directory User Agent (DUA): accede ai DSA come client (ad esempio il PC di un utente)
  • DN: il nome distinto, che contiene un percorso attraverso la gerarchia delle informazioni della directory (DIT) in cui LDAP può navigare (ex. cn=Susan, ou=utenti, o=Azienda)
  • Relative Distinguished Name (RDN): ciascun componente nel percorso all'interno del DN (es. cn=Susan)
  • Interfaccia di programmazione delle applicazioni(API): consente al tuo prodotto o servizio di comunicare con altri prodotti e servizi senza dover sapere come vengono implementati

Il processo inizia quando un utente tenta di accedere a un programma client abilitato per LDAP, come un'applicazione di posta elettronica aziendale, sul proprio PC. Con LDAPv3, gli utenti utilizzano uno dei due metodi di autenticazione utente possibili: l'autenticazione semplice, come SSO con credenziali di accesso, o l'autenticazione SASL, che associa il server LDAP a un programma come Kerberos. Il tentativo di accesso invia una richiesta di autenticazione del DN assegnato all'utente. Il DN viene inviato tramite l'API client o il servizio che avvia il DSA.

Il client si collega automaticamente al DSA, e LDAP utilizza il DN per cercare l'oggetto o il set di oggetti corrispondente nei record nel database LDAP. Le RDN nel DN sono molto importanti in questa fase, in quanto forniscono ogni fase della ricerca di LDAP tramite il DIT per trovare la persona. Se nel percorso manca un RDN di connessione sul back end, il risultato potrebbe non essere valido. In questo caso, l'oggetto che LDAP sta cercando è il singolo account utente (cn=Susan) e può convalidare l'utente solo se l'uid dell'account nella directory corrisponde alla userPassword. I gruppi di utenti sono anche identificati come oggetti all'interno della directory LDAP.

Dopo che l'utente riceve una risposta (valida o non valida), il client si disconnette dal server LDAP. Gli utenti autenticati sono quindi in grado di accedere all'API e ai suoi servizi, inclusi i file necessari, le informazioni sull'utente e altri dati delle applicazioni, in base alle autorizzazioni concesse dall'amministratore di sistema. 

La struttura leggera di LDAP e l'utilizzo di un DIT consentono di eseguire rapidamente una ricerca LDAP e fornire risultati in modo corretto. Comprendere la DIT è fondamentale per navigare correttamente in un server LDAP e capire come funzionano le ricerche LDAP.

La DIT consente di navigare rapidamente tra i diversi livelli della directory LDAP per restringere i risultati della ricerca e fornire una risposta a una query. La DIT inizia dalla directory root, seguita dai paesi, per poi suddividersi in due sottoclassi: la componente di dominio, o Domain Component (dc) e il nome dell'organizzazione, o Organization Name (o).

Componente di accesso al dominio (dc)

Il dc (ad esempio dc=com, dc=esempio) utilizza la mappatura DNS (Domain Name System) per individuare i nomi di dominio Internet e tradurli in indirizzi IP. 

La maggior parte degli utenti non conosce il nome di dominio e/o l'indirizzo IP della persona che sta cercando. In questo caso, LDAP utilizza il come distinto (Distinguished Name, DN) assegnato all'utente come percorso per spostarsi rapidamente all'interno della DIT e trovare il risultato della ricerca. È qui che entra in gioco la sottoclasse o. 

Organization Name (o)

La sottoclasse o (es. o-Azienda) è una delle sottoclassi più generiche elencate nel DN e in genere è il punto da cui parte LDAP quando esegue una ricerca. Ad esempio, un percorso semplice in genere inizia con la sottoclasse o, per poi arrivare all'Organizational Unit (ou), ovvero l'unità organizzativa, seguita da un account utente o da un gruppo. 

Organizational Unit (ou)

Come accennato in precedenza, ou è una sottoclasse di o ed è spesso vista come ou=utenti o ou=gruppo, ognuno dei quali contiene un elenco di account utente o gruppi. Ecco come potrebbe apparire in una directory:

  • o-Azienda

    • ou=gruppi

      • cn=sviluppatori

    • ou=utenti

      • cn=Susan 

Common name (cn)

Un Common name (cn), ovvero un nome comune, viene utilizzato per identificare il nome di un gruppo o di un singolo account utente (ad esempio cn=sviluppatori, cn=Susan). Un utente può appartenere a un gruppo, quindi se Susan è uno sviluppatore, potrebbe anche trovarsi in cn=sviluppatori. 

Attributi e valori

Ogni sottoclasse nella DIT LDAP (ovvero o, ou, cn) contiene attributi e valori o uno schema che contiene informazioni sulla struttura di una directory LDAP che possono aiutare a restringere la ricerca. Gli attributi sono simili a quelli che si trovano in una voce della rubrica, con etichette come nome, numero di telefono e indirizzo, e a ciascun attributo sono assegnati valori. Ad esempio, Susan è il valore dell'attributo name.

Nell'account cn=Susan, l'uid e la userPassword sono attributi e le credenziali di accesso di un utente sono i valori. Tuttavia, in un gruppo come cn=sviluppatori, Susan ha l'attributo uniqueMember (es. uniqueMember=cn-Susan,ou-Utenti,o-Azienda). In questo modo viene mappato un percorso verso la posizione in cui si trova il singolo account utente di Susan, insieme alle informazioni che LDAP sta cercando. Un account utente è l'ultimo livello nella DIT ed è da qui che LDAP estrae i risultati della ricerca. 

Esistono molti altri tipi di attributi e sintassi che possono aiutare a restringere una ricerca, incluse le ObjectClass, come organizationPerson (strutturale) o personal (strutturale). Tuttavia, il numero di attributi su LDAP è limitato per mantenerlo leggero e facile da usare.

In genere, gli amministratori delle reti aziendali gestiscono migliaia di utenti alla volta. Ciò significa che sono responsabili dell'assegnazione dei controlli e delle policy degli accessi in base al ruolo dell'utente e dell'accesso ai file per le attività quotidiane, come una intranet aziendale.

LDAP semplifica il processo di gestione degli utenti, fa risparmiare tempo prezioso agli amministratori di rete e centralizza il processo di autenticazione. Prima di integrare LDAP nell'ambiente, è importante considerare quanto segue:

  • Capacità: quanti dati di gestione degli utenti devono essere archiviati? Valuta se i prodotti che implementano soluzioni LDAP sono in grado di archiviare e gestire tutti i dati necessari.

  • Frequenza di ricerca: ci sono dati a cui un utente deve accedere quotidianamente, come una intranet aziendale, un'applicazione di posta elettronica o un servizio? Se è così, LDAP potrebbe fare al caso tuo.

  • Organizzazione: la sola DIT in LDAP fornisce un'organizzazione sufficiente per i tuoi dati, o è necessario un sistema più dettagliato?

Sebbene LDAP sia comunemente utilizzato in AD, può essere utilizzato anche per autenticare gli utenti per altri strumenti e ambienti client, inclusi Red Hat Directory Servers su UNIX e OpenLDAP, un'applicazione open source su Windows. Puoi anche sfruttare le funzionalità di autenticazione e gestione degli utenti di LDAP per la gestione delle API, il controllo degli accessi basato sui ruoli (RBAC) o altre applicazioni e servizi come Docker e Kubernetes.

Red Hat® Enterprise Linux® comprende le capacità di gestione centralizzata delle identità (IdM) che permettono di autenticare gli utenti e adottare il sistema RBAC utilizzando un'unica interfaccia scalabile per tutto il datacenter.

La gestione delle identità con Red Hat Enterprise Linux include una serie di funzionalità di autenticazione e autorizzazione, tra cui: 

  • Gestione centralizzata delle identità. Red Hat Enterprise Linux semplifica la gestione centralizzata delle identità, consentendo alle organizzazioni di applicare i controlli di sicurezza, soddisfare gli standard di conformità e gestire i criteri di autenticazione da un'unica posizione, garantendo coerenza tra le piattaforme, migliorando l'esperienza dell'utente e riducendo il carico IT.
  • Autenticazione a più fattori (MFA) e funzionalità senza password. Red Hat Enterprise Linux offre l'autenticazione a più fattori (MFA), che fornisce un secondo livello di verifica dell'identità. Red Hat Enterprise Linux crea l'architettura Zero Trust (ZTA) supportando l'autenticazione senza password, inclusi i ticket Kerberos FIDO2/WebAuthn e derivati da passkey per gli accessi SSH e GDM, portando la sicurezza oltre la semplice MFA a uno stato di autenticazione adattivo e resistente al phishing.
  • Integrazione di provider di identità esterni. Red Hat Enterprise Linux consente agli utenti di autenticarsi con i client utilizzando OAuth 2.0 e si integra con provider di identità esterni come Keycloak, Entra ID (Azure AD) e GitHub. Ciò consente di delegare i processi di autenticazione e autorizzazione a entità esterne, migliorando la flessibilità e l'interoperabilità all'interno dei diversi ambienti IT.
  • Gestione completa di criteri e certificati. Red Hat Enterprise Linux offre una gestione personalizzata dei criteri di sicurezza, incluso il controllo degli accessi basato sui ruoli per delegare l'amministrazione dei server IdM e regole sudo personalizzate per limitare l'escalation dei privilegi. Fornisce inoltre strumenti affidabili di gestione dei certificati che automatizzano l'intero ciclo di vita dei certificati, monitorando le scadenze, garantendo la tempestività dei rinnovi e utilizzando l'autenticazione dell'infrastruttura a chiave pubblica (PKI) per verificare le identità affidabili, un componente chiave della ZTA.
  • Automazione e orchestrazione con i ruoli di sistema. Grazie ai Red Hat System Roles (basati su Ansible Automation Platform), Red Hat Enterprise Linux automatizza la configurazione e la gestione della sicurezza. Questa automazione è fondamentale per garantire coerenza e conformità in modo scalabile in tutti gli ambienti, dal cloud all'on premise, riducendo il lavoro manuale e i potenziali errori di configurazione. I ruoli di sistema fanno parte del livello di automazione e orchestrazione all'interno del framework CISA ZTA.

Scopri di più sulla sicurezza di Red Hat Enterprise Linux

Red Hat offre anche Red Hat Directory Server come componente aggiuntivo per chi ha esigenze più specifiche.

Red Hat Directory Server è una directory scalabile basata su LDAP per ambienti diversificati di grandi dimensioni. Utilizza opzioni che riescono a sostituire quasi immediatamente le costose soluzioni LDAP di terze parti esistenti e gestisci topologie di directory complesse e distribuite con un'ampia gamma di opzioni di replica. Questa soluzione offre flessibilità perché fornisce attributi e schemi personalizzabili per i dati delle directory.

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Shift left e shift right a confronto

Adottare strategie shift left e shift right significa implementare test continui in ogni fase del ciclo di vita dello sviluppo del software.

Cos'è un software bill of materials (SBOM) ?

Scopri il ruolo di un software bill of materials (SBOM, ovvero una distinta base del software) nella trasparenza del software, nella gestione dei rischi e nella protezione della catena di distribuzione dalle vulnerabilità.

Cos'è la metodologia DevSecOps?

Per sfruttare tutta l'agilità e la reattività di DevOps, occorre tenere conto anche di un altro elemento indispensabile dell'intero ciclo di vita delle applicazioni: la sicurezza IT.

Sicurezza: risorse consigliate

Articoli correlati