Kako konfigurirati LDAP klijenta da poveže vanjsku autentifikaciju


LDAP (skraćenica od Lightweight Directory Access Protocol) je industrijski standardni, široko korišteni skup protokola za pristup uslugama direktorija.

Jednostavnim rječnikom rečeno, usluga imenika je centralizirana baza podataka zasnovana na mreži optimizirana za pristup čitanju. Pohranjuje i pruža pristup informacijama koje se moraju dijeliti između aplikacija ili su visoko distribuirane.

Usluge imenika igraju važnu ulogu u razvoju intranet i Internet aplikacija pomažući vam da dijelite informacije o korisnicima, sistemima, mrežama, aplikacijama i uslugama u cijeloj mreži.

Tipičan slučaj upotrebe LDAP-a je da ponudi centralizovano skladištenje korisničkih imena i lozinki. Ovo omogućava različitim aplikacijama (ili uslugama) da se povežu na LDAP server radi provjere valjanosti korisnika.

Nakon postavljanja LDAP servera koji radi, morat ćete instalirati biblioteke na klijentu za povezivanje s njim. U ovom članku ćemo pokazati kako konfigurirati LDAP klijenta za povezivanje s vanjskim izvorom provjere autentičnosti.

Nadam se da već imate radno okruženje LDAP servera, ako ne podesite LDAP server za autentifikaciju zasnovanu na LDAP-u.

Kako instalirati i konfigurirati LDAP klijenta u Ubuntu i CentOS-u

Na klijentskim sistemima, morat ćete instalirati nekoliko potrebnih paketa kako bi mehanizam provjere autentičnosti ispravno funkcionirao s LDAP serverom.

Konfigurišite LDAP klijenta u Ubuntu 16.04 i 18.04

Prvo počnite instaliranjem potrebnih paketa pokretanjem sljedeće naredbe.

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

Tokom instalacije, od vas će se tražiti detalji o vašem LDAP serveru (navedite vrijednosti prema vašem okruženju). Imajte na umu da paket ldap-auth-config koji je automatski instaliran radi većinu konfiguracija na osnovu unosa koje unosite.

Zatim unesite naziv baze za pretragu LDAP-a, možete koristiti komponente njihovih imena domena za ovu svrhu kao što je prikazano na snimku ekrana.

Također odaberite LDAP verziju koju želite koristiti i kliknite U redu.

Sada konfigurirajte opciju koja će vam omogućiti da se uslužni programi za lozinke koji koriste pam ponašaju kao da mijenjate lokalne lozinke i kliknite Da za nastavak.

Zatim onemogućite zahtjev za prijavu na LDAP bazu podataka koristeći sljedeću opciju.

Također definirajte LDAP račun za root i kliknite Ok.

Zatim unesite lozinku koja će se koristiti kada se ldap-auth-config pokuša prijaviti na LDAP direktorij koristeći LDAP račun za root.

Rezultati dijaloga će biti pohranjeni u datoteci /etc/ldap.conf. Ako želite napraviti bilo kakve izmjene, otvorite i uredite ovu datoteku koristeći svoj omiljeni uređivač komandne linije.

Zatim konfigurirajte LDAP profil za NSS pokretanjem.

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

Zatim konfigurirajte sistem da koristi LDAP za autentifikaciju ažuriranjem PAM konfiguracija. Iz izbornika odaberite LDAP i sve druge mehanizme provjere autentičnosti koji su vam potrebni. Sada biste se trebali moći prijaviti koristeći vjerodajnice zasnovane na LDAP-u.

sudo pam-auth-update

U slučaju da želite da se kućni direktorij korisnika kreira automatski, tada morate izvršiti još jednu konfiguraciju u PAM datoteci zajedničke sesije.

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

Dodajte ovu liniju u njega.

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

Sačuvajte promjene i zatvorite datoteku. Zatim ponovo pokrenite NCSD (Name Service Cache Daemon) uslugu sa sljedećom komandom.

sudo systemctl restart nscd
sudo systemctl enable nscd

Napomena: Ako koristite replikaciju, LDAP klijenti će se morati pozivati na više servera navedenih u /etc/ldap.conf. Možete navesti sve servere u ovom obrascu:

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

Ovo implicira da će zahtjev isteći i ako Dobavljač (ldap1.example.com) prestane reagirati, Potrošač (ldap2 .example.com) će pokušati biti dosegnuti radi obrade.

Da provjerite LDAP unose za određenog korisnika sa servera, pokrenite getent komandu, na primjer.

getent passwd tecmint

Ako gornja naredba prikazuje detalje o navedenom korisniku iz datoteke /etc/passwd, vaša klijentska mašina je sada konfigurirana za autentifikaciju s LDAP serverom, trebali biste se moći prijaviti koristeći akreditive zasnovane na LDAP-u .

Konfigurirajte LDAP klijenta u CentOS 7

Da biste instalirali potrebne pakete, pokrenite sljedeću naredbu. Imajte na umu da u ovom odeljku, ako koristite sistem kao nekorijenski administrativni korisnik, koristite sudo komandu za pokretanje svih naredbi.

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

Zatim omogućite klijentskom sistemu da se autentifikuje koristeći LDAP. Možete koristiti authconfig uslužni program, koji je interfejs za konfigurisanje resursa za autentifikaciju sistema.

Pokrenite sljedeću naredbu i zamijenite example.com sa svojom domenom i dc=example,dc=com sa svojim LDAP kontrolerom domene.

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

U gornjoj naredbi, opcija --enablemkhomedir kreira kućni direktorij lokalnog korisnika pri prvoj vezi ako ne postoji.

Zatim testirajte da li LDAP unosi za određenog korisnika sa servera, na primjer korisnika tecmint.

getent passwd tecmint

Gornja komanda bi trebala prikazati detalje navedenog korisnika iz datoteke /etc/passwd, što implicira da je klijentska mašina sada konfigurirana za autentifikaciju sa LDAP serverom.

Važno: Ako je SELinux omogućen na vašem sistemu, morate dodati pravilo da omogućite automatsko kreiranje kućnih direktorija od strane mkhomedira.

Za više informacija pogledajte odgovarajuću dokumentaciju iz kataloga dokumenata OpenLDAP softvera.

Sažetak

LDAP, je široko korišten protokol za upite i modificiranje usluge direktorija. U ovom vodiču smo pokazali kako da konfigurišete LDAP klijenta da se poveže na eksterni izvor autentifikacije, na Ubuntu i CentOS klijentskim mašinama. Možete ostaviti sva pitanja ili komentare koje imate koristeći obrazac za povratne informacije ispod.