Autenticazione su un server LDAP
Molti lo usano ma non sanno di usarlo, altri lo hanno sempre evitato, altri semplicemente non hanno mai avuto la necessità di usarlo: parliamo di LDAP. In realtà in questa guida non usiamo il protocollo al massimo delle sue pontenzialità, ma ci limitiamo a descriverne il funzionamento come sistema di autenticazione (che è poi il motivo per cui viene usato spesso) di un'ipotetica rete di workstation Linux.
Configurare il server
Per installare un server LDAP si può dare il comando:
apt-get install slapd phpldapadmin
che installerà il "demone" slapd, ovvero un server LDAP, e phpldapadmin, un'interfaccia web per configurare il server LDAP.
In modo predefinito il server LDAP viene configurato con le attuali impostazioni di rete: ovviamente bisogna riconfigurarlo con quello che ci serve a noi:
dpkg-reconfigure slapd
Ovviamente, oltre alle configurazioni del dominio e pw di admin, ci chiede se vogliamo "purgare" la vecchia configurazione. Ovviamente scegliamo Yes. Ora siamo pronti per collegarci via Web al pannello amministrativo, tramite l'indirizzo:
http://ip.del.vostro.server/phpldapadmin/
Ora selezioniamo login e digitiamo il nome utente e la password (ovviamente il nome utente in formato LDAP, cioè:)
cn=admin,dn=nomedelvostrodominio
Ora possiamo cominciare a creare gli oggetti dentro il "database" LDAP!
Configurare il client
Per utilizzare il client LDAP sono necessarie le librerie libpam-ldap e libnss-ldap, scaricabili da una debian con il comando:
apt-get install libpam-ldap libnss-ldap
Il sistema di configurazione post-installazione ci chiederà i settaggi per raggiungere il server LDAP (come indirizzo IP, percorso di base, ecc.)
Finita la configurazione delle librerie, passiamo a quella di PAM: modifichiamo il file /etc/nsswitch.conf aggiungendo ldap alle righe contenenti: passwd group e shadow, diventando quindi simile a:
passwd: compat ldap
group: compat ldap
shadow: compat ldap
Ora andiamo a modificare i file di PAM aggiungendo di volta in volta la riga indicata:
- common-account:
account sufficient pam_ldap.so
- common-auth:
auth sufficient pam_ldap.so
- common-password:
password sufficient pam_ldap.so
- common-session:
session required pam_mkhomedir.so skel=/etc/skel/
session optional pam_ldap.so
Ora si rende necessario un adattamento di /etc/ldap/ldap.conf e /etc/libnss-ldap.conf per puntare al server.
Potrebbe succedere che al login venga visualizzata due volte la richiesta di password: questo perché è necessario aggiungere use_first_pass alla riga di pam_unix.so nel file common-auth, così che il modulo pam_unix.so usi la prima password, senza chiederla di nuovo.
|