Uploaded by حفيدة الأمير عبد القادر

asrLDAP

advertisement
L'Annuaire LDAP
ASR – Master M2
(2007-2008)
- Luiz Angelo STEFFENEL -
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
1
Plan de la Présentation
Steffenel
●
Introduction
●
La structure LDAP
●
Installation
Administration Réseaux et Systèmes
Master M2 - 2007-2008
2
Introduction
Historique
● Caractéristiques
● Le protocole LDAP
● Exemples
●
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
3
Historique
●
Annuaire : ouvrage publié chaque année, donnant la liste de
membres d'une profession, des abonnés à un service, etc.
ex : Annuaire téléphonique
Annuaire éléctronique
●
●
●
●
●
●
Steffenel
liste d'informations stockés dans un type de base de
données
organisation hiérarchique
mécanismes simples de recherche et de tri selon des
critères variables
ex : annuaire de l'université
Administration Réseaux et Systèmes
Master M2 - 2007-2008
4
Historique
●
Le service d'annuaire X.500
conçu en 1988 par des opérateurs télécom
● objectif : interconnecter et unifier tout type d'annuaire
● protocole DAP (Directory Access Protocol)
● problème : X.500 basé sur protocoles OSI (!!!)
1993 : version plus légère du protocole DAP adaptée aux
réseaux TCP/IP
●
●
●
Steffenel
LDAP (Lightweight Directory Access Protocol)
Administration Réseaux et Systèmes
Master M2 - 2007-2008
5
Caractéristiques des Annuaires
Électroniques
●
Dynamisme – mises à jour simples et quotidiennes
–
●
●
●
Steffenel
les utilisateurs peuvent mettre à jour leurs propres données
Souplesse – l'organisation des entrées permet l'indexation
avec des critères multiples
Sûreté – les annuaires en ligne disposent de mécanismes
d'authentification et de règles d'accès
–
limite la portée des modifications des utilisateurs
–
réglemente l'interconnexion avec d'autres annuaires
Répartition – les annuaires peuvent être utilisés seuls
(standalone) ou liés dans une arbre global
Administration Réseaux et Systèmes
Master M2 - 2007-2008
6
Annuaires vs. Bases de Données
●
Steffenel
Annuaire
●
Base de Données
–
système léger
–
système complet
–
optimisé pour la lecture
–
optimisation dynamique
–
organisation en arbre
–
organisation relationnelle
(tabulaire)
–
services spécifiques pour
la recherche
d'informations
–
ensemble complet de
services pour la gestion
des données
–
permet la répartition et la
coopération entre
différents annuaires
–
généralement centralisé
Administration Réseaux et Systèmes
Master M2 - 2007-2008
7
Le Protocole LDAP
●
●
●
Steffenel
Protocole d'accès à un annuaire
Norme qui définit l'échange de données entre clients et
serveur
–
modèle d'information
–
modèle de nommage
–
modèle fonctionnel (API)
–
modèle de sécurité (crypto SSL ou TLS, auth. SASL, ...)
Définit aussi l'échange de données entre serveurs qui
coopèrent
–
duplication/synchronisation
–
hiérarchie de serveurs
Administration Réseaux et Systèmes
Master M2 - 2007-2008
8
Architecture Client/Serveur
Client
1. requête
Serveur
2. réponse
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
9
Architecture Partage d'Information
Serveur
Supérieur
3. nouvelle requête
Client
1. requête
Serveur
2. referral
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
10
Architecture Duplication
1. update request
Esclaves
7.
2. referral
slurpd
Client
3. new request
Maître
5.
4. response
Steffenel
6.
Administration Réseaux et Systèmes
Master M2 - 2007-2008
replication
log
11
La structure LDAP
Modèle d'information
● Modèle de nommage
● Modèle fonctionnel
●
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
12
Le modèle d'information
●
Le modèle d'information LDAP définit le type de données qui
peuvent être stockés dans l'annuaire LDAP (le schéma)
–
●
Chaque entrée correspond à un objet (abstrait ou réel)
–
●
il définit aussi les règles pour comparer les attributs
une entrée est composée par plusieurs objets
Exemple
Type d'attribut
cn:
uid:
telephonenumber:
mail:
Steffenel
valeur de l'attribut
Yves Martin
ymartin
326000000
ymartin@mail.com
Administration Réseaux et Systèmes
Master M2 - 2007-2008
13
Le modèle d'information
●
●
Steffenel
Les types de donnée
–
binary – données binaires (images, video, fichiers, ...)
–
boolean – attribut constitué d'un bit (vrai ou faux)
–
integer – valeur entier
–
directory string – chaîne de caractères
–
dn – pointeur vers un objet de l'annuaire (distinguished name)
Quelques règles de comparaison
–
cis (caseIgnoreMatch) – attribut texte non sensible à la casse
–
ces (caseExactMatch) – attribut texte sensible à la casse
–
dn (distinguishedName) – compare deux entrées
–
...
Administration Réseaux et Systèmes
Master M2 - 2007-2008
14
Le modèle d'information
●
Steffenel
Heureusement, il y a une liste d'attributs utilisateurs déjà
établie
–
c – code du pays (en deux lettres)
–
o – organisation
–
ou – unité organisationnelle (section, département, ...)
–
cn – nom de l'objet (common name, nom d'usage)
–
givenName – prénom
–
sn – nom de famille
–
uid – identifiant unique de l'objet
–
mail – adresse email
–
...
Administration Réseaux et Systèmes
Master M2 - 2007-2008
15
Le modèle d'information
●
●
Steffenel
Les classes d'objets - possibilité d'établir une structure
commune pour les objets
–
classes abstraites – classes qui peuvent uniquement être
hérités
–
classes structurelles – classes instanciables
–
classes auxiliaires – classes qui permettent l'ajout d'attributs
facultatifs aux classes structurelles
Exemple : les attributs sont définis par
–
un nom unique
- un indicateur d'usage
–
un Object Identifier unique
- un format ou limite de taille
–
une syntaxe et des règles de comparaison
Administration Réseaux et Systèmes
Master M2 - 2007-2008
16
Le format d'échange de données LDIF
●
●
Les données dans LDAP sont stockés dans un format « non
texte »
Afin de rendre plus facile l'échange de données, LDAP
définit un format texte pour l'import/l'export des données
–
la syntaxe est la suivante :
[<id>]
dn: <distinguished name>
<attribut> : <valeur>
<attribut> : <valeur>
...
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
17
Le modèle de nommage
●
Les objets LDAP sont classés hiérarchiquement
●
Les entrées sont classées dans un arbre
FR
(C)
sociétéA
(O)
(OU1)
(OU2)
(CN)
●
Steffenel
Direction
sociétéB
Département1
division1
personne1
Département1
division2
personne2
division1
personne1
personne2
Il existe un objet particulier (rootDSE) qui décrit l'arbre
Administration Réseaux et Systèmes
Master M2 - 2007-2008
18
La localisation des entrées
●
●
●
Steffenel
Un objet peut être adressé de deux façons :
–
par son nom rélatif (RDN – Relative Distinguished Name)
–
par son nom absolu (DN – Distinguished Name)
Le nom relatif est composé d'un ou plusieurs paires
clé/valeur
–
un objet ne doit posséder qu'un seul RDN
–
le RDN doit être un nom unique dans la branche de l'objet
–
un RDN peut être multivalué (plusieurs paires clé/valeur)
Il est important de rendre les attributs d'un RDN obligatoires
Administration Réseaux et Systèmes
Master M2 - 2007-2008
19
La localisation des entrées
●
Le DN contient le RDN d'un objet associé à l'ensemble des
noms relatifs des entrées parentes
●
Un DN permet de repérer une entrée de manière unique
●
Exemple :
–
Steffenel
uid (user id)
o (organization)
ou (organization unit)
cn (common name)
mail
...
●
DN - uid=steff01,cn=steffenel,o=univ-reims,mail=xxx@xxxx
●
RDN - uid=steffe01
Administration Réseaux et Systèmes
Master M2 - 2007-2008
20
Le modèle fonctionnel
●
Steffenel
LDAP proose une API avec des fonctions pour l'accès et la
modification des entrées dans la base
–
Bind/Unbind – connexion/déconnexion d'une session LDAP
–
Add – ajoute une entrée au répertoire
–
Delete – supprime une entrée
–
Rename – modifie le nom d'une entrée
–
Search – effectue une recherche
–
Compare – compare les entrées selon des critères
–
Abandon – abandonne l'opération précédemment envoyé
Administration Réseaux et Systèmes
Master M2 - 2007-2008
21
Installation
Installation sous Debian
● Création d'une base simple
● Clients
● Autres exemples d'utilisation
●
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
22
Installation sous Debian
●
Utilisation du serveur OpenLDAP
●
Installation des packages Debian
apt­get install slapd ldap­utils
●
Configuration du serveur
–
éditer le fichier /etc/ldap/slapd.conf
–
choisir le système de base de données à utiliser
database bdb
–
Steffenel
définir la racine de l'arbre
suffix "dc=mondomaine,dc=org"
Administration Réseaux et Systèmes
Master M2 - 2007-2008
23
Installation sous Debian
–
créer « l'objet » administrateur et son mot de passe
●
–
rootdn "cn=admin,dc=mondomaine,dc=org"
rootpw secret
astuce : utiliser slappasswd pour créer un mot de passe
chiffré
●
ex: $ slappasswd
New password: *******
Re­enter new password: *******
{SSHA}5R8i8cDhTs+UsIEmyYED11AoG64x6MQ4
Steffenel
–
modifier toute autre ligne « dn » qui définit les droits de
l'administrateur de la base
–
reinitialiser ldap -> /etc/init.d/slapd restart
Administration Réseaux et Systèmes
Master M2 - 2007-2008
24
Création d'un carnet d'adresses
●
●
●
Pour créer une base, il faut définir la structure de la base
Nous allons utiliser un fichier texte (ossature.ldif) dans le
format LDIF
Le fichier LDIF doit définir la racine de l'arbre
# D'abord, la racine de la base LDAP
dn: dc=mondomaine,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
dc: mondomaine
o: mondomaine
description: mon carnet d'adresses
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
25
Création d'un carnet d'adresses
●
Ensuite, l'arborescence de l'arbre
# La structure où je trouve mes contacts
dn: ou=contacts,dc=mondomaine,dc=org
ou: contacts
objectClass: top
objectClass: organizationalUnit
description: La structure où je trouve mes
contacts
●
Finalement, l'administrateur
#La definition de l'administrateur
dn: cn=admin,dc=mondomaine,dc=org
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: admin
description: administrateur LDAP
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
26
Remplir la base de données
●
Dans le cas de notre carnet d'adresses, nous allons utiliser les
attributs définis par défaut dans le fichier /etc/ldap/slapd.conf
include /etc/ldap/schema/xxxx.schema
●
Steffenel
Nous allons utiliser, par exemple, les champs suivants :
–
sn – nom de famille (surname)
–
gn – prénom (given name)
–
o – organisation
–
telephoneNumber
–
postalAddress
–
postalCode
–
mail
Administration Réseaux et Systèmes
Master M2 - 2007-2008
27
Remplir la base de données
●
Créer un fichier contacts.ldif
dn: cn=Florent Pepin,dc=mondomaine,dc=org
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: Florent Pepin
gn: Florent
sn: Pepin
o: Université de Paris XXV
telephoneNumber: 0101010101
postalAddress: 10 rue des Pepins
postalCode: 75999
mail: fpepin@paris15.fr
description: un collègue à Paris
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
28
Rajouter tout à la base
●
Procédure « standard »
–
ldapadd -x -W -D "cn=admin,dc=mondomaine,dc=org" -f
fichiers.ldif
–
rédemarrer la base de données
●
–
/etc/init.d/slapd restart
vérifier les entrées
●
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
–
●
ldapsearch -x -b 'dc=mondomaine,dc=org' '(objectclass=*)'
–
Steffenel
liste tous les objets dans la base
liste tous les objets appartenant à la branche mondomaine.org
Administration Réseaux et Systèmes
Master M2 - 2007-2008
29
Rajouter tout à la base - cont
●
Problèmes rencontrés :
–
erreur 49 (invalid credentials)
●
–
il faut un administrateur enregistré pour pouvoir écrirer
solution : modifier temporairement les droits de l'utilisateur
« anonymous » dans le fichier /etc/ldap/slapd.conf
# The admin dn has full write access, everyone else
# can read everything.
access to *
by dn="cn=admin,dc=angelo,dc=org" write
by anonymous write
by * read
Steffenel
Administration Réseaux et Systèmes
Master M2 - 2007-2008
30
Rajouter tout à la base - cont
●
Steffenel
erreur 49 (invalid credentials)
–
réinitialiser la base /etc/init.d/slapd restart
–
remplir la base avec les fichiers .ldif
–
supprimer l'entrée « write » pour l'user anonymous
–
réinitialiser la base encore une fois /etc/init.d/slapd restart
Administration Réseaux et Systèmes
Master M2 - 2007-2008
31
Quelques clients LDAP
●
ldapsearch
–
●
gq
–
●
Steffenel
interface php pour naviguer
votre messagerie favourite
–
●
outil linux pour naviguer l'arbre LDAP
phpLDAPadmin
–
●
déjà utilisé pour vérifier la base
thunderbird, exchange
OpenOffice
Administration Réseaux et Systèmes
Master M2 - 2007-2008
32
Exemples d'utilisation
●
Carnet d'adresses (bien sûr)
●
Contrôle du parc informatique (MACs, IPs, etc.)
●
Authentification unique dans un réseau Linux+Windows
–
remplace NIS
–
à faire avec beaucoup de précaution
●
●
Steffenel
incompatibilités au niveau des algorithmes de crypto
modification des chemins de recherche et des services
d'authentification (PAM)
–
http://www.openldap.org/doc/admin23/quickstart.html
–
http://home.subnet.at/~max/ldap
–
http://moduli.net/sysadmin/sarge-ldap-auth-howto.html
Administration Réseaux et Systèmes
Master M2 - 2007-2008
33
Download