Mise en place du service annuaire LDAP avec phpldapadmin

Publié le par Suivez nous sur ce Blog pour des services Télécoms & Réseaux. Merci d'avoir consulter Abonnez-vous à notre Newsletter

Introduction

Un annuaire est destiné à facilité la localisation d'une personne ou d'une entreprise à partir de différents critères de recherche comme : le Nom, le Code postal, voire la fonction pour les personnes ou le type de service rendu pour les  entreprises. Il doit donc offrir des critères de recherche puissants et simple à utiliser.

Définition: un annuaire est un référentiel partagé de personnes et de ressource, dont la vocation est de localiser a l'aide de fonctions élaborées de navigation et de recherche, et d'offrir des mécanismes de sécurité pour protéger ces informations et y accéder.

LDAP  signifie Lightweight  Directory Access Protocol. C'est un standard destiné à normaliser l'interface d'accès au annuaires. L'objectif de LDAP est de favoriser le partage et de simplifier la gestion des informations concernant des personnes et plus généralement de toutes les ressource de l'entreprise, ainsi que des droits d'accès de ces personnes sur ces ressource.

→Structure de l'annuaire LDAP : Les annuaires LDAP suivent le modèle X.500

Un annuaire est arbre d'entrées,
• Une entrée est constituée d'un ensemble d'attributs,
Un attribut possède un Nom,
Un Type et un ou plusieurs valeurs,
Les attributs sont définis dans des schémas, Le fait que les attributs puissent être Multi-valus est une différence majeure entre les annuaires LDAP et les SGBDR (Système de Gestion de Bases de Données Relationnelles) est le type particulier de SGBD. De plus, si un attribut n'a pas de valeur, il est purement et absolument absent de l'entrée.
• Chaque entrée a un identifiant unique, le Distinguished Name(DN). Il est constitué à partir de son Relative Distinguished Name (RDN) suivi du DN de son parent.

Installation du service

Installation slapd et ldap-utils et paramétrage basique du serveur à travers le fichier slapd.conf. On commence tout d’abord par installer sous ubuntu 20.04 LTS les paquets suivants.
sasuke@sasuke:~$ sudo apt-get install slapd ldap-utils

Maintenant on nous demande de mettre un mot de passe pour l’administrateur qui est a
notre niveau « passer »

Confirmation

Maintenant on va dans le fichier de configuration du le client qui est ldap.conf en précisant la base c’est-à dire le DN et l’adresse IP du serveur qui sera 192.168.1.49  sasuke@sasuke:~$ sudo vim /etc/ldap/ldap.conf 

Même si nous venons d’installer le paquet, nous allons le reconfigurer. "Le pourquoi ?" Le paquetage slapd a la capacité de poser beaucoup de questions de configuration importantes, mais elles sont ignorées par défaut lors du processus d’installation comme suit :  sasuke@sasuke:~$ sudo dpkg-reconfigure slapd

Il y a pas mal de nouvelles questions à répondre dans ce processus. Nous accepterons la plupart des valeurs par défaut. Passons en revue les questions:

  • Omettre la configuration du serveur OpenLDAP? →Non

  • Nom de domaine DNS? " aliouneprodige.com ".

Cette option déterminera la structure de base de votre chemin de répertoire. Nous pouvons réellement sélectionner la valeur de votre choix, même si vous ne possédez pas le domaine réel. Cependant, ce tutoriel suppose que nous avons un nom de domaine approprié pour le serveur, nous devrions donc l’utiliser.

  • Nom de l’organisation?

Pour ce tutoriel, nous utiliserons " AliouneProdige " comme nom de notre organisation. 

  • Mot de passe administrateur? →passer

  • Supprimer la base de données lorsque slapd est purgé? →Non

  • Déplacer l’ancienne base de données? →Oui

À présent, notre serveur LDAP est configuré et en cours d’exécution. Activons le port LDAP sur notre pare-feu pour que les clients externes puissent se connecter comme suit:​​​​  sasuke@sasuke:~$ sudo ufw allow ldap 

On peut Tester notre connexion LDAP avec la commande ldapwhoami, qui devrait renvoyer le nom d’utilisateur avec lequel nous sommes connectés:

anonymous est le résultat attendu, car nous avons exécuté ldapwhoami  sans nous connecter au serveur LDAP. Cela signifie que le serveur est en cours d’exécution et répond aux requêtes. Par la suite, nous allons ensuite configurer une interface Web pour gérer les données LDAP.

Installation et configuration de l’interface Web phpldapadmin

Bien qu’il soit très possible d’administrer LDAP via la ligne de commande, mais pour ce tutoriel l'algo sera  plus facile d’utiliser une interface Web. Nous allons installer phpLDAPadmin, une application PHP qui fournit cette fonctionnalité.

Notre serveur Web est maintenant configuré pour servir l’application, mais pas que, il faut apporter quelques modifications supplémentaires. Nous devons configurer phpLDAPadmin pour utiliser notre domaine et pour ne pas remplir automatiquement les informations de connexion LDAP.

$servers->setValue('server','name','Alioune LDAP Server');

Cette ligne est un nom d’affichage pour notre serveur LDAP, que l’interface Web utilise pour les en-têtes et les messages relatifs au serveur.

$ servers-> setValue ('serveur','host','192.168.1.49');

On Définit l'adresse IP ou le nom d'hôte résoluble de notre serveur OpenLDAP;

$ servers->setValue ('serveur','base',array('dc=aliouneprodige,dc=com '));

On Définit le DN de base OpenLDAP. Dans notre configuration, OpenLDAP base DN est défini sur dc=aliouneprodige,dc=com

On recherche maintenant la ligne de configuration "bind_idde login et commentez-la avec un "#au début de la ligneCette option pré-remplit les informations de connexion de l’administrateur dans l’interface Web. C’est une information que nous ne devrions pas partager si notre page phpLDAPadmin est accessible au public.

Accéder à phpLDAPadmin sur le navigateur

Nous pouvons à présent accéder à phpLDAPadmin à l'adresse, http://192.168.1.49/phpldapadmin

Si vous obtenez l'avertissement, vous pouvez simplement remplacer les accolades { } par des crochets [ ] sur la ligne affectée, 1614.

Ensuite, Cliquons sur Connexion pour nous connecter à notre interface utilisateur Web phpLDAPadmin. Puisque nous avons déjà défini le DN de liaison admin, entrons simplement le mot de passe et connectez-nous.

Une fois l'authentification réussie, nous accédons au tableau de bord phpLDAPadmin.

A présent nous pouvons désormais administrer votre serveur LDAP avec une interface Web en cliquant sur créer une sous-entrée.

Créer un utilisateur LDAP sur phpLDAPadmin
Créer un utilisateur: après avoir cliquer sur "créer une sous-entrée" on choisi l'option "Organisational Unit" qui sera le Groupe11, puis on clique sur "Créer un objet.

Puis on "Valide"

Par la suite on peut visualiser que l'entrer a été bien enregistré

On clique encore sur "créer une sous-entrée" on choisi l'option "Posix Group", puis on clique sur "Créer un objet" puis on valide.

Si l'algo est clair on obtiendra 

Enfin on clique une nouvelle fois sur "créer une sous-entrée" on choisi l'option "User Account" pour créer un utilisateur.

Et on peut voir le résultat comme suit après avoir cliquer sur 'Créer un objet' puis on valide. 

Configuration du client sous Windows

Pour la suite de ce tutoriel on utilise Windows-10 avec un logiciel libre. Cette fois-ci, il nous offre une solution alternative, pGina ( bibliothèque d'authentification et d'identification graphique (en anglais graphical identification and authentication, GINAEn version standard, il nous permet d'authentifiez nos client Windows sur un serveur OpenLDAP.

A prime abord essayons de faire un ping sur notre serveur OpenLDAP.

L'algo est clair à ce niveau !!! Maintenant on peut lancer ce logiciel après son installation.    → Onglet Général

Onglet Plugin-Selection LDAPChoix des plugins permettant de s'authentifier, nous choisirons le plugin LDAP en sélectionnant Authentication, Authorization, Gateway.

 Ensuite cliquez sur Configure (en bas à droite) l'écran de configuration ldap s'affiche.

 Champs à remplir pour l'authentification via ldap

  -- Ldap Host(s) :  192.168.1.49 -- Ldap port389 --Timeout10
  -- Search DN :  cn=admin,dc=aliouneproodige,dc=com
  -- Search password******  ( Fournit par la DSIUN aux personnes autorisés )
  -- Groupe DN Pattern :  cn=%G,ou=Group,dc=aliouneprodige,dc=com
  - Dans le sous-onglet Authentication cliquez la case Search for DN
  -- Search Filter :  uid=%u
  -- Search for Context(s)dc=aliouneprodige,dc=com. Et pour finir on clique sur Save

  →Onglet Plugin-Order (LDAP)

Cet onglet permet de choisir l'ordre de l'authentification de l'autorisation et de la gatewayOn préfère mettre LDAP après Local Machine dans l'authentification pour éviter un risque de non connexion et de blocage du poste suite à un problème de réseaux. Pour finir on clique sur "Apply" sans pour autant oublier de l'appliquer sur l'Onglet Plugin-Selection LDAP et l'Onglet Général.

Onglet Simulation (LDAP)

On se déconnecte sur notre compte principal afin de se connecter avec notre client.

 

Pour preuve

Conclusion

LDAP est une technologie relativement peu comprise. Dans l'ancien temps, il était difficile d'accéder aux serveurs LDAP, mais cela a changé. De nos jours, vous pouvez activer le logiciel serveur LDAP fourni avec les distributions Linux telles qu'Ubuntu. Cela vous donne également la possibilité d'acquérir des compétences Linux

Si l'ambition nous guide la volonté surgira tout seul.
Et voila la fin de ce tutoriel !!!

 

Publié dans Réseaux

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article