Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et bonnes pratiques

1,932 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,932
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Migration d’annuaires propriétaires vers OpenLDAP : retours d’expérience et bonnes pratiques

  1. 1. Migration dannuaires propriétaires vers OpenLDAP Clément OUDOT RMLL – 12 juillet 2012
  2. 2. Sommaire ● SUN/Oracle DS et standard LDAP ● Organiser sa migration vers OpenLDAP ● Retours dexpérience ● Présentation de LinID OpenLDAP Manager 2
  3. 3. Présentation 3
  4. 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 4
  5. 5. SUN/Oracle DS et standard LDAP 5
  6. 6. Libertés prises avec le schéma ● Non respect de contraintes sur les classes dobjet structurelles : ● Plusieurs classes structurelles de hiérarchie différente peuvent cohabiter ● Une entrée peut navoir aucune classe structurelle 6
  7. 7. Libertés prises avec le schéma ● Règles de comparaison incohérentes avec les syntaxes (cf. par exemple lattribut icsDomainNames) ● Divergences par rapport aux schémas standards des RFC, par exemple : ● lattribut « membre dun groupe » est facultatif dans SUN/Oracle DS ● SUN/Oracle DS autorise la recherche partielle sur les DN ● SUN/Oracle DS autorise les recherches dordre sur lattribut « name » 7
  8. 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 8
  9. 9. Politique des mots de passe ● La politique des mots de passe nest 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.) 9
  10. 10. Droits daccès ● SUN/Oracle DS utilise des ACI (droits définis directement dans les entrées LDAP) ● SUN/Oracle DS permet dutiliser « accept » ou « deny » ● Attention également : ● Aux relations parent (gestion de la hiérarchie) ● Au dé-référencement dattribut 10
  11. 11. Organiser son projet de migration 11
  12. 12. Les grandes étapes 1/2 ● Analyse de lexistant : ● Logs ● Schéma, données ● Applications clientes (avec les extensions LDAP utilisées) ● ACI ● Modules activés ● Installation dune plate-forme cible ● Conversion des données, des schémas, des ACI en ACL 12
  13. 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 13
  14. 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 dopération utilisées ● Volumétrie (pics et moyennes) ● Lanalyse de ces chiffres permet de dimensionner correctement larchitecture cible 14
  15. 15. Exemple de graphique obtenu 3,5 3,0 2,5 Étendue Opérations par seconde Déconnexion 2,0 Authentification Renommage Ajout 1,5 Modification Suppression Recherche 1,0 0,5 0,0 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/11 15
  16. 16. Conversion des données ● Les données doivent être retravaillées avant dêtre injectées dans OpenLDAP (classes dobjet, 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 dattributs ou de valeurs dattributs ● Mapping dattributs 16
  17. 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 17
  18. 18. Retours dexpérience 18
  19. 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 lexistence de loverlay ppolicy) 19
  20. 20. Ministère de lAgriculture ● Migration dannuaire incluse dans un projet plus vaste de refonte du système annuaire et messagerie ● Plusieurs centaines de milliers dentrées ● Synchronisation temps réel des mots de passe dOpenLDAP vers SUN pendant la durée de la migration (LSC project – http://lsc-project.org) 20
  21. 21. LinID OpenLDAP Manager 22
  22. 22. De slapd.conf à cn=config ● slapd.conf : ● Depuis la création dOpenLDAP, la configuration est faite dans slapd.conf ● Toute modification de configuration nécessite un arrêt/relance dOpenLDAP ● cn=config : ● Depuis OpenLDAP 2.4, la configuration peut être stockée en LDAP, cest le backend cn=config ● Modifier un paramètre de configuration revient à faire une modification LDAP ● La configuration est prise en compte automatiquement
  23. 23. 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 linstant) ● Sauvegarde/restauration de la configuration plus complexe
  24. 24. Exemple : changer le niveau de log ● Avec slapd.conf : Loglevel 256 ● Avec cn=config : echo "dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: 256" | ldapmodify -x -D cn=manager,cn=config -W
  25. 25. 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 dOpenLDAP ● Gestion du cn=monitor ● Configuration de plusieurs instances dOpenLDAP ● Gestion du schéma
  26. 26. Création dune connexion
  27. 27. Liste des connexions
  28. 28. Édition du schéma
  29. 29. Configuration dun overlay
  30. 30. La fin est proche... 31
  31. 31. 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 32
  32. 32. Questions ? 33
  33. 33. Merci de votre attention http://www.linid.orgLogiciels et services Open Source80 rue Roque de Fillol l 92800 PUTEAUXTel : 0810 251 251 l Fax : +33 1 46 96 63 64www.linagora.com

×