Configurare un client CentOS per l'autenticazione ldap

Da sia.
Vai alla navigazione Vai alla ricerca

Installare e configurare le librerie ldap

Se non presenti installare i pacchetti:

  • nss_ldap
  • openldap-clients
  • openssl
yum install nss_ldap openldap-clients openssl

Editare /etc/openldap/ldap.conf e modificarlo come segue

BASE    dc=unimore,dc=it
URI     ldap://ldap5.unimore.it
TLS_CACERT /etc/pki/tls/certs/DigiCertCA.crt
  • BASE: indica il nome dell'albero
  • URI: indica l'indirizzo dei server ldap da interrogare. Il secondo è per il fault tolerance
  • TLS_Cert: indica il path dei certificati TLS che servono per l'interrogazioni LDAP Cifrate (con lo switch -ZZ)

Oppure usare l'apposita Utility

authconfig-tui

e scegliere le voci:

  • Use LDAP
  • Use MD5 Passwords
  • Use Shadow Passwords
  • Use LDAP Authentication
  • Local authorization is sufficient (Nel caso di utenti locali al server)

LDAP Settings:

  • Use TLS
  • Server: ldap://ldap5.unimore.it
  • Base DN: dc=unimore,dc=it

in questo caso bisogna copiare il file dei certificati della CA in

/etc/openldap/cacerts

Il file DigiCertCA.crt è scaricabile autonomamente secondo le istruzioni a Questo Indirizzo oppure con:

cd /etc/pki/tls/certs
sudo wget http://apps.lettere.unimo.it/samba-ldap/certs/createhash.sh
sudo sh createhash.sh


Verifica

ldapsearch -x 'uid=UIDdiUnUtenteEsistente' 

Se non funziona e il tempo di attesa supera la decina di secondi, probabilmente è un problema di firewall.

ldapsearch -x -ZZ 'uid=UIDdiUnUtenteEsistente'

Se non funziona è un problema di certificati

ldapsearch -x -ZZ 'uid'

Se non restituisce circa 30.000 entry c'è un qualche errore misterioso per cui contattare Supporto Sistemi

Configurare il servizio nss (risoluzione degli utenti)

Se si è usata l'apposita utility authconfig-tui non c'è bisogno di fare nulla; altrimenti editare il file

/etc/nsswitch.conf

come segue:

passwd:     files ldap
shadow:     files ldap
group:      files

Inoltre modificare nel file /etc/ldap.conf le righe (se non si usa authconfig-tui):

uri ldap://ldap5.unimore.it
ssl start_tls
tls_cacertdir /etc/openldap/cacerts

Configurare pam-ldap

Fare 2 link simbolici

ln -s /bin/bash /bin/mosh
ln -s /home /homel

Servono per la logica di funzionamento di LDAP: se mancano ci sono dei problemi con il login degli utenti sulla macchina (he sono monitorabili con un tail -f /var/log/secure

Aggiungere la seguente riga in /etc/pam.d/sshd

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

che crea la home dell'utente On The Fly al suo login se non esiste già

Cambiare la bind_policy nel file /etc/ldap.conf:

bind_policy soft

per evitare di impiegare 16 minuti per fare il boot nel caso che il server LDAP non venga trovato.

Nel caso si usi l'apposita utility authconfig-tui, ricordarsi di modificare questo parametro TUTTE le volte perché il file viene sovrascritto

Se non si è usata l'apposita utility authconfig-tui, modificare il file

/etc/pam.d/system-auth

come di seguito

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so 

password    requisite     pam_cracklib.so try_first_pass retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so 

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

Chi ha usato authconfig-tui potrebbe dover modificare a mano il file /etc/nsswitch.conf e togliere la risoluzione ldap per i gruppi. Infatti talvolta si impatta in un timeout tale da impedire il login.

Da non dimenticare

Aquesto punto, qualunque utente presente in LDAp può accedere a questa macchina! Precipitarsi a modificare il file

/etc/ssh/sshd_config

e aggiungere una riga del tipo

AllowUsers UIDutente1 UIDutente2 ... UIDutenteN