Vous êtes sur la page 1sur 80

Cours 1 : Administration et securité locale

02 -juillet 2020
3 documents mis à disposition;

1- Cours LDAP
2- TP LDAP
3- Cours Radius

Comment Enregistrer de cours

Sous windows
windows +g l'enregistreur video de jeux de xbox sur le PC.

2- Sous Linux SSR(Simple Screen Recorder)

add-apt-repository ppa:maarten-baert/simplescreenrecorde

sudo apt-get update


sudoapt-get install pulseaudio

sudo apt-get install simplescreenrecorder

Objectifs du cours

1- Revoir les concepts generaux des reseaux


Dans le But de:
a- Maitraiser le fonctionnement des equipements (Cartes reseaux, Switches, routeurs,
firewall )

b- Maitriser les logiciels


b1- SE
b2- les couches protocolaires
b3- applications (DHCP,DNS,TFTP,Web ,Messagerie,FTP, SGBD,Annuaires LDAP,Services
d'authentification (Radius AAA, kerberos), TOIP )
b4- IOS des équipements nœuds du réseau

NB : pour pouvoir executer de codes php sous apache2 sous linux, il faut r :

apt-get install php libapache2-mod-php

Essentiellement, dans ce cours, vous devriez developper les compétences suivantes:


1- Savoir sauvegarder et restaurer les fichiers de configuration des équipements nœuds du reseau

pour cette solution :


il nous faut un serveur TFTP

par exemple : TFTPD64 sous windows


par exemple : tftpd-hpa sous Linux

Sur les routeurs ou switch cisco,


pour sauvegarder la configuration;
copy run tftp:

pour restaurer
copy tftp run:

2- Savoir installer et utiliser un serveur de bases de données en réseau.

2 actions à faire au serveur de BD pour atteindre cet objectif

A faire pour la prochaine fois :


1- mise en place et utilisation
de serveurs TFTP pour sauvegarder et
restaurer un routeur

2- mise en place d’un serveur de base de données utilisable


en réseau

Pour cela,
1- on utilisera GNS3 et l’IOS
C3745-ipvoice_ivs-mz.124-15.T7.bin telechargeable à l’adresse
http://tfr.org/cisco/37xx/3745/ et une machine ubuntu 18
sur laquelle on a installé les paquets
tftpd-hpa , tftp-hpa.
On y configurera notre serveur TFTP

2- on va installer et paramétrer
maradb-server pour qu’il soit utilisable en réseau.
On telechargera le serveur openfire_4_5_2.tar.gz openfirede messagerie instantanée
à l’adresse : https://www.igniterealtime.org/downloads/

NB : ce serveur openfire sera configuré pour utiliser une base maradb

Cours 2 du 7 juillet 2020


Presentation de l’environnement de TP

On a 2 machines Linux
Machine 1 : 192.168.100.67 ubuntu 16
Machine 2 : 192.168.100.100 ubuntu 18 ( physique)
GNS3 + IOS 3745 sur la machine physique

Travail à faire
1- Installation et configuration d’un serveur TFTP
2- Configuration d’un routeur et sauvegarde
de fichier de config
3- Restauration de la configuration du routeur
4- installation et configuration d’un serveur de Bases
de données utilisable en réseau
5- Installation et paramétrage d’un serveur d’application
(openfire) utilisant une base de données en réseau

1- Algo de mise en place d’un service reseau

a- comprendre le service( quelle est son utilité?)


b- Quelles sont les entités du service (client et serveur)
c- Quels sont les protocoles utilisés par le service
d- Quelles sont les données echangées dans le service
et leur format
e- installation( ou activation sous windows server)
et parametrage du serveur
f- parametrage du client et utilisation du service

Application de cet algo au service TFTP

a- le service TFTP est un service permettant de


• mettre de fichiers à dispostion des clients
• de permettre aux clients d’envoyer des fichier
dans le dossier du serveur TFTP
NB : tous les utilisateurs du service TFTP auront soit :
• envoyer des fichiers dans le dossier du serveur
• récupérer des fichiers du dossier du serveur

La difference entre un serveur FTP et TFTP


• FTP utilise le protocole de transport tcp alors
que tftp utilise UDP
• Avec FTP les utilisateurs ont plusieurs à faire
- se deplacer vers un autre dossier du serveur
- renommer des fichiers au niveau du serveur
- ont leur propre dossier
• Avec TFTP , il ya globalement que deux actions à faire
prendre ou deposer un fichier

Ainsi la logique voudrait que :


Dans la configuration du service TFTP, qu’on precise :
• Le dossier du serveur TFTP
• Les droits sur le dossier du serveur (ecriture, lecture)
• le compte utilisateur avec lequel le service TFTP tourne
• l’adresse et le port d’ecoute du serveur

NB ; pour savoir si un paquet est installé sous linux,


on utilise la commande apt-cache policy nomdupaquet
-il ya 3 reponses possibles :
a- le logiciel est connu par le systeme et non installé
b- le logiciel est connu et installé
c- le logiciel n’est pas connu par le systeme

Pour installer le paquet d’un serveur tftp sous linux


on fait : apt-get install tftpd-hpa
pour installer un client tftp sous linux
on utilise ;
apt-get install tftp-hpa

Le fichier de configuration du serveur tftp est :


/etc/default/tftpd-hpa

TFTP_USERNAME

TFTP_DIRECTORY

TFTP_ADDRESS
TFTP_OPTIONS

On redemarre le service par la commande


service tftpd-hpa restart

on fait de test pour voir si le service tourne :

service tftpd-hpa status


ou on regarde si le port du serveur est ouvert
netstat -anp | grep -w 69

Pour tester le bon fonctionnement de notre serveur TFTP, nous avons ajouté au parametre
TFTP_OPTIONS -c pour donner les droits d’ecriture (create)
et apres le redemarrage du serveur TFTP on a crée un fichier et on a essayé de l’envoyer en vain sur
le serveur .
En regardant les droits du dossier du serveur qui est /var/lib/tftpboot
on s’est rendu compte qu’il appartenait à root.
Il a fallu donner le dossier /var/lib/tftpboot à l’utilisateur tftp
par la commande chown tftp /var/lib/tftpboot
Pour qu’il soit possible d’envoyer le fichier toto qui etait dans notre repertoire de base
sur le serveur en passant par les deux commandes :
ftp IPDUSERVEUR
put toto

Attention : avant d’envoyer un fichier par tftp sous Linux, il faut se placer d’abord dans le
dossier contenant le fichier avant se sonnecter au serveur puis lui envoyer le fichier par la
commande put nomdufichier

Moralité :

• Il faut bien comprendre un service avant de l’installer et le parametrer


• La maitrise du systeme d’exploitation est importante car sinon on peut etre bloqué par le
systeme meme si le service est bien configuré

On a utilisé aujourdhui :
• la commande chown permettant de changer le proprietaire
et le groupe d’un fichier
• la commande netstat -anp| grep -w numeroport
qui permet de savoir si un serveur tourne et determiner l’adresse
et le port d’ecoute
• ls -l permettant de voir les informations detaillées sur un fichier
• id nomuser permettant de savoir si un utilisateur a un compte sur notre systeme et si oui
dans quels groupes systeme il se trouve
• La commande apt-cache policy nompaquet est tres importante car elle nous permet de :
- savoir si un paquet est installé
- savoir si un paquet n’est pas installé
- savoir si un paquet n’est pas connu par notre systeme

A faire pour la prochaine fois :

TP 2 : sauvegarde et restauration de configuration de nœud de reseau

1- charger l’IOS sur gns3


2- Lancer un routeur puis lui donner un nom et des elements TCP/IP
3- sauvegarder la configuration du routeur sur un serveur TFTP se trouvant sur une machine
autre que celle ayant gns3
c’est important, sinon le cloud de gns3 permettant aux equipements de communiquer avec
votre reseau ne fonctionnera pas .

4- pour simuler une panne, arreter le routeur de GNS3 et le remplacer par un autre qu’on
integrera dans le reseau. Ensuite charger sur ce routeur la configuration du premier routeur
qui se trouve sur le serveur TFTP

TP3 :
1- Installer mariadb-server ou mysql-server sur l’une de vos deux machines Linux
2- utiliser la commande netstat pour voir l’adresse et le port d’ecoute de votre serveur mysql
ou mariadb
3- Parametrer votre serveur de BD pour qu’il ecoute sur n’importe quelle adresse IP qu’il a en
modifiant le parametre bind-address de 127.0.0.1 à 0.0.0.0
4- redémarrer votre serveur de BD par la commande :
service mysql restart et utiliser la commande netstat pour voir si votre serveur de BD ecoute
maintenant sur n’importe quelle adresse qu’il a .

Sur la deuxieme, on desire installer openfire et le parametrer pour qu’il utilise la base
openfire sur votre serveur de BD ; pour cela :
5- créer sur le serveur de BD la base openfire en donnant tous les droits à l’utilisateur bouki à
manipuler la base openfire à partir de la deuxieme machine

6- desarchiver le paquet de openfire que vous avez télechargé et envoyer le resultat dans le
dossier /usr/local ( pensez à l’option -C de tar)
7- aller dans le dossier /opt/openfire et lancer le programme installeur d’openfire par la
commande : ./bin/openfire start

NB : openfire etant developpé en Java, il faut au prealable installer la machine virtuelle java
(jvm) openjdk-8-jdk

8- lancer un navigateur et saisissez dans la barre d’url

http://Ipdelamachineopenfire:9090

vous allez avoir une interface d’installation de votre serveur de messagerie instantanée
openfire
9- A l’etape du choix de la base de donnees, vous allez choisir le bon connecteur jdbc

10- apres l’installation ion creez deux comptes au moins babadi et toto

11- telecharger le client de messagerie spark sur le meme site que openfire ( version linux et
windows) et l’installer pour permettre à babadi et toto de discuter

12- ajoutez le plugin d ‘openfire permetant de faire de webconference (faire une petite
recherche sur le site d’openfire)

cours 3 inversé :

Correction de TP : ce lundi 13 juillet 2020

Deroulement de TP TFTP /Cisco

1-intégration de l’ios 3745

on lance GNS3 et on donne un nom à notre projet :


Puis, on clique sur edit puis preference
On clique sur IOS Routers
Puis on clique sur new image
On parcourt notre machine pour choisir l’IOS qu’on a telecharger :
Puis, on valide
puis on clique sur suivant :
on constate que notre ios est bien chargé
Dans l’interface de GNS3, on constate l’apparation du routeur 3745
Ce qui montre que l’integration de l’ios est effective
On ajoute un cloud à GNS3 pour permettre aux équipements de GNS3 d’avoir la possibilité
de communiquer avec ceux de notre réseau physique.
Puis on démarre le projet en cliquant sur l’icone verte.
En cliquant droit sur le routeur puis en cliquant sur console,
on obtient l’interface de notre routeur :
On va en mode config et on donne le nom tp1 à notre routeur :

hostname tp1

Regardons si le serveur TFTP fonctionne et retenons son adresse IP


Ainsi on voit que le port 69 du serveur TFTP est ouvert et son adresse est 192.168.100.67

puis on sauvegarde le fichier de configuration du routeur sur le serveur TFTP


On voit que le fichier de configuration du routeur a été bien copié sur le serveur TFTP et sa
taille est de 298 octets.

Verifions au niveau du serveur TFTP si le fichier de configuration du serveur est bien dans le
dossier /var/lib/tftpboot
Effectivement le fichier de config du routeur est bien la et porte le nom tp1-confg

Et en editant son contenu, on voit bien l’adresse 192.168.100.254

Simulons une panne du routeur en arretant le projet et en remplacant le routeur


On valide par yes, on obtient :
On ajoute un nouveau routeur, puis on le lance et on lui donne l’adresse 192.168.100.252
pour qu’il communique avec le serveur TFTP sinon on ne pourrait pas restaurer le fichier de
configuration
On peut maintenant restaurer la configuration du routeur :

Conclusion : La restauration s’est bien faite et on constate que le routeur a pris le nom de tp1.

Exercice 1:
Donner 2 autres cas d’utilisation d’un serveur TFTP et faire la mise en œuvre

Exercice 2 : Reprenez le TP1 en remplacant le serveur TFTP sous Linux par le serveur
tftpd64 sous windows

TP2 : Utilisation de Bases de données en réseau ,configuration d’une application Java


utilisant une base de donnée en réseau et deploiement d’un serveur de messagerie instantanée

2.1 on desire faire tourner notre serveur de base sur son adresse réseau
pour pouvoir l’utiliser en réseau :

On installe mariadb-server sur la machine d’adresse IP 192.168.100.67

On verifie si l’installation s’est bien passé par la commande :


apt-cache policy mariadb-server

On voit qu’on la version 10 de mariadb-server

et le serveur mariadb tourne et n’ecoute que sur son interface de loopback ; donc on ne peut
l’utiliser à partir d’une autre machine.
Pour l’utiliser, une application doit etre sur la même machine .

Parametrons mariadb-server pour qu’il accepte des requetes à travers n’importe quelle
adresse IP qu’il a :
pour cela :

on va dans le dossier /etc/mysql


cd /etc/mysql

on cherche un fichier dans ce dossier contenant le parametre bind-address qui permet


d’indiquer l’adresse d’ecoute de maridb-server ou mysql-server
grep -r bind-address

On constate que c’est le fichier /etc/mysql/mariadb.conf.d/50-server.cnf qui contient ce


paramètre
on édite ce fichier pour remplace 127.0.0.1 par 0.0.0.0
pour que le serveur écoute sur son interface réseau :

puis on redemarre le serveur mariadb pour le changement soit pris en compte

service mysql restart


puis on verifie si notre ecoute sur n’importe laquelle de ses adresses IP

par la commande :
netstat -anp | grep -w 3306
Effectivement, notre serveur mariadb écoute maintenant sur ses interfaces reseaux.

Comme notre serveur de messagerie instantanée openfire sera installé sur la machine
d’adresse 192.168.100.100 et utilisera la base de données openfire que nous creons, on donne
les privileges en precisant l’adresse du serveur openfire qui est 192.168.100.100

Notez bien que l’utilisateur qui a tous les droits sur toutes les tables de la base openfire à
partir de l’adresse 192.168.100.100 est bouki

A partir de la machine 192.168.100.100, dans un navigateur on va sur le site suivant


https://www.igniterealtime.org/downloads/

pour telecharger openfire


On telecharge la version tar
puis choisir sauvegarder

On desarchive openfire comme suit :


tar -xvzf /home/alain/Téléchargements/openfire_4_5_1.tar.gz -C /opt

NB : changer alain par votre login sur votre machines

Comme l’application openfire a été developpée en java, on va verifier si notre systeme ubuntu
a la machine virtuelle java (jvm) installée
apt-cache policy openjdk-8-jdk
Si openjdk-8-jdk n’est pas installé, il faut l’installer par la commande :
apt-get install openjdk-8-jdk

On va dans le dossier /opt/openfire pour demarrer le programme d’installation d’openfire


par la commande :
./bin/openfire start

On lance un navigateur et on saisit dans la barre des url


http://localhost:9090
et on choisit le francais comme langue d’installation
Le sommaire de la config est donnée sur l’image ci-dessus à gauche :

En gros, on aura à :
• Choisir les paramètres du serveur openfire
• Donner les paramètres de connexion à la base de données openfire
• Paramétrer le profil utilisateur
• Créer un compte administrateur du serveur openfire

On clique sur suivant et on change les deux champs qui doivent avoir le nom complet de votre
serveur.
Dans notre cas, on a rempli im.rtn.sn
on va faire la correspondance entre im.rtn.sn et notre adresse ip qui est 192.168 .100.100
dans le fichier /etc/hosts
Puis on continue le parametrage du serveur en cliquant sur suivant
Vous devrez choisir le pilote mysql comme suit :
puis dans le champs URL de la base de données
vous remplacez :
HOSTNAME par 192.168.100.67 qui est l’adresse de notre serveur de base de données
DATABASENAME par openfire qui est le nom de notre base de données

puis on remplit le nom de notre utilisateur de BD qui est bouki et son mot de passe qui est passer
puis on clique sur suivant :

on a à choisir le profile qui indique la source d’authentication des utilisateurs peut etre :
• par defaut qui signifie que les utilisateurs seront crées dans la base openfire
• Only Hashed Passwords
• Serveur LDAP
Integrer avec un serveur LDAP comme Active Directory ou OpenLDAP en utilisant le
protocole LDAP. Les utilisateurs et groupes doivent etre présent dans le serveur LDAP et
visibles en lecture seule
Dans le champ adresse email , enlever @example
pour obtenir :
L’installation se termine :
Apres validation, on obtient l’interface d’administration d’openfire
on peut s’authentifier avec le compte qu’on a crée
on a maintenant l’interface d’administration de notre serveur de messagerie instantanée
On remarque l’icone de gestion des utilisateurs et groupes
Creons deux utilisateurs :
campal et samour
On a coché pour faire de campal un administrateur de notre serveur openfire

et on a cliqué sur créer & créer un autre utilisateur


On cree le compte de samour
On peut ajouter des nouvelles fonctionnalités à votre serveur openfire en cliquant sur plugin
puis on clique sur telechargement de plugins et on obtient la liste de plugins
Voici un extrait de plugins interessants ;
Pour installer un plugin, on clique sur l’icone + qui est face

Nous avons, entre autres, installé openfire meetings pour activer la fonctionnalité de
webconference.

L’administrateur cree une conference comme suit :

On a aussi installé le plugin inverse qui permet aux utilisateurs de tchat via le web

Dans un navigateur, on saisit : https://192.168.100.100:7443/inverse


et on ajoute l’exception sur son navigateur pour qu’il accepte le certificat auto-signé d’openfire
et on obtient l’interface de connexion :

Campal fait de meme à travers un navigateur

Pour choisir un salon de discussion


on clique a coté de salon, puis sur afficher les salons et on choisit le salon tpadminrx que
l’administrateur avait crée

u
On peut communiquer avec les membres du salon de discussion comme suit :
cours 4 du 21 juillet 2020

Q1 : comment afficher la table de routage de sa machine linux ?

Q2 : Comment integrer GNS3 et une machine virtuelle quand sa machine physique n’est pas
connectée à un reseau ?

Q3 : comment se connecter à un routeur ou swtich physique cisco ?

R3 : Il faut un cable console ; installer putty sur sa machine ;


si votre m
achine est windows : demarrer et le routeur ou le switch et le connecter par cable console sur votre
machine ; dans preripherique puis ports pour connaître le nom du port sur lequel le routeur ou
switch est connecté ;

connexion serie pour mettre le numero du port

si votre machine est sous linux : meme principe sauf que les ports series sous linux sont nommées :
/dev/ttySn

Q4 : comment installer et utiliser un serveur de bases de données relationnelles en Réseau ?

• R4 : 1- on installer le serveur de BD et on le fait écouter sur ses adresses réseaux


2- on cree une base de données sur le serveur et on accorde à un utilisateur les
privileges necessaires en precisant à partir de quelle adresse ces privileges s’appliquent
Q5 : Donner les etapes de deploiement d’une application développée en Java
R5 : 1- avoir la machine virtuelle Java

Q6 : comment paramétrer une application developpée en Java pour utiliser une base de données
relationnelles ?

R6 : il faut bien choisir le connecteur jdbc de sa base de données et donnees les parametres de
connexion à la base que l’application va utiliser

Q7 : donner la syntaxe de l’url d’acces à une BD via jdbc

Ports utilisés par openfire

le port de l »interface d’administration 9090


le port 7443 ofmeet
le port du serveur de messagerie instantanée 5222

tester si on peut se connecter à la base openfire à partir de la machine qui a openfire

openfire meeting : permet d’avoir de conference video sur le web ; partager de video sur
youtube;on peut autoriser les utilisateurs des operateurs des telecommucations à appeler le numero
alloué à une conference web afin d’y participer

le plugin inverse permet de faire du tchat, de transfert de fichiers à travers le web

Comment utiliser openfire mùeeting


On prend un

Q : comment tester la connexion sur une base de données à distance

Q : comment faire pour que mariadb n’accepte pas n’importe quel mot de passe pour root

mysql_secure_installation
Installation d’openfire sous ubuntu 16

Introduction
Suite aux problèmes rencontrés par les étudiants lors de l’installation d’openfire, nous reprenons ici
l’installation d’openfire sur une machine Ubuntu 16 fraîchement installée.

Après installation de la machine virtuelle, nous avons fait une mise à jour de la source des logiciels
et avons fait une mise à jour des logiciels par les commandes :

apt-get update
apt-get upgrade

1- installation des prérequis


on installe java
apt-get install openjdk-8-jdk

on installe mariadb-server
apt-get install mariadb-server

On securise notre serveur de bases de données :


mysql_secure_installation

A la premiere question, on valide seulement car l’administrateur root de notre serveur de BD n’a
pas encore de mot de passe ;
Puis on repond à la question suivante pour donner un mot de passe et le confirmer
Aux autres questions, on valide seulement :
On se connecte au serveur de bases de données en ligne de commande, puis on cree la base openfire
et on donne tous les droits à l’utilisateur babadi
2. Téléchargement d’openfire
On va sur le site suivant pour telecharger openfire 4.5.2 version tar,gz

https://www.igniterealtime.org/downloads/
3. Installation d’openfire

On se place dans le dossier là on n’a téléchargé openfire :

puis on désarchive openfire dans le dossier /opt

tar -xvzf openfire_4_5_2.tar.gz -C /opt

On va dans le dossier /opt/openfire/bin pour demarrer openfire

cd /opt/openfire/bin/

./openfire start
On utilise un navigateur et on saisit l’adresse de notre serveur qui est ici 192.168.100.107 et le port
d’administration d’openfire qui est 9090

on choisit la langue

On valide et on peut garder les parametres suivants par defaut :


on valide :
puis on donne à notre serveur openfire les parametres de connexion à la base openfire
on valide
on valide :
on saisit l’ancien mot de passe suggéré : admin
puis on saisit le nouveau mot de passe en respectant le conseil qui est sur l’interface par exemple
Passer123

on obtient cet ecran :


On decidé d’activer le journal de notre serveur de Bases de données pour voir si le probleme ne se
trouve pas à ce niveau.
L’activation du journal de mariadb se fait dans le fichier /etc/mysql/mariadb.conf.d/50-server.cnf
on a decommenté les 2 lignes en surbrillance et on a redemarré le serveur mariadb par la
commande :
service mysql restart

En consultant le journal de mariadb de ubuntu 16


on s’est rendu que c’etait un probleme de format des données de la base de données.

On a decidé de changer le format de utf8mb a utf8

nano /etc/mysql/mariadb.conf.d/50-server.cnf
on mis les 2 parametres en commentaire et on ajouté les 2 lignes

character-set-server = utf8
collation-server = utf8_general_ci
puis on a fait la meme chose dans le fichier /etc/mysql/mariadb.conf.d/50-client.cnf
nano /etc/mysql/mariadb.conf.d/50-client.cnf
On fait la meme chose dans le fichier : /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
service mysql restart
Ensuite on a supprimé la base de données openfire et le dossier /opt/openfire.
On s’est mis dans le dossier de telechargement et on a desarchivé openfire
tar -xvzf openfire_4_5_2.tar.gz -C /opt
puis on recommencé l’installation et on voit qu’il ne pose plus le probleme de l’ancien mot de passe
et on obtient l’ecran :
Commentaire :
Comme il y avait un problème de format de données dans la version de mariadb d’ubuntu 16 ,
openfire n’a pas pu insérer le compte par défaut admin au moment de l’installation
C’est qui explique le problème qu’on a eu.

Moralité : La maîtrise de l’environnement de travail est très importante


En cliquant sur la console d’administration, on obtient l’interface d’administration d’openfire
4- Ajout des plugins

voir en haut

5- ajout ses utilisateurs et test de services


voir en haut

Conclusion

Rien ne sert de courir.


Prenons le temps de faire beaucoup de pratiques pour rencontrer des problèmes et les
résoudre.
C’est le seul chemin pour devenir un bon technicien.
Cours du 23 juillet 2020

Service d’annuaire LDAP

1- Définir un annuaire LDAP

un annuaire est une base de données qui n’est pas relationnelle.


Les données d’un annuaires sont organisées sous forme d’arborescence.
L’ensemble des informations d’un annuaire est appelé DIT
Chaque information stockée dans un annuaire est un objet qui est identifié par son dn
Chaque objet appartient à une classe qui définit l’ensemble des attributs et des règles régissant
l’objet ( type de l’attribut, l’attribut peut -il prendre plusieurs valeurs, l’attribut tient -il compte de
la casse ).
Un schema d’un annuaire est un ensemble de classes d’objets( En francais facile, sans un schema
sur un serveur LDAP, on ne peut y stocker des objets.

Les clients LDAP echangent des informations avec les serveurs LDAP à travers un fichier
d’echange de données appelé fichier LDIF (En francais facile, un fichier LDIF est l’equivalent
de fichiers .sql contenant des requetes SQL, sauf qu’un fichier contient des requetes LDAP)

NB : Un effort particulier doit etre fait pour maitriser la synthase des fichiers LDIF)

2- Différence entre un annuaire LDAP et une base de données de type relationnel

• Un annuaire LDAP est plus rapide en lecture qu’en écriture ( c’est le contraire en SGBDR)
• Un annuaire ne contient pas de tables
• Les informations sont hiérarchisées dans un annuaire LDAP
NB : un annuaire LDAP peut être conçu de manière à respecter l’organigramme d’une entreprise

3- cas d’utilisation des annuaires


• On peut stocker dans un annuaire des comptes systemes Linux ( contrôleur de domaine)
• On peut stocker dans un annuaire des comptes systemes Windows ( ADS)
• On peut stocker des infos des employés d’une entreprise ( prenom, nom, telephone, email,
type de contrat, numero de matricule, photos, telephone mobile, adresse etc..)
• on peut stocker dans un annuaire LDAP des informations d’authentication des applications
telles que openfire et asterisk

NB : un annuaire sert à centraliser les informations d’une entreprise en vue de les mettre à
disposition de toutes les applications qui en ont besoin

4- Quelles sont les implémentations des annuaires LDAP

• Openldap sous Linux et Windows


• Active Directory de Microsof

5- Concepts généraux des annuaires

5.1 protocole LDAP


• modeles LDAP( le nombre de modeles LDAP, quel est le rôle de chaque modele)
• classes d’objets ( 3 types de classes ; abstraites, structural, )
• attributs LDAP
• entrées (entry)
• dn ( identifiant des infos dans l’annuaire) rdn
• DIT ( arborescence des informations de l’annuaire)
LDAP definit :
• Un protocole d’accès aux données de l’annuaire
• 5 modèles ( règles permettant de préciser comment nommer un objet, regle des syntaxes,
assurer la sécurité des données et fixer des droits d’acces à des données, répliquer des
données sur d’autres serveurs)
• des API
• un format d’échanges de données ( LDIF)

Attention : les données LDAP transportées dans un réseau ne sont pas au format ASCUI mais au
format LBER

Par exemple, la règle de nommage dit que :


si le nom de domaine d’une entreprise est estm.sn alors cette entreprise a 2 façons de nommer la
racine de son annuaire.
Facon 1 : dc=estm,dc=sn
Facon 2 : o=estm,c=sn

Les applications LDAP sont client/serveur


Le client :
• se connecte au serveur
• fait de recherche
• compare des données qu’il a avec des données dans l’annuaire
• modifie des données
• supprime des données
• remplace certaines données

5.2 Démarche de conception d’un annuaire

5.2.1 Avoir l’organigramme de l’entreprise pour mieux organiser le DIT de son annuaire
5.2.2 Se demander sur les applications qui seront appelées à utiliser votre annuaire ; de là , vous
aurez la liste des attributs LDAP dont vous avez besoin et par conséquent décider des classes
d’objets à utiliser pour avoir toutes les informations dont vos applications ont besoin. Cette phase
nous permet de décider des choix des schémas LDAP pour avoir des classes d’objet nécessaires.

Finalement :
• Représenter le DIT de votre annuaire
• Faire la liste des schémas LDAP dont votre serveur a besoin
• Préparer les fichiers LDIF vous permettant plus tard d’alimenter votre annuaire

5.3 Installation, paramétrage du serveur et du client LDAP

5.3.1 choix de la méthode de configuration ( il ya deux méthodes de configuration d’un serveur


openldap : configuration à travers un fichier de configuration ou configuration directement dans
l’annuaire LDAP)

NB : nous allons choisir la méthode de configuration à travers un fichier


5.3.2 Identifier les paramètres de votre serveur LDAP et connaître leur signification
5.3.3 installer le paquet slapd du serveur LDAP et le paquet ldap-utils du client LDAP

5.3.4 Localiser un exemple de fichier de configuration du serveur LDAP et le copier dans le dossier
/etc/ldap
5.3.5 Modifier les parametres de votre serveur selon vos besoins et on redémarre le serveur par la
commande :

service slapd restart

5.3.6 on édite le fichier /etc/ldap/ldap.conf pour préciser le nom de la racine de notre annuaire
LDAP et l’URI du serveur LDAP
On rappelle la syntaxe d’une uri : service://IPDUSERVEUR:port

6. Alimentation de l’annuaire

c’est la partie qui demande de la concentration, car cela nécessite de lire les fichiers des schémas
LDAP pour connaître les classes d’objets à utiliser pour créer vos fichiers LDIF qui vous serviront
à alimenter votre annuaire.

NB : les fichiers des schémas classiques d’openldap se trouvent dans le dossier /etc/ldap/schemas

7. comment configurer une application pour qu’elle utilise un annuaire LDAP