Recherche de site Web

Comment installer et configurer un serveur LDAP de base sur un VPS Ubuntu 12.04


Statut : Obsolète

Cet article couvre une version d'Ubuntu qui n'est plus prise en charge. Si vous gérez actuellement un serveur exécutant Ubuntu 12.04, nous vous recommandons vivement de mettre à niveau ou de migrer vers une version d'Ubuntu prise en charge :

  • Mettez à niveau vers Ubuntu 14.04.
  • Mettre à niveau d'Ubuntu 14.04 vers Ubuntu 16.04
  • Migrer les données du serveur vers une version prise en charge

Raison : Ubuntu 12.04 a atteint sa fin de vie (EOL) le 28 avril 2017 et ne reçoit plus de correctifs de sécurité ni de mises à jour. Ce guide n'est plus maintenu.

Voir plutôt : Ce guide peut encore être utile comme référence, mais il peut ne pas fonctionner sur d'autres versions d'Ubuntu. Si disponible, nous recommandons vivement d'utiliser un guide rédigé pour la version d'Ubuntu que vous utilisez. Vous pouvez utiliser la fonction de recherche en haut de la page pour trouver une version plus récente.

Introduction

LDAP, ou Lightweight Directory Access Protocol, est un protocole pour gérer des informations liées depuis un emplacement centralisé à travers l'utilisation d'une hiérarchie de fichiers et de répertoires.

Il fonctionne de manière similaire à une base de données relationnelle dans certains aspects, et peut être utilisé pour organiser et stocker tout type d'information. LDAP est couramment utilisé pour l'authentification centralisée.

Dans ce guide, nous expliquerons comment installer et configurer un serveur OpenLDAP sur un VPS Ubuntu 12.04. Nous le remplirons avec quelques utilisateurs et groupes. Dans un tutoriel ultérieur, l'authentification utilisant LDAP sera abordée.

Installer LDAP

Le serveur OpenLDAP se trouve dans les dépôts par défaut d'Ubuntu sous le paquet « slapd », nous pouvons donc l'installer facilement avec apt-get. Nous allons également installer quelques utilitaires supplémentaires :

sudo apt-get update
sudo apt-get install slapd ldap-utils

Il vous sera demandé de saisir et de confirmer un mot de passe administrateur pour le compte administrateur LDAP.

Reconfigurer slapd

Lorsque l'installation est terminée, nous devons en fait reconfigurer le paquet LDAP. Tapez ce qui suit pour lancer l'outil de configuration du paquet :

sudo dpkg-reconfigure slapd

On vous posera une série de questions sur la façon dont vous souhaitez configurer le logiciel.

  • Omettre la configuration du serveur OpenLDAP ? Non

  • Nom de domaine DNS?

    • Cela va créer la structure de base de votre chemin de répertoire. Lisez le message pour comprendre comment cela fonctionne.

    • Il n'existe pas de règles établies pour la configuration de ceci. Si vous avez un vrai nom de domaine sur ce serveur, vous pouvez l'utiliser. Sinon, utilisez ce que vous voulez.

    • Dans cet article, nous l'appellerons test.com <br/>

  • Nom de l'organisation ?

    • Encore une fois, c'est à vous de décider

    • Nous utiliserons exemple dans ce guide. <br/>

  • Mot de passe administrateur ?

    • Utilisez le mot de passe que vous avez configuré lors de l'installation, ou choisissez-en un autre <br/>
  • Quel backend de base de données utiliser ? HDB

  • Supprimer la base de données lors de la suppression de slapd ? Non

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

  • Autoriser le protocole LDAPv2 ? Non

Installer PHPldapadmin

Nous allons administrer LDAP via une interface web appelée PHPldapadmin. Cela est également disponible dans les dépôts par défaut d'Ubuntu.

Installez-le avec cette commande :

sudo apt-get install phpldapadmin

Cela installera toutes les dépendances requises du serveur web et de PHP.

Configurer PHPldapadmin

Nous devons configurer certaines valeurs dans les fichiers de configuration de l'interface web avant de l'essayer.

Ouvrez le fichier de configuration avec les privilèges root :

sudo nano /etc/phpldapadmin/config.php

Recherchez les sections suivantes et modifiez-les en conséquence.

Changez la valeur <span class=“highlight ”>rouge</span> en fonction de la manière dont vous allez référencer votre serveur, soit par nom de domaine, soit par adresse IP.

<pre> $servers->setValue('server','host','<span class="highlight ">nom_de_domaine_ou_adresse_IP</span>'); </pre>

Pour la partie suivante, vous devrez refléter la même valeur que vous avez donnée lorsque vous avez été demandé le nom de domaine DNS lors de la reconfiguration de « slapd ».

Vous devrez le convertir en un format que LDAP comprend en séparant chaque composant de domaine. Les composants de domaine sont tout ce qui est séparé par un point.

Ces composants sont ensuite donnés comme valeurs à l'attribut « dc ».

Par exemple, si votre entrée de nom de domaine DNS était « imaginary.lalala.com », LDAP aurait besoin de voir « dc=imaginary,dc=lalala,dc=com ». Modifiez l'entrée suivante pour refléter le nom que vous avez choisi (le nôtre est « test.com » comme vous vous en souvenez) :

<pre> $servers->setValue('server','base',array('dc=<span class="highlight ">test</span>,dc=<span class="highlight ">com</span>')); </pre>

La prochaine valeur à modifier utilisera les mêmes composants de domaine que vous venez de configurer dans la dernière entrée. Ajoutez-les après le « cn=admin » dans l'entrée ci-dessous :

 $servers->setValue('login','bind_id','cn=admin,dc=test,dc=com'); 

Recherchez la section suivante à propos de l'attribut « hide_template_warning ». Nous voulons décommenter cette ligne et définir la valeur sur « true » pour éviter certains avertissements ennuyeux qui ne sont pas importants.

<pre> $config->custom->appearance[‘hide_template_warning’]=<span class="highlight ">vrai</span>; </pre>

Enregistrez et fermez le fichier.

Connectez-vous à l'interface Web

Vous pouvez accéder en allant à votre nom de domaine ou à votre adresse IP suivi de "/phpldapadmin" dans votre navigateur web :

<pre> <span class=“highlight ”>nom_de_domaine_ou_adresse_IP</span>/phpldapadmin </pre>

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/phpldap_initial.png" alt="Écran initial de PHPldapadmin" />

Cliquez sur le lien « connexion » sur le côté gauche.

Vous recevrez une invite de connexion. Le DN de connexion correct (nom distingué) devrait être pré-rempli si vous avez configuré PHPldapadmin correctement. Dans notre cas, ce serait « cn=admin,dc=test,dc=com ».

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/phpldap_login.png" alt="Connexion PHPldapadmin" />

Entrez le mot de passe que vous avez choisi lors de notre configuration de slapd.

Vous serez initialement présenté avec une interface plutôt épurée.

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/phpldap_logged_in.png" alt="PHPldapadmin connecté" />

Si vous cliquez sur le « plus » à côté des composants de domaine (dc=test,dc=com), vous verrez la connexion administrateur que nous utilisons.

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/phpldap_admin_entry.png" alt="Entrée administrateur PHPldapadmin" />

Ajouter des unités organisationnelles, des groupes et des utilisateurs

LDAP est très flexible. Vous pouvez créer des hiérarchies et des relations de nombreuses manières différentes, en fonction du type d'informations que vous devez rendre accessibles et du type de cas d'utilisation que vous avez.

Nous allons créer une structure de base pour nos informations, puis la remplir avec des informations.

Créer des unités organisationnelles

Tout d'abord, nous allons créer quelques catégories d'informations où nous placerons les informations ultérieures. Comme il s'agit d'une configuration de base, nous n'aurons besoin que de deux catégories : groupes et utilisateurs.

Cliquez sur le lien « Créer une nouvelle entrée ici » sur le côté gauche.

Ici, nous pouvons voir les différents types d'entrées que nous pouvons créer.

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/object_selection.png" alt="Sélection d'objet LDAP" />

Comme nous n'utilisons cela que comme une structure organisationnelle, plutôt qu'une entrée riche en informations, nous utiliserons le modèle « Générique : Unité Organisationnelle ».

On nous demandera de créer un nom pour notre unité organisationnelle. Tapez « groupes » :

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/groups_name.png" alt="Nom des groupes LDAP" />

Nous devrons ensuite valider les modifications.

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/commit_ou.png" alt="Commit OU LDAP" />

Lorsque cela est terminé, nous pouvons voir une nouvelle entrée sur le côté gauche.

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/ou_groups.png" alt="Groupes OU LDAP" />

Nous allons créer une structure organisationnelle supplémentaire pour nous mettre en route. Répétez la procédure, mais cette fois, utilisez le nom « users ».

Lorsque vous avez terminé, vous devriez avoir quelque chose qui ressemble à ceci :

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/ou_complete.png" alt="LDAP unité organisationnelle complète" />

Créer des groupes

Nous allons créer trois groupes différents qui pourraient être utilisés pour organiser les utilisateurs en différents groupes « d'accès » en fonction des privilèges dont ils ont besoin.

Nous allons créer un groupe « admin », un groupe « irc » et un groupe « user ». Nous pourrions ensuite permettre aux membres de différents groupes de s’authentifier si nous configurons l’authentification LDAP côté client.

Nous voulons créer les groupes au sein de l'unité d'organisation « groupes ». Cliquez sur la catégorie « groupes » que nous avons créée. Dans le volet principal, cliquez sur « Créer une entrée enfant » dans la catégorie des groupes.

<img style=“border:2px solid black; display:block;margin-left:auto;margin-right:auto ” src=“https://assets.linux-console.net/articles/ldap_basics/child_groups.png ” alt =“Enfant LDAP des groupes ” />

Cette fois, nous choisirons la catégorie « Générique : Groupe Posix ».

<img style=“border:2px solid black; display:block;margin-left:auto;margin-right:auto ” src=“https://assets.linux-console.net/articles/ldap_basics/posix_group.png ” alt =“groupe posix LDAP ” />

Remplissez « admin » comme nom du groupe. Cliquez sur « Créer un objet » puis confirmez sur la page suivante.

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/admin_group.png" alt="Groupe administrateur LDAP" />

Répétez le processus, mais remplacez simplement le nom « admin » par « irc » et « user ». Assurez-vous de cliquer à nouveau sur l’entrée « ou=groups » avant de créer des entrées enfants, sinon vous pourriez créer des entrées sous la mauvaise catégorie.

Vous devriez maintenant avoir trois groupes dans le panneau de gauche :

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/three_groups.png" alt="Trois groupes LDAP" />

Vous pouvez voir un aperçu des entrées dans la catégorie « ou=groups » en cliquant sur cette entrée, puis en cliquant sur « Voir 3 enfants » :

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/view_three_children.png" alt="Vue LDAP de trois enfants" />

Créer des utilisateurs

Ensuite, nous allons créer des utilisateurs à mettre dans ces groupes. Commencez par cliquer sur la catégorie « ou=users ». Cliquez sur « Créer une entrée enfant ».

Nous allons choisir « Générique : Compte utilisateur » pour ces entrées.

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/user_account.png" alt="Compte utilisateur LDAP" />

On nous donnera beaucoup de champs à remplir :

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/user_fields.png" alt="Champs utilisateur LDAP" />

Remplissez toutes les entrées avec des informations qui ont du sens pour votre utilisateur.

Il faut garder à l'esprit que le « Nom Commun » doit être unique pour chaque entrée dans une catégorie. Vous pourriez donc vouloir utiliser un format de nom d'utilisateur au lieu du « Prénom Nom » par défaut qui est rempli automatiquement.

Cliquez sur « Créer un objet » en bas et confirmez sur la page suivante.

Pour créer des utilisateurs supplémentaires, nous tirerons parti de la possibilité de copier des entrées.

Cliquez sur l'utilisateur que vous venez de créer dans le panneau de gauche. Dans le volet principal, cliquez sur « Copier ou déplacer cette entrée » :

<img style=“border:2px solid black; display:block;margin-left:auto;margin-right:auto ” src=“https://assets.linux-console.net/articles/ldap_basics/copy_entry.png ” alt =“Copier l'entrée utilisateur LDAP ” />

Ajustez la partie « cn=user » de l'entrée pour la pointer vers le nom commun que vous souhaitez utiliser pour la nouvelle entrée. Cliquez sur « Copier » en bas :

<img style=“border:2px solid black; display:block;margin-left:auto;margin-right:auto ” src=“https://assets.linux-console.net/articles/ldap_basics/copy_common_name.png ” alt =“LDAP copier le nom commun ” />

Vous recevrez la page suivante remplie avec les données de vos premiers utilisateurs. Vous devrez l'ajuster pour correspondre aux informations des nouveaux utilisateurs.

Assurez-vous d'ajuster le uidNumber. Cliquez sur le bouton « Créer l'objet » en bas.

Ajouter des utilisateurs aux groupes

Nous pouvons ajouter des utilisateurs à divers groupes en cliquant sur le groupe en question. Dans le volet principal, sélectionnez « Ajouter un nouvel attribut » :

<img style=“border:2px solid black; display:block;margin-left:auto;margin-right:auto ” src=“https://assets.linux-console.net/articles/ldap_basics/add_new_attr.png ” alt =“Ajouter un nouvel attribut LDAP ” />

Sélectionnez « memberUid » dans le menu déroulant :

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/memberuid_entry.png" alt="Menu d'entrée LDAP memberuid" />

Dans le champ de texte qui se remplit, saisissez le premier utilisateur que vous souhaitez ajouter. Cliquez sur « Mettre à jour l'objet » en bas :

<img style=“border:2px solid black; display:block;margin-left:auto;margin-right:auto ” src=“https://assets.linux-console.net/articles/ldap_basics/add_user2.png ” alt =“Ajouter un utilisateur LDAP2 ” />

Vous pouvez ensuite ajouter plus de membres en cliquant sur « modifier les membres du groupe » et en les sélectionnant parmi les choix disponibles :

<img style="border:2px solid black; display:block;margin-left:auto;margin-right:auto" src="https://assets.linux-console.net/articles/ldap_basics/user_choices.png" alt="Choix de l'utilisateur LDAP" />

Conclusion

Vous devriez maintenant avoir un serveur LDAP de base configuré avec quelques utilisateurs et groupes. Vous pouvez développer ces informations et ajouter toutes les différentes structures organisationnelles pour reproduire la structure de votre entreprise.

Nous aborderons dans une autre section la façon de s'authentifier en utilisant les identifiants LDAP pour divers services.

Par Justin Ellingwood