Comment configurer le client LDAP pour se connecter à l’authentification externe

LDAP (abréviation de Lightweight Directory Access Protocol) est un ensemble de protocoles standardisés et largement utilisés pour accéder aux services d’annuaire.

Un service d’annuaire, en termes simples, est une base de données centralisée, basée sur le réseau et optimisée pour l’accès en lecture. Il stocke et fournit l’accès à des informations qui doivent soit être partagées entre des applications, soit être fortement distribuées.

Les services d’annuaire jouent un rôle important dans le développement d’applications intranet et Internet en vous aidant à partager des informations sur les utilisateurs, les systèmes, les réseaux, les applications et les services sur l’ensemble du réseau.

Un cas d’utilisation typique de LDAP consiste à offrir un stockage centralisé des noms d’utilisateur et des mots de passe. Cela permet à diverses applications (ou services) de se connecter au serveur LDAP pour valider les utilisateurs.

Après avoir configuré un serveur LDAP fonctionnel, vous devrez installer des bibliothèques sur le client pour vous y connecter. Dans cet article, nous allons montrer comment configurer un client LDAP pour se connecter à une source d’authentification externe.

J’espère que vous avez déjà un environnement de serveur LDAP fonctionnel, sinon configurez Up LDAP Server pour l’authentification basée sur LDAP.

Comment installer et configurer le client LDAP dans Ubuntu et CentOS

Sur les systèmes clients, vous aurez besoin d’installer quelques paquets nécessaires pour que le mécanisme d’authentification fonctionne correctement avec un serveur LDAP.

Configurer le client LDAP dans Ubuntu 16.04 et 18.04

Commencez d’abord par installer les paquets nécessaires en exécutant la commande suivante.

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

Pendant l’installation, vous serez invité à fournir les détails de votre serveur LDAP (fournissez les valeurs en fonction de votre environnement). Notez que le paquet ldap-auth-config qui est auto-installé fait la plupart des configurations en fonction des entrées que vous saisissez.

Enter LDAP Server URI
Enter LDAP Server URI

Next, enter the name of the LDAP search base, you can use the components of their domain names for this purpose as shown in the screenshot.

Enter LDAP Search Base
Enter LDAP Search Base

Also choose the LDAP version to use and click Ok.

Select LDAP Version
Select LDAP Version

Now configure the option to allow you to make password utilities that use pam to behave like you would be changing local passwords and click Yes to continue..

Make Local Root Database Admin
Make Local Root Database Admin

Next, disable login requirement to the LDAP database using the next option.

Disable Login to LDAP Database
Disable Login to LDAP Database

Also define LDAP account for root and click Ok.

Define LDAP Account for Root
Define LDAP Account for Root

Next, enter the password to use when ldap-auth-config tries to login to the LDAP directory using the LDAP account for root.

Enter LDAP Root Password
Enter LDAP Root Password

The results of the dialog will be stored in the file /etc/ldap.conf. Si vous souhaitez apporter des modifications, ouvrez et modifiez ce fichier à l’aide de votre éditeur de ligne de commande préféré.

Puis, configurez le profil LDAP pour NSS en exécutant.

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

Puis configurez le système pour qu’il utilise LDAP pour l’authentification en mettant à jour les configurations PAM. Dans le menu, choisissez LDAP et tout autre mécanisme d’authentification dont vous avez besoin. Vous devriez maintenant être en mesure de vous connecter en utilisant des informations d’identification basées sur LDAP.

$ sudo pam-auth-update
Configuration du mécanisme d'authentification PAM
Configuration du mécanisme d’authentification PAM

Dans le cas où vous souhaitez que le répertoire d’accueil de l’utilisateur soit créé automatiquement, alors vous devez effectuer une configuration supplémentaire dans le fichier PAM common-session.

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

Ajouter cette ligne dans celui-ci.

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

Enregistrer les modifications et fermer le fichier. Redémarrez ensuite le service NCSD (Name Service Cache Daemon) à l’aide de la commande suivante.

$ sudo systemctl restart nscd$ sudo systemctl enable nscd

Note : si vous utilisez la réplication, les clients LDAP devront faire référence à plusieurs serveurs spécifiés dans /etc/ldap.conf. Vous pouvez spécifier tous les serveurs sous cette forme :

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

Cela implique que la requête sera temporisée et que si le fournisseur (ldap1.exemple.com) ne répond plus, le consommateur (ldap2.exemple.com) tentera d’être joint pour la traiter.

Pour vérifier les entrées LDAP pour un utilisateur particulier à partir du serveur, exécutez la commande getent, par exemple.

$ getent passwd tecmint

Si la commande ci-dessus affiche les détails de l’utilisateur spécifié à partir du fichier /etc/passwd, votre machine cliente est maintenant configurée pour s’authentifier auprès du serveur LDAP, vous devriez pouvoir vous connecter en utilisant des informations d’identification basées sur LDAP.

Configurer le client LDAP dans CentOS 7

Pour installer les paquets nécessaires, exécutez la commande suivante. Notez que dans cette section, si vous exploitez le système en tant qu’utilisateur administratif non root, utilisez la commande sudo pour exécuter toutes les commandes.

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

Puis, activez le système client pour qu’il s’authentifie à l’aide de LDAP. Vous pouvez utiliser l’utilitaire authconfig, qui est une interface permettant de configurer les ressources d’authentification du système.

Exécutez la commande suivante et remplacez exemple.com par votre domaine et dc=exemple,dc=com par votre contrôleur de domaine LDAP.

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

Dans la commande ci-dessus, l’option --enablemkhomedir crée un répertoire d’accueil local de l’utilisateur à la première connexion s’il n’en existe pas.

Puis, testez si les entrées LDAP pour un utilisateur particulier du serveur, par exemple l’utilisateur tecmint.

$ getent passwd tecmint

La commande ci-dessus devrait afficher les détails de l’utilisateur spécifié à partir du fichier /etc/passwd, ce qui implique que la machine cliente est maintenant configurée pour s’authentifier auprès du serveur LDAP.

Important : si SELinux est activé sur votre système, vous devez ajouter une règle pour autoriser la création automatique de répertoires personnels par mkhomedir.

Pour plus d’informations, consultez la documentation appropriée du catalogue de documents du logiciel OpenLDAP.

Summary

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *