Sunteți pe pagina 1din 39

OpenLDAP

Implémentation libre de LDAP


Campus-Booster ID : **XXXXX

ISETR
OpenLDAP

Objectifs de ce module
En suivant ce module vous allez :

 Savoir ce qu’est un annuaire.


Le but premier d’un annuaire.
 Découvrir OpenLDAP. Le
protocole LDAP et son évolution.
 Mettre en place OpenLDAP.
Installation et administration sur
un système GNU/Linux.
 Sécuriser OpenLDAP. Gérer
l’accès aux données.
OpenLDAP

Plan du module
Voici les parties que nous allons aborder :

 Les annuaires électroniques.


De X.500 à LDAP.
 Modèle d’information et modèle
de nommage de LDAP.
Schéma, DIT et accès aux
données.
 Configuration et administration
d’un annuaire LDAP. Les outils
de la suite OpenLDAP.
 Contrôle d’accès et intégration
des données. Les ACL et le
format d’échange LDIF.
OpenLDAP

Les annuaires
électroniques

De X.500 à LDAP
Les annuaires électroniques

Plan de la partie
Voici les chapitres que nous allons aborder :

 Le concept d’annuaire.
 L’annuaire électronique.
 Le protocole LDAP.
 Un peu de vocabulaire.
 Comparaison aux bases de données.
Les annuaires électroniques

Le concept d’annuaire

Annuaire - Outil de recherche qui


permet d’accéder facilement et
rapidement à un certain nombre
d’information à partir de multiples
critères.
Les annuaires électroniques

L’annuaire électronique
Le premier annuaire X.500 :

o Est apparu en 1988.


o Est basé sur le protocole
DAP du modèle OSI.
o Incompatible avec TCP/IP.
Les annuaires électroniques

Le protocole LDAP

Lightweight
Directory
Access
Protocole
Les annuaires électroniques

Le protocole LDAP
LDAP est un protocole d’annuaire standard qui fournit :

o Le protocole d’accès.
o Un modèle d’information.
o Un modèle de nommage.
o Un modèle fonctionnel.
o Un modèle de sécurité.
o Un modèle de duplication.
o Un format d’échange : LDIF
Les annuaires électroniques

Un peu de vocabulaire

AUA - (Agent utilisateur d’annuaire) Le


client qui se connecte à un annuaire.

ASA - (Agent système d’annuaire) Le


serveur qui stocke les données.

PSA - (Protocole système d’annuaire)


Le protocole d’interaction entre AUA et
ASA.
Les annuaires électroniques

Comparaison aux bases de données


Un ASA n’est pas une vrai base de donnée

o Structuré en arbre comme


un système de fichier.
o Ne possède aucune
limitation d’attributs.
o Optimisé uniquement pour
la lecture et la recherche.
OpenLDAP

Modèle d’information et
modèle de nommage de
LDAP
Modèle d’information et modèle de nommage de LDAP

Plan de la partie
Voici les chapitres que nous allons aborder :

 Elément de base de l’annuaire.


 Les attributs d’une entry.
 Classes d’objets et héritage.
 Arborescence d’informations.
Modèle d’information et modèle de nommage de LDAP

Elément de base de l’annuaire


L’élément de base d’un annuaire est une entry
Modèle d’information et modèle de nommage de LDAP

Attributs d’une entry


Chaque entry est constitué d’attributs (paire clé/valeur)

 Deux types d’attributs


 User attributes
 System attributes
 Noms mémorisables
 cn
 userPassword
 createTimestamp
Modèle d’information et modèle de nommage de LDAP

Classes d’objets et héritage


Les classes définissent les types d’informations.
Modèle d’information et modèle de nommage de LDAP

Arborescence d’information
Le DIT définit l’organisation des objets de l’annuaire
Modèle d’information et modèle de nommage de LDAP

Modèle de nommage
La norme LDAP v3 permet de désigner un objet :

 grâce à son RDN


(Relative Distinguished Name)
 grâce à son DN
(Distinguished Name)
OpenLDAP

Configuration et
administration d’un
annuaire LDAP
Les outils de la suite OpenLDAP
Configuration et administration d’un annuaire LDAP

Plan de la partie
Voici les chapitres que nous allons aborder :

 Pré-requis d’installation.
 Installation.
 Configuration.
 Exemple de configuration.
 Démarrage du serveur.
Configuration et administration d’un annuaire LDAP

Pré-requis d’installation
Selon la topologie mise en place avec LDAP

o Librairies OpenSSL TLS.


o Kerberos.
o Librairies SASL.
o Base de donnée.
Configuration et administration d’un annuaire LDAP

Installation
Installation via le système de packages
Distribution Commande

Mandriva yum install openldap-server


Configuration et administration d’un annuaire LDAP

Configuration
Installation via le système de packages

include Inclut un schéma

database Définit le type de la base de donnée

suffix Définit le suffixe de notre arbre

rootdn Le DN de l’administrateur

rootpw Le hash du mot de passe administrateur

pidfile Fichier contenant le PID du serveur

argfile Fichier contenant les arguments


Configuration et administration d’un annuaire LDAP

Exemple de configuration
Voici un exemple de configuration

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/inetorgperson.schema

database bdb
suffix "c=FR, o=Labo-linux"
rootdn "cn=admin,c=FR,o=Labo-linux"
rootpw {SSHA}ZKKuqbEKJfKSXhUbHG3fG8MDn9j1v4QN
Configuration et administration d’un annuaire LDAP

Démarrage du serveur
Il est recommandé de créer un utilisateur spécial
Lancement manuel

slapd -u ldapuser -g ldapgroup -h ‘ldap://localhost/’

Lancement grâce au script

/etc/init.d/slapd start|stop|restart|status
Configuration et administration d’un annuaire LDAP

Pause-réflexion
Avez-vous des questions ?
OpenLDAP

Contrôle d’accès et
intégration des données

Les ACL et le format d’échange LDIF


Contrôle d’accès et intégration des données

Plan de la partie
Voici les chapitres que nous allons aborder :

 Contrôle d’accès aux informations.


 Définir des ACL.
 Le format LDIF.
 Recherche dans le DIT.
 Modification du DIT.
Contrôle d’accès et intégration des données

Contrôle d’accès aux informations


L’accès aux informations se fait grâce aux ACL

 Par défaut, droit de lecture


pour tout le monde.
 ACL : permettent de
restreindre l’accès.
 Définit dans le fichier de
configuration du serveur.
Contrôle d’accès et intégration des données

Définir des ACL


Voici comment se définit une ACL

access to <what>
by <who> <access type>
by <who> <access type>
Contrôle d’accès et intégration des données

Définir des ACL


<what> désigne l’objet sur lequel s’applique les règles
DN

access to cn=linus,ou=people,o=kernel

Ensemble de DN

access to

Attribut

access to attr=userPassword

Tous les objets

access to *
Contrôle d’accès et intégration des données

Définir des ACL


<who> désigne à qui s’adresse la règle
Tout le monde

by *

Utilisateurs anonymes

by anonymous

Utilisateur associé à l’objet cible

by self

Utilisateurs correspondant à l’expression

by dn.base=...
Contrôle d’accès et intégration des données

Définir des ACL


Différentes valeurs pour <access type> :
Aucun droit

None

Nécessaire pour se connecter

Auth

Nécessaire pour lire un résultat

Read

Nécessaire pour écrire ou modifier

Write
Contrôle d’accès et intégration des données

Le format LDIF
Ce format permet d’implément notre DIT dans l’annuaire :
 Fichier simple
 Ensemble de clé : valeur
 Commence toujours par donner le dn d’un objet
 Viennent ensuite la ou les classes de l’objet
 Puis les attributs

dn: o=Labo-Linux
objectClass: organization
o: Labo-Linux

Informations sur les classes et les attributs :


http://www.andrew.cmu.edu/user/dd26/ldap.akbkhome.com/objectcla
ss/top.htmla
Contrôle d’accès et intégration des données

Le format LDIF
Utilisation de la commande ldapadd pour intégrer le LDIF :

ldapadd –D ‘cn=Manager,o=Labo-Linux’ –W –f file.ldif

Différentes options :

-D Utilisateur ajoutant les entrées

-W Authentification interactive

-f Spécifie le fichier LDIF à utiliser


Contrôle d’accès et intégration des données

Recherche dans le DIT


Utilisation de la commande ldapsearch pour rechercher :

$ ldapadd –LLL –b o=Labo-Linux ‘(objectClass=*)’

$ ldapadd –LLL –b o=Labo-Linux ‘(ipHostNumber=192.168.0.42)’

Différentes options :

-LLL Afficher uniquement les résultats

-b Base de recherche

Possibilité de récupérer un attribut uniquement :


$ ldapadd –LLL –b o=Labo-Linux ‘(ipHostNumber=192.168.0.42)’ \

ipHostNumber
Contrôle d’accès et intégration des données

Recherche dans le DIT


La commande ldapmodify permet de modifier une entrée :
 Pour cela, on utilise un nouveau fichier LDIF
 Puis on applique :

$ ldapmodify –D ‘cn=Manager, o=Labo-Linux’ –W \


–f file.ldif

La commande ldapdelete permet d’effacer une entrée :

$ ldapdelete -D 'cn=Manager,o=Labo-linux' \
-W 'cn=probe,ou=Hosts, ou=Ressources,o=Labo-linux'
Contrôle d’accès et intégration des données

Pause-réflexion
Avez-vous des questions ?
OpenLDAP

Résumé du module

Contrôle
d’accès et
intégration Les annuaires
des données électroniques

Modèle Configuration et
d’information administration d’un
et modèle de annuaire LDAP
nommage de
LDAP

S-ar putea să vă placă și