migration d’annuaires propriétaires vers openldap : retours d’expérience et bonnes pratiques

Post on 08-Jun-2015

1.332 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Migration d'annuaires propriétaires vers OpenLDAP

Clément OUDOTRMLL 12 juillet 2012–

2

Sommaire● SUN/Oracle DS et standard LDAP● Organiser sa migration vers OpenLDAP● Retours d'expérience● Présentation de LinID OpenLDAP Manager

3

Présentation

4

Clément OUDOT● Administrateur LDAP depuis 2003 à LINAGORA● LinID Dream Team Manager : http://linid.org ● Leader du projet LDAP Tool Box :

http://ltb-project.org ● Leader du projet LemonLDAP::NG :

http://lemonldap-ng.org

5

SUN/Oracle DS et standard LDAP

6

Libertés prises avec le schéma● Non respect de contraintes sur les classes d'objet

structurelles :● Plusieurs classes structurelles de hiérarchie différente

peuvent cohabiter● Une entrée peut n'avoir aucune classe structurelle

7

Libertés prises avec le schéma● Règles de comparaison incohérentes avec les

syntaxes (cf. par exemple l'attribut icsDomainNames)

● Divergences par rapport aux schémas standards des RFC, par exemple :● l'attribut « membre d'un groupe » est facultatif dans

SUN/Oracle DS● SUN/Oracle DS autorise la recherche partielle sur les

DN● SUN/Oracle DS autorise les recherches d'ordre sur

l'attribut « name »

8

Libertés prises avec les données● Attributs vides autorisés● Encodages différents de UTF-8 autorisés dans une

syntaxe Directory String● Chaînes de caractères diverses dans une syntaxe

Distingushed Name● Plusieurs valeurs pour les booléens (true, TRUE,

1, ...)● Aucun contrôle sur les données binaires

9

Politique des mots de passe● La politique des mots de passe n'est pas une RFC

mais un draft● SUN/Oracle DS implémente la politique avec des

attributs différents de ceux définis dans le draft● SUN/Oracle DS implémente des fonctions

supplémentaires par rapport au draft (contrôle sur les majuscules, minuscules, etc.)

10

Droits d'accès● SUN/Oracle DS utilise des ACI (droits définis

directement dans les entrées LDAP)● SUN/Oracle DS permet d'utiliser « accept » ou

« deny »● Attention également :

● Aux relations parent (gestion de la hiérarchie)● Au dé-référencement d'attribut

11

Organiser son projet de migration

12

Les grandes étapes 1/2● Analyse de l'existant :

● Logs● Schéma, données● Applications clientes (avec les extensions LDAP

utilisées)● ACI● Modules activés

● Installation d'une plate-forme cible● Conversion des données, des schémas, des ACI

en ACL

13

Les grandes étapes 2/2● Activation des overlays correspondant aux

modules activés● Conversion des données● Import des données● Bascule des applications

14

Analyse des logs● Les logs SUN/Oracle sont très proches du format

de logs OpenLDAP (même souche logicielle)● Des scripts existent (voir lien de téléchargement

sur http://linid.org) pour analyser ces logs et fournir des statistiques :● Types d'opération utilisées● Volumétrie (pics et moyennes)

● L'analyse de ces chiffres permet de dimensionner correctement l'architecture cible

15

20/08/11 21/08/11 22/08/11 23/08/11 24/08/11 25/08/11 26/08/11 27/08/11 28/08/110,0

0,5

1,0

1,5

2,0

2,5

3,0

3,5

Étendue

Déconnexion

Authentification

Renommage

Ajout

Modification

Suppression

RechercheOpé

ratio

ns

par

sec

ond

eExemple de graphique obtenu

16

Conversion des données● Les données doivent être retravaillées avant d'être

injectées dans OpenLDAP (classes d'objet, attributs, encodage des caractères, respect des syntaxes, etc.)

● Un script Perl est disponible sur LTB project (http://ltb-project.org), nommé convertldif.pl :● Exclusion de branches● Exclusion d'attributs ou de valeurs d'attributs● Mapping d'attributs

17

La théorie du big bang● Une bascule en mode big bang est très risquée et

donc fortement déconseillée● Il est possible de faire vivre les deux systèmes en

parallèle le temps de ma migration :● Première phase : plate-forme SUN/Oracle maître avec

synchronisation des données vers OpenLDAP● Deuxième phase : plate-forme OpenLDAP maître avec

synchronisation des données vers SUN/Oracle● Troisième phase : fin de la bascule de toutes les

applications, suppression de la plate-forme SUN/Oracle

18

Retours d'expérience

19

Ministère des Finances (ex-DGCP)● 150000 entrées● Migration big-bang des

applications d'écriture● Migration progressive des

applications de lecture● Développements

spécifiques dans OpenLDAP pour la gestion de la politique des mots de passe (avant l'existence de l'overlay ppolicy)

20

Ministère de l'Agriculture● Migration d'annuaire

incluse dans un projet plus vaste de refonte du système annuaire et messagerie

● Plusieurs centaines de milliers d'entrées

● Synchronisation temps réel des mots de passe d'OpenLDAP vers SUN pendant la durée de la migration (LSC project –http://lsc-project.org)

22

LinID OpenLDAP Manager

De slapd.conf à cn=config● slapd.conf :

● Depuis la création d'OpenLDAP, la configuration est faite dans slapd.conf

● Toute modification de configuration nécessite un arrêt/relance d'OpenLDAP

● cn=config :● Depuis OpenLDAP 2.4, la configuration peut être

stockée en LDAP, c'est le backend cn=config● Modifier un paramètre de configuration revient à faire

une modification LDAP● La configuration est prise en compte automatiquement

Avantages/inconvénients de cn=config● Avantages :

● Configuration prise en compte sans redémarrage● Réplication● Administration à distance

● Inconvénients :● Peu intuitif● Pas de commentaire● Pas de suppression (pour l'instant)● Sauvegarde/restauration de la configuration plus

complexe

Exemple : changer le niveau de log● Avec slapd.conf :Loglevel 256● Avec cn=config :echo "dn: cn=config changetype: modifyreplace: olcLogLevelolcLogLevel: 256" | ldapmodify -x -D cn=manager,cn=config -W

LinID OpenLDAP Manager● LinID OpenLDAP Manager (LinID OM) est basé

sur LinID Directory Manager (LinID DM)● Principales fonctionnalités :

● Gestion des backends● Gestion des overlays● Auto détection de la version d'OpenLDAP● Gestion du cn=monitor● Configuration de plusieurs instances d'OpenLDAP● Gestion du schéma

Création d'une connexion

Liste des connexions

Édition du schéma

Configuration d'un overlay

31

La fin est proche...

32

Merci● Merci :

● RMLL et les organisateurs de la session● Société LINAGORA

● Restons en contact :● Identica: @coudot● Twitter: @clementoudot @LinID_FOSS ● IRC: KPTN #LinID@freenode

33

Questions ?

Merci de votre attention

http://www.linid.org

Logiciels et services Open Source80 rue Roque de Fillol l 92800 PUTEAUXTel : 0810 251 251 l Fax : +33 1 46 96 63 64www.linagora.com

top related