Zoeken op website

Hoe u de LDAP-client configureert om verbinding te maken met externe authenticatie


LDAP (afkorting van Lightweight Directory Access Protocol) is een industriestandaard, veelgebruikte set protocollen voor toegang tot directoryservices.

Een directoryservice is in eenvoudige bewoordingen een gecentraliseerde, netwerkgebaseerde database die is geoptimaliseerd voor leestoegang. Het slaat informatie op en biedt toegang tot informatie die moet worden gedeeld tussen applicaties of die in hoge mate gedistribueerd is.

Directoryservices spelen een belangrijke rol bij de ontwikkeling van intranet- en internettoepassingen doordat ze u helpen informatie over gebruikers, systemen, netwerken, toepassingen en services via het netwerk te delen.

Een typisch gebruiksscenario voor LDAP is het aanbieden van een gecentraliseerde opslag van gebruikersnamen en wachtwoorden. Hierdoor kunnen verschillende applicaties (of services) verbinding maken met de LDAP-server om gebruikers te valideren.

Nadat u een werkende LDAP-server heeft ingesteld, moet u bibliotheken op de client installeren om er verbinding mee te kunnen maken. In dit artikel laten we zien hoe u een LDAP-client configureert om verbinding te maken met een externe authenticatiebron.

Ik hoop dat u al over een werkende LDAP-serveromgeving beschikt, zo niet, stel dan de LDAP-server in voor op LDAP gebaseerde authenticatie.

Hoe u de LDAP-client installeert en configureert in Ubuntu en CentOS

Op de clientsystemen moet u een aantal noodzakelijke pakketten installeren om het authenticatiemechanisme correct te laten functioneren met een LDAP-server.

Configureer de LDAP-client in Ubuntu 16.04 en 18.04

Begin eerst met het installeren van de benodigde pakketten door de volgende opdracht uit te voeren.

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

Tijdens de installatie wordt u gevraagd om details van uw LDAP-server (geef de waarden op volgens uw omgeving). Houd er rekening mee dat het pakket ldap-auth-config dat automatisch wordt geïnstalleerd, de meeste configuraties uitvoert op basis van de invoer die u invoert.

Voer vervolgens de naam van de LDAP-zoekbasis in. U kunt hiervoor de componenten van hun domeinnamen gebruiken, zoals weergegeven in de schermafbeelding.

Kies ook de LDAP-versie die u wilt gebruiken en klik op Ok.

Configureer nu de optie zodat u wachtwoordhulpprogramma's kunt maken die pam gebruiken om zich te gedragen alsof u lokale wachtwoorden wijzigt en klik op Ja om door te gaan.

Schakel vervolgens de aanmeldingsvereiste voor de LDAP-database uit met de volgende optie.

Definieer ook een LDAP-account voor root en klik op OK.

Voer vervolgens het wachtwoord in dat moet worden gebruikt wanneer ldap-auth-config probeert in te loggen op de LDAP-directory met behulp van het LDAP-account voor root.

De resultaten van het dialoogvenster worden opgeslagen in het bestand /etc/ldap.conf. Als u wijzigingen wilt aanbrengen, opent en bewerkt u dit bestand met uw favoriete opdrachtregeleditor.

Configureer vervolgens het LDAP-profiel voor NSS door uit te voeren.

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

Configureer vervolgens het systeem om LDAP te gebruiken voor authenticatie door PAM-configuraties bij te werken. Kies in het menu LDAP en eventuele andere authenticatiemechanismen die u nodig heeft. U zou nu moeten kunnen inloggen met op LDAP gebaseerde inloggegevens.

sudo pam-auth-update

Als u wilt dat de thuismap van de gebruiker automatisch wordt aangemaakt, moet u nog een configuratie uitvoeren in het PAM-bestand met de algemene sessie.

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

Voeg deze regel erin toe.

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

Sla de wijzigingen op en sluit het bestand. Start vervolgens de service NCSD (Name Service Cache Daemon) opnieuw met de volgende opdracht.

sudo systemctl restart nscd
sudo systemctl enable nscd

Opmerking: als u replicatie gebruikt, moeten LDAP-clients verwijzen naar meerdere servers die zijn opgegeven in /etc/ldap.conf. U kunt alle servers in dit formulier opgeven:

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

Dit houdt in dat er een time-out voor het verzoek optreedt en dat als de aanbieder (ldap1.example.com) niet meer reageert, de consument (ldap2 .example.com) zal proberen te bereiken om het te verwerken.

Om de LDAP-gegevens voor een bepaalde gebruiker vanaf de server te controleren, voert u bijvoorbeeld de opdracht getent uit.

getent passwd tecmint

Als de bovenstaande opdracht details weergeeft van de opgegeven gebruiker uit het bestand /etc/passwd, is uw clientcomputer nu geconfigureerd om te verifiëren bij de LDAP-server. U zou moeten kunnen inloggen met op LDAP gebaseerde inloggegevens .

Configureer de LDAP-client in CentOS 7

Voer de volgende opdracht uit om de benodigde pakketten te installeren. Houd er rekening mee dat u in deze sectie, als u het systeem gebruikt als een niet-rootbeheerder, de sudo-opdracht gebruikt om alle opdrachten uit te voeren.

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

Schakel vervolgens het clientsysteem in om te verifiëren met behulp van LDAP. U kunt het hulpprogramma authconfig gebruiken, een interface voor het configureren van systeemauthenticatiebronnen.

Voer de volgende opdracht uit en vervang example.com door uw domein en dc=example,dc=com door uw LDAP-domeincontroller.

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

In het bovenstaande commando creëert de optie --enablemkhomedir een lokale thuismap voor de gebruiker bij de eerste verbinding, als deze niet bestaat.

Test vervolgens of de LDAP-gegevens voor een bepaalde gebruiker afkomstig zijn van de server, bijvoorbeeld gebruiker tecmint.

getent passwd tecmint

Het bovenstaande commando zou details van de opgegeven gebruiker uit het /etc/passwd bestand moeten weergeven, wat inhoudt dat de clientmachine nu is geconfigureerd om te authenticeren bij de LDAP-server.

Belangrijk: als SELinux op jouw systeem is ingeschakeld, moet je een regel toevoegen om het automatisch aanmaken van thuismappen door mkhomedir toe te staan.

Raadpleeg voor meer informatie de betreffende documentatie uit de OpenLDAP Software-documentencatalogus.

Samenvatting

LDAP is een veelgebruikt protocol voor het opvragen en wijzigen van een directoryservice. In deze handleiding hebben we laten zien hoe u een LDAP-client kunt configureren om verbinding te maken met een externe authenticatiebron, op Ubuntu- en CentOS-clientmachines. Via onderstaand feedbackformulier kunt u eventuele vragen of opmerkingen achterlaten.