Come configurare il client LDAP per collegare l’autenticazione esterna

LDAP (abbreviazione di Lightweight Directory Access Protocol) è uno standard industriale, un insieme di protocolli ampiamente utilizzato per accedere ai servizi di directory.

Un servizio di directory in termini semplici è un database centralizzato, basato sulla rete e ottimizzato per l’accesso in lettura. Memorizza e fornisce l’accesso alle informazioni che devono essere condivise tra le applicazioni o che sono altamente distribuite.

I servizi di directory giocano un ruolo importante nello sviluppo di applicazioni intranet e Internet, aiutandovi a condividere informazioni su utenti, sistemi, reti, applicazioni e servizi in tutta la rete.

Un tipico caso d’uso di LDAP è quello di offrire un archivio centralizzato di nomi utente e password. Questo permette a varie applicazioni (o servizi) di connettersi al server LDAP per convalidare gli utenti.

Dopo aver impostato un server LDAP funzionante, sarà necessario installare le librerie sul client per connettersi ad esso. In questo articolo, mostreremo come configurare un client LDAP per connettersi a una fonte di autenticazione esterna.

Spero che tu abbia già un ambiente server LDAP funzionante, altrimenti configura Up LDAP Server per l’autenticazione basata su LDAP.

Come installare e configurare il client LDAP in Ubuntu e CentOS

Sui sistemi client, dovrai installare alcuni pacchetti necessari per far funzionare correttamente il meccanismo di autenticazione con un server LDAP.

Configurare il client LDAP in Ubuntu 16.04 e 18.04

Prima inizia installando i pacchetti necessari eseguendo il seguente comando.

$ sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

Durante l’installazione, ti verranno richiesti i dettagli del tuo server LDAP (fornisci i valori secondo il tuo ambiente). Si noti che il pacchetto ldap-auth-config che è auto-installato fa la maggior parte delle configurazioni in base agli input inseriti.

Enter LDAP Server URI
Enter LDAP Server URI

Next, enter the name of the LDAP search base, you can use the components of their domain names for this purpose as shown in the screenshot.

Enter LDAP Search Base
Enter LDAP Search Base

Also choose the LDAP version to use and click Ok.

Select LDAP Version
Select LDAP Version

Now configure the option to allow you to make password utilities that use pam to behave like you would be changing local passwords and click Yes to continue..

Make Local Root Database Admin
Make Local Root Database Admin

Next, disable login requirement to the LDAP database using the next option.

Disable Login to LDAP Database
Disable Login to LDAP Database

Also define LDAP account for root and click Ok.

Define LDAP Account for Root
Define LDAP Account for Root

Next, enter the password to use when ldap-auth-config tries to login to the LDAP directory using the LDAP account for root.

Enter LDAP Root Password
Enter LDAP Root Password

The results of the dialog will be stored in the file /etc/ldap.conf. Se vuoi fare delle modifiche, apri e modifica questo file usando il tuo editor di linea di comando preferito.

In seguito, configura il profilo LDAP per NSS eseguendo.

$ sudo auth-client-config -t nss -p lac_ldap

Poi configura il sistema per usare LDAP per l’autenticazione aggiornando le configurazioni PAM. Dal menu, scegliete LDAP e qualsiasi altro meccanismo di autenticazione di cui avete bisogno. Ora dovreste essere in grado di accedere usando credenziali basate su LDAP.

$ sudo pam-auth-update
Configura il meccanismo di autenticazione PAM
Configura il meccanismo di autenticazione PAM

In caso si voglia che la home directory dell’utente venga creata automaticamente, allora è necessario eseguire un’altra configurazione nel file PAM della sessione comune.

$ sudo vim /etc/pam.d/common-session

Aggiungi questa linea in esso.

session required pam_mkhomedir.so skel=/etc/skel umask=077

Salvare le modifiche e chiudere il file. Poi riavvia il servizio NCSD (Name Service Cache Daemon) con il seguente comando.

$ sudo systemctl restart nscd$ sudo systemctl enable nscd

Nota: Se stai usando la replica, i client LDAP dovranno fare riferimento a più server specificati in /etc/ldap.conf. Puoi specificare tutti i server in questa forma:

uri ldap://ldap1.example.com ldap://ldap2.example.com

Questo implica che la richiesta andrà in time out e se il Provider (ldap1.example.com) non risponde, il Consumer (ldap2.example.com) tenterà di essere raggiunto per elaborarla.

Per controllare le voci LDAP per un particolare utente dal server, esegui il comando getent, per esempio.

$ getent passwd tecmint

Se il comando precedente visualizza i dettagli dell’utente specificato dal file /etc/passwd, la tua macchina client è ora configurata per autenticarsi con il server LDAP, dovresti essere in grado di accedere usando le credenziali LDAP.

Configura il client LDAP in CentOS 7

Per installare i pacchetti necessari, esegui il seguente comando. Si noti che in questa sezione, se si sta operando il sistema come utente amministrativo non root, utilizzare il comando sudo per eseguire tutti i comandi.

# yum update && yum install openldap openldap-clients nss-pam-ldapd

In seguito, abilitare il sistema client ad autenticarsi utilizzando LDAP. Puoi usare l’utilità authconfig, che è un’interfaccia per configurare le risorse di autenticazione del sistema.

Esegui il seguente comando e sostituisci example.com con il tuo dominio e dc=example,dc=com con il tuo controller di dominio LDAP.

# authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update

Nel comando precedente, l’opzione --enablemkhomedir crea una home directory locale dell’utente alla prima connessione se non ne esiste nessuna.

In seguito, verifica se le voci LDAP per un particolare utente dal server, per esempio l’utente tecmint.

$ getent passwd tecmint

Il comando precedente dovrebbe visualizzare i dettagli dell’utente specificato dal file /etc/passwd, il che implica che la macchina client è ora configurata per autenticarsi con il server LDAP.

Importante: se SELinux è abilitato sul tuo sistema, devi aggiungere una regola per permettere la creazione automatica di home directory da parte di mkhomedir.

Per maggiori informazioni, consulta la documentazione appropriata dal catalogo documenti del software OpenLDAP.

Sommario

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *