Cum se configurează clientul LDAP pentru a conecta autentificarea externă


LDAP (prescurtare de la Lightweight Directory Access Protocol) este un set de protocoale standard, utilizat pe scară largă pentru accesarea serviciilor de directoare.

Un serviciu de director în termeni simpli este o bază de date centralizată, bazată pe rețea, optimizată pentru acces la citire. Stochează și oferă acces la informații care trebuie fie partajate între aplicații, fie sunt foarte distribuite.

Serviciile de director joacă un rol important în dezvoltarea aplicațiilor intranet și Internet, ajutându-vă să partajați informații despre utilizatori, sisteme, rețele, aplicații și servicii în întreaga rețea.

Un caz de utilizare tipic pentru LDAP este de a oferi o stocare centralizată a numelor de utilizator și a parolelor. Acest lucru permite diferitelor aplicații (sau servicii) să se conecteze la serverul LDAP pentru a valida utilizatorii.

După configurarea unui server LDAP funcțional, va trebui să instalați biblioteci pe client pentru a vă conecta la acesta. În acest articol, vom arăta cum să configurați un client LDAP pentru a se conecta la o sursă de autentificare externă.

Sper că aveți deja un mediu de server LDAP funcțional, dacă nu configurați serverul LDAP pentru autentificarea bazată pe LDAP.

Cum se instalează și se configurează clientul LDAP în Ubuntu și CentOS

Pe sistemele client, va trebui să instalați câteva pachete necesare pentru ca mecanismul de autentificare să funcționeze corect cu un server LDAP.

Configurați clientul LDAP în Ubuntu 16.04 și 18.04

Mai întâi începeți prin a instala pachetele necesare executând următoarea comandă.

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

În timpul instalării, vi se vor solicita detalii despre serverul dvs. LDAP (furnizați valorile în funcție de mediul dvs.). Rețineți că pachetul ldap-auth-config care este instalat automat face cele mai multe configurații pe baza intrărilor pe care le introduceți.

Apoi, introduceți numele bazei de căutare LDAP, puteți utiliza componentele numelor de domeniu ale acestora în acest scop, așa cum se arată în captură de ecran.

De asemenea, alegeți versiunea LDAP de utilizat și faceți clic pe Ok.

Acum configurați opțiunea pentru a vă permite să faceți utilități de parole care utilizează pam să se comporte ca și cum ați schimba parolele locale și faceți clic pe Da pentru a continua.

Apoi, dezactivați cerința de conectare la baza de date LDAP utilizând următoarea opțiune.

De asemenea, definiți contul LDAP pentru root și faceți clic pe Ok.

Apoi, introduceți parola de utilizat când ldap-auth-config încearcă să se conecteze la directorul LDAP utilizând contul LDAP pentru root.

Rezultatele dialogului vor fi stocate în fișierul /etc/ldap.conf. Dacă doriți să faceți modificări, deschideți și editați acest fișier folosind editorul preferat de linie de comandă.

Apoi, configurați profilul LDAP pentru NSS rulând.

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

Apoi configurați sistemul să utilizeze LDAP pentru autentificare prin actualizarea configurațiilor PAM. Din meniu, alegeți LDAP și orice alte mecanisme de autentificare de care aveți nevoie. Acum ar trebui să vă puteți conecta folosind acreditările bazate pe LDAP.

$ sudo pam-auth-update

În cazul în care doriți ca directorul principal al utilizatorului să fie creat automat, atunci trebuie să efectuați încă o configurare în fișierul PAM de sesiune comună.

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

Adăugați această linie în ea.

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

Salvați modificările și închideți fișierul. Apoi reporniți serviciul NCSD (Name Service Cache Daemon) cu următoarea comandă.

$ sudo systemctl restart nscd
$ sudo systemctl enable nscd

Notă: dacă utilizați replicarea, clienții LDAP vor trebui să facă referire la mai multe servere specificate în /etc/ldap.conf. Puteți specifica toate serverele în acest formular:

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

Aceasta înseamnă că solicitarea va expira și dacă Furnizorul (ldap1.example.com) nu răspunde, Consumatorul (ldap2 .example.com) va încerca să fie contactat pentru a-l procesa.

Pentru a verifica intrările LDAP pentru un anumit utilizator de pe server, rulați comanda getent, de exemplu.

$ getent passwd tecmint

Dacă comanda de mai sus afișează detaliile utilizatorului specificat din fișierul /etc/passwd, mașina dvs. client este acum configurată pentru a se autentifica cu serverul LDAP, ar trebui să vă puteți conecta folosind acreditările bazate pe LDAP .

Configurați clientul LDAP în CentOS 7

Pentru a instala pachetele necesare, executați următoarea comandă. Rețineți că în această secțiune, dacă utilizați sistemul ca utilizator administrativ non-root, utilizați comanda sudo pentru a rula toate comenzile.

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

Apoi, permiteți sistemului client să se autentifice folosind LDAP. Puteți utiliza utilitarul authconfig, care este o interfață pentru configurarea resurselor de autentificare a sistemului.

Rulați următoarea comandă și înlocuiți example.com cu domeniul dvs. și dc=example,dc=com cu controlerul de domeniu LDAP.

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

În comanda de mai sus, opțiunea --enablemkhomedir creează un director de acasă al utilizatorului local la prima conexiune dacă nu există.

Apoi, testați dacă intrările LDAP pentru un anumit utilizator de pe server, de exemplu utilizatorul tecmint.

$ getent passwd tecmint

Comanda de mai sus ar trebui să afișeze detaliile utilizatorului specificat din fișierul /etc/passwd, ceea ce implică faptul că mașina client este acum configurată pentru a se autentifica cu serverul LDAP.

Important: dacă SELinux este activat pe sistemul dvs., trebuie să adăugați o regulă pentru a permite crearea automată a directoarelor de acasă prin mkhomedir.

Pentru mai multe informații, consultați documentația corespunzătoare din catalogul de documente OpenLDAP Software.

rezumat

LDAP, este un protocol utilizat pe scară largă pentru interogarea și modificarea unui serviciu de director. În acest ghid, am arătat cum să configurați un client LDAP pentru a se conecta la o sursă externă de autentificare, în mașinile client Ubuntu și CentOS. Puteți lăsa orice întrebări sau comentarii pe care le puteți avea folosind formularul de feedback de mai jos.