Ubuntu - Installer et configurer un serveur LDAP ainsi qu'une interface Web pour le gérer

Page 1 / 1
  • Publié le : 15 janvier 2014 à 21:26
  • Par Lionel Eppe

Pour ceux qui connaissent Windows Server et qui ont déjà créé un Active Directory, alors vous comprendrez plus vite ce tutoriel car un Active Directory est un LDAP.
Vous y retrouverez donc les notions de domaines, d'Unités d'organisation qui représentent les dossiers, ...

Pré-requis :
- Un nom de domaine enregistré sur Internet ou un serveur DNS Local (qu'il faudra indiquer aux ordinateurs du réseau via un DHCP ou de manière manuelle).
- La version 12.04 LTS (ou 12.04.xxx LTS) d'Ubuntu. L'interface web "phpLDAPadmin étant incompatible avec la version 13.10 (qui n'est d'ailleurs pas une LTS).

Informations : Ce tutoriel a été réalisé avec :
- Ubuntu 12.04.3 LTS (64 Bits)
- Un serveur DNS local où nous avons configuré un domaine fictif "InformatiWebLAN.net".
- Le PC Ubuntu a comme nom "informatiweb-pc" et l'utilisateur par défaut se nomme "InformatiWeb".

  1. Modifier le nom de la machine
  2. Installation du serveur LDAP
  3. Installation des outils de ligne de commandes
  4. Installation d'une interface Web pour le LDAP
  5. Autoriser OpenLDAP dans le pare-feu
  6. Activer le pare-feu
  7. Test de la connexion au serveur LDAP
  8. Configuration de l'interface Web "phpLDAPadmin"
  9. Autoriser le serveur web "Apache" dans le pare-feu d'Ubuntu
  10. Supprimer les messages d'avertissement de "phpLDAPadmin" (Fix)
  11. Chiffrer la connexion à l'interface web "phpLDAPadmin"
  12. Chiffrer la connexion entre le serveur LDAP et les clients

1. Modifier le nom de la machine

Etant donné que la machine linux sera membre de votre domaine, vous devez donc modifier le nom de votre machine.
Pour cela, modifier le fichier "/etc/hosts" pour y indiquez le nom de le nom de domaine de la machine en plus du nom par défaut.
Syntaxe : [nom de la machine Ubuntu].mon_domaine.com [nom de la machine Ubuntu]

Code : Bash

sudo vi /etc/hosts

Appuyez sur la touche "i" pour entrer dans le mode insertion de vi ou de vim (version améliorée de Vi).

Remplacer la ligne :

Code : Bash

127.0.1.1       informatiweb-pc

Par :

Code : Bash

127.0.1.1       ldap.informatiweblan.net informatiweb-pc

Appuyez ensuite sur la touche Echap pour quitter le mode insertion et revenir en mode commande.
Tapez ensuite ":wq" pour enregistrer les modifications et quitter le fichier.
Vous retomber donc dans la console dans son état précédent.

Maintenant, notre machine Ubuntu possède 2 noms :
- informatiweb-pc : Le nom normal de la machine
- ldap.informatiweblan.net : Le nom de domaine de la machine.

 

2. Installation du serveur "OpenLDAP server (slapd)"

Pour installer le serveur LDAP, rien de plus simple. Il suffit de tapez la commande suivante :

Code : Bash

sudo apt-get install slapd

Indiquez ensuite un mot de passe pour le compte Administrateur du LDAP lorsque celui-ci vous sera demandé.
Si vous utilisez une version "desktop" d'Ubuntu, vous aurez une petite fenêtre comme ceci :

 

3. Installation des outils de ligne de commandes : "OpenLDAP utilities (ldap-utils)"

Il est possible d'utiliser des outils en ligne de commandes pour gérer votre serveur LDAP. Ces outils contiennent notamment les commandes "ldapadd", "ldapmodify", "ldapdelete" et "ldapsearch". Néanmoins, nous ne les utiliserons qu'une seul fois pour vérifier le fonctionnement du serveur. Libre à vous de créer des scripts utilisant ces outils si vous le souhaitez.
Pour le tutoriel, nous utiliserons de préférence une interface web qui nous facilitera la tâche.

Pour installer ces outils, tapez simplement la commande suivante.

Code : Bash

sudo apt-get install ldap-utils

 

4. Installation d'une interface Web pour le LDAP : "web based interface for administering LDAP servers (phpldapadmin)"

Comme indiqué en haut de ce tutoriel, l'interface Web utilisée dans ce tutoriel n'est pas compatible avec la version 13.10 d'Ubuntu. Comme indiqué sur le site "bugs.launchpad.net".
A titre d'information : La version 13.10 n'est pas une version LTS (du moins, à l'heure actuelle) alors que la version 12.04 l'est.

Pour installer cette interface web, tapez simplement la commande suivante :

Code : Bash

sudo apt-get install phpldapadmin

Note : Etant donné qu'il s'agit d'une interface web codée en PHP, le serveur Web Apache sera automatiquement installé avec le module PHP ainsi que les autres dépendances requises par ces composants.

 

5. Autoriser OpenLDAP dans le pare-feu

Pour commencer, lister les applications disponibles comme ceci :

Code : Bash

sudo ufw app list

Maintenant que vous savez comment est nommé le serveur LDAP, autoriser le en tapant ceci :

Code : Bash

sudo ufw allow "OpenLDAP LDAP"

Note : Cette commande autorisera cette application pour les 2 versions du protocol TCP/IP :

Code : Bash

La règle a été ajoutée
La règle a été ajoutée (v6)

 

6. Activer le pare-feu

Pour commencer, vérifier l'état du pare-feu en tapant la commande suivante :

Code : Bash

sudo ufw status

Si le pare-feu est activé, les applications autorisées dans le pare-feu s'afficheront également.
Dans le cas contraire, vous pouvez l'activer en tapant la commande suivante.
Note : Le pare-feu n'est pas activé par défaut sous Ubuntu 12.04 LTS.

Code : Bash

sudo ufw enable

IMPORTANT : Si vous êtes connecté via SSH à votre serveur (dans le cas d'un VPS par exemple), un avertissement s'affichera.
Effectivement, l'activation du pare-feu va bloquer la connexion SSH si cette connexion n'est pas autorisée par le pare-feu.
Attention donc à ne pas vous bloquer l'accès à votre VPS avec le pare-feu.
Pour configurer le pare-feu pour la connexion SSH, lisez le point 6 de notre tutoriel "Ubuntu - Installer un serveur SSH".

Une fois le pare-feu activé, Ubuntu vous affichera le message suivant :

Code : Bash

Le pare-feu est actif et lancé au démarrage du système

Vérifiez ensuite que l'application "OpenLDAP LDAP" est bien autorisée dans le pare-feu.

Code : Bash

sudo ufw status

Si cette application apparait dans la liste, c'est que celle-ci est bien autorisée par le pare-feu.

 

7. Test de la connexion au serveur LDAP

Pour tester la connexion au serveur LDAP, nous allons utiliser les outils en ligne de commandes "OpenLDAP utilities (ldap-utils)" que nous avons installés au point 3 de ce tutoriel.

Code : Bash

sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn:

Si tout se passe bien, vous devriez obtenir ceci :

 

8. Configuration de l'interface Web "phpLDAPadmin"

Nous allons maintenant configurer "phpLDAPadmin" pour qu'il se connecte à notre serveur LDAP ainsi que pour modifier les informations par défaut affichées dans "phpLDAPadmin".

Pour cela, vous devez modifier le fichier de configuration "config.php" de "phpLDAPadmin" qui se trouve dans le dossier "/etc/phpldapadmin".

Code : Bash

sudo vi /etc/phpldapadmin/config.php

Dans ce fichier, cherchez d'abord la section "Define your LDAP servers in this section" et modifier ensuite les informations suivantes :

Code : PHP

$servers->setValue('server','name','InformatiWeb LDAP Serveur'); // Nom du serveur
$servers->setValue('server','host','127.0.0.1'); // Adresse du serveur. Etant donné que l'interface web est installée sur le même ordinateur que le serveur LDAP, vous pouvez laisser l'adresse IP : 127.0.0.1
$servers->setValue('server','base',array('dc=informatiweblan,dc=net')); // La base de recherche du serveur est basée sur le nom de domaine du serveur. Notre domaine local étant "informatiweblan.net", nous avons donc indiqué "dc=informatiweblan,dc=net".
$servers->setValue('login','bind_id','cn=admin,dc=informatiweblan,dc=net'); // Modifiez les informations dc= comme ci-dessus. Le cn=admin permet simplement de spécifier que la connexion se fera avec le compte admin du serveur LDAP.

Maintenant, lorsque vous accéderez à votre interface Web, le nom du serveur aura changé, et les informations de connexion seront déjà préconfigurées correctement.

Tapez votre mot de passe (celui indiqué lors de l'installation du serveur LDAP) et vous arriverez ainsi sur cette interface.
Cliquez sur le + dans la colonne de gauche pour lister le contenu de votre LDAP et pouvoir y ajouter des informations.

 

9. Autoriser le serveur web "Apache" dans le pare-feu d'Ubuntu

Si vous avez activé le pare-feu, vous n'aurez pas accès à distance à l'interface web "phpLDAPadmin" de votre serveur LDAP.
Pour que cela soit possible, il vous suffira d'autoriser "Apache" dans le pare-feu d'Ubuntu :

Code : Bash

sudo ufw allow Apache

 

10. Supprimer les messages d'avertissement de "phpLDAPadmin" (Fix)

A l'heure actuelle, la version de "phpLDAPadmin" est la 1.2.2 (via le apt-get car ce n'est pas le cas sur SourceForge) et celle-ci vous affiche une série de messages d'avertissements XML, de classes ainsi que d'attributs supprimés.

Pour les supprimer, veuillez suivre notre solution "phpLDAPadmin - Supprimer les avertissements affichés à chaque connexion".

 

11. Chiffrer la connexion à l'interface web "phpLDAPadmin"

Lorsque vous accédez à la page de connexion de "phpLDAPadmin", vous avez surement dû remarquer que l'avertissement "Avertissement : la connexion Web n'est pas chiffrée" s'affichait.

Pour le supprimer, il suffit de sécuriser la connexion à votre serveur web Apache via un certificat SSL. Pour cela, lisez notre tutoriel "Ubuntu - Sécuriser son serveur web Apache (en HTTPS) grâce à SSL".

 

12. Chiffrer la connexion entre le serveur LDAP et les clients

Pour chiffrer la connexion entre le serveur et les différents clients LDAP, vous devez configurer le serveur LDAP pour que celui-ci fonctionne aussi sur le protocole "ldaps". Pour cela,  lisez notre tutoriel "Ubuntu - Sécuriser son serveur LDAP grâce à SSL".