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.
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.
Also choose the LDAP version to use and click Ok.
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..
Next, disable login requirement to the LDAP database using the next option.
Also define LDAP account for root and click Ok.
Next, enter the password to use when ldap-auth-config tries to login to the LDAP directory using the LDAP account for root.
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
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.