SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
THÈME TECHNIQUE - ADMINISTRATION SYSTÈME


                  OpenLDAP
          Astuces pour en faire
      l'annuaire d'entreprise idéal




Jonathan CLARKE - jcl@normation.com   Normation – CC-BY-SA
                                      normation.com
Qui suis-je ?

●   Jonathan Clarke
     ●   Job : Co-fondateur et directeur technique de Normation
     ●   Métier :
          –   D'abord administration système, gestion d'infrastructures…
          –   Projets LDAP et gestion d'identités
          –   Maintenant un peu de tout !!
     ●   Logiciel libre : Contributeur OpenLDAP, CFEngine, LSC, LTB...




    Contacts
    Mail : jcl@normation.com
    Twitter : @jooooooon42 (ca fait 7 'o', mais c'est pas ma faute...)



                                                                           Normation – CC-BY-SA
                                                                           normation.com          2
De quoi parle-t-on ?

Gestion des identités électroniques en entreprise




                                                    Normation – CC-BY-SA
                                                    normation.com          3
De quoi parle-t-on ?

Annuaire LDAP central
●   LDAP = Lightweight Directory Access Protocol
●   Standard pour communiquer avec et stocker des données dans
    des annuaires
●   Annuaires ? Sorte de base de données objet, hierarchique...
●   Bref, « LDAP, c'est compliqué... »




                                                     Normation – CC-BY-SA
                                                     normation.com          4
De quoi parle-t-on ?




Source : Wikipedia              Normation – CC-BY-SA
                                normation.com          5
De quoi parle-t-on ?

Problématique



      Authentification   Gestion des droits   Création de comptes
       d'applications    (administrateurs)            (RH)




                                              ● Source unique de « vérité »
                                              ● Origines des mises à jours
                              LDAP
                                                multiples et variées
                                              ● Point central → critique




                                                          Normation – CC-BY-SA
                                                          normation.com          6
De quoi parle-t-on ?

Objectifs
 ●   Montrer quelques fonctionnalités pas forcément connues
 ●   Donner des exemples concrets de configuration, pour
     slapd.conf et cn=config
 ●   Retours d'expériences et idées sur la gestion d'un service
     LDAP en production




                                                      Normation – CC-BY-SA
                                                      normation.com          7
Sommaire

 1. De quoi parle-t-on ?
 2. OpenLDAP: présentation et principes
 3. Intégrité des données
 4. Architecture réseau et réplication
 5. Monitoring




Jonathan CLARKE - jcl@normation.com   Normation – CC-BY-SA
                                      normation.com          8
OpenLDAP

●   Implémentation LDAP de référence
●   Open source (licence propre, de type BSD)
●   Multi-plateforme
●   Écrit en C
●   Version majeure actuelle : 2.4
●   Contributeurs :
    ●   Créé en 1998 par Kurt Zeilenga
    ●   Core team actuelle :
         –   Howard Chu, Pierangelo Maserati et Kurt Zeilenga
    ●   Engineering team actuelle :
         –   14 membres officiels
    ●   De nombreux contributeurs occasionnels

                                                                Normation – CC-BY-SA
                                                                normation.com          9
OpenLDAP

●   Un annuaire LDAP parmi d'autres...




                                         Normation – CC-BY-SA
                                         normation.com          10
OpenLDAP

●   Contient 3 composants :
    ●   Un serveur LDAP : slapd
         –   Outils d'administration côté serveur : slap*


    ●   Des clients LDAP : ldap*
         –   Lecture : ldapsearch, ldapcompare
         –   Écriture : ldapadd, ldapmodify, ldapmodrdn, ldapdelete
         –   Divers :   ldappasswd, ldapwhoami, ldapexop
         –   Utilitaire : ldapurl


    ●   Une librairie LDAP : libldap
         –   Librairie standard en C




                                                                      Normation – CC-BY-SA
                                                                      normation.com          11
OpenLDAP : architecture du serveur

                  Requête entrante




                                     Frontend




Overlay 1      Overlay 2    ...      Overlay n




Backend     Backend         Backend          Backend      Backend             Backend
bdb/hdb       ldif         ldap/meta         shell/perl     SQL               monitor



                                                                    Normation – CC-BY-SA
                                                                    normation.com          12
OpenLDAP : configuration

●   Deux formats de configuration :
    ●   slapd.conf – Fichier de configuration « traditionnel »
    ●   cn=config – Base de configuration accessible via LDAP
●   Comparaison :
    ●   Édition :
         –   slapd.conf: éditeur texte (vim, emacs, etc)
         –   cn=config: client LDAP (ldapsearch/ldapmodify, Apache Directory Studio...)
    ●   Prise en compte des changements :
         –   slapd.conf: redémarrage du serveur obligatoire
         –   cn=config: prise en compte à chaud de tous les changements
    ●   Replication :
         –   slapd.conf: partage de la configuration manuelle seulement
         –   cn=config: synchronisation possible entre serveurs via syncrepl (clusters, haute-dispo)
    ●   Compatibilité :
         –   slapd.conf: pourrait être déprécié à l'avenir
         –   cn=config: considéré comme standard depuis OpenLDAP 2.4
                                                                               Normation – CC-BY-SA
                                                                               normation.com           13
OpenLDAP : configuration

●   slapd.conf – Structure et format

    # comment - these options apply to every database
    <global configuration options>
    # first database definition & configuration options
    database <database 1 backend type>
    <configuration options specific to database 1>
    # subsequent database definitions & configuration options
    database <database 2 backend type>
    # add an overlay to database 2
    overlay <overlay type>
    <configuration options specific to overlay on database 2>




                                               Normation – CC-BY-SA
                                               normation.com          14
OpenLDAP : configuration

●   slapd.conf mappé vers cn=config

                                                   cn=config
# options apply to every database
<global configuration options>

# first database
database <database 1 type>          olcDatabase={-1}frontend
<configuration for database 1>
                                        olcDatabase={0}config
# subsequent databases
database <database 2 type>
                                             olcDatabase={1}bdb
# add an overlay to database 2
overlay <overlay type>
<configuration for overlay>                     olcDatabase={2}hdb



                                        olcOverlay={0]type


                                                       Normation – CC-BY-SA
                                                       normation.com          15
Sommaire

 1. De quoi parle-t-on ?
 2. OpenLDAP : présentation et principes
 3. Intégrité des données
 4. Architecture réseau et réplication
 5. Monitoring




Jonathan CLARKE - jcl@normation.com   Normation – CC-BY-SA
                                      normation.com          16
Intégrité des données

Ce qu'on veut éviter




                             Normation – CC-BY-SA
                             normation.com          17
Intégrité des données

●   LDAP impose nécessaire un contrôlé des données grace à son
    schéma :
    ●   ObjectClasses : définit les types d'attributs autorisés dans chaque objet
    ●   Attributs : définit les valeurs autorisées dans un attribut



●   Mais ce n'est pas toujours suffisant !
●   Aller plus loin :
    ●   Imposer l'unicité de valeurs à travers l'annuaire (UID, mail...)
    ●   Mettre à jour les références (retirer un utilisateur supprimé de ses groupes...)
    ●   Affiner les valeurs autorisées par attribut (liste de choix...)




                                                                           Normation – CC-BY-SA
                                                                           normation.com          18
Intégrité des données

●   “unique” overlay
    ●   Principe : interdire de créer des valeurs identiques à d'autres déjà existantes
    ●   Rappel : LDAP URIs
         –   ldap:///[base dn]?[attributes...]?scope[?filter]
         –   Base DN defaults to current database baseDN
    ●   Configuration :
         –   Définir une recherche par URI qui renvoie les attributs censés être uniques
    ●   Exemples :
         overlay unique
         unique_uri ldap:///?uid?sub?

         dn: olcOverlay={0}unique,olcDatabase={1}bdb,cn=config
         objectClass: olcOverlayConfig
         objectClass: olcUniqueConfig
         olcUniqueURI: ldap:///ou=people,o=training?mail?sub?



                                                                               Normation – CC-BY-SA
                                                                               normation.com          19
Intégrité des données

●   “refint” overlay
    ●   Principe : liens entre objets (attributs de type DN) mis à jour en cas de
        changement de l'objet pointé
    ●   Configuration :
         –   Définir les attributs dans lesquels on cherche lors des renommage ou suppression
    ●   Exemples :

         overlay refint
         refint_attribute manager
         refint_attribute secretary

         dn: olcOverlay=refint,olcDatabase={1}bdb,cn=config
         objectClass: olcOverlayConfig
         objectClass: olcRefintConfig
         OlcRefintAttribute: manager
         OlcRefintAttribute: secretary




                                                                             Normation – CC-BY-SA
                                                                             normation.com          20
Intégrité des données

●   “memberof” overlay
    ●   Principe : lien dans les fiches personne vers les groupes dont ils sont membres
    ●   Configuration :
         –   Minimum : activation + inclusion schéma
         –   Optionnel : changement des types de groupes, nom de l'attribut memberOf, etc...
    ●   Exemples :
         overlay memberof


         dn: olcOverlay=memberof,olcDatabase={1}bdb,cn=config
         objectClass: olcOverlayConfig
         objectClass: olcMemberofConfig




                                                                             Normation – CC-BY-SA
                                                                             normation.com          21
Intégrité des données

●   “constraint” overlay
    ●   Principe :
         –   Impose des règles plus strictes que le schéma sur les valeurs d'attributs
    ●   Possibilités :
         –   Par expression régulière (mail ~= ^[[:alnum:]]+@mydomain.com$)
         –   Limites de longeur (photo de 100 ko max)
         –   Limite de nombre de valeurs (userPassword multi-valué mais limité à 1 password)
         –   Par recherche de valeurs dans l'annuaire (service = un des services définis)
         –   Par règles de correspondance (cn = givenName + " " + sn)
               ●   Syntaxe « set » des ACL




                                                                               Normation – CC-BY-SA
                                                                               normation.com          22
Intégrité des données

●   “constraint” overlay
    ●   Configuration :
         –   Activation + définition des règles
    ●   Exemples :


dn: olcOverlay=constraint,olcDatabase={1}bdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcConstraintConfig
OolcConstraintAttribute: jpegPhoto size 131072
olcConstraintAttribute: userPassword count 1



overlay constraint
constraint_attribute mail regex ^[[:alnum:]]+@mydomain.com$
constraint_attribute service uri
    ldap:///ou=services,dc=example,dc=com?cn?sub?(objectClass=service)
   restrict="ldap:///ou=People,dc=example,dc=com??sub?(objectClass=person)"


                                                          Normation – CC-BY-SA
                                                          normation.com          23
Intégrité des données

●   Attention !
●   Limitation de cette approche :
    ●   Les overlays n'interceptent que les nouvelles opérations...
    ●   Ils ne corrigeront pas les donneés déjà présentes dans l'annuaire !




                                                                       Normation – CC-BY-SA
                                                                       normation.com          24
Sommaire

 1. De quoi parle-t-on ?
 2. OpenLDAP : présentation et principes
 3. Intégrité des données
 4. Architecture réseau et réplication
 5. Monitoring




Jonathan CLARKE - jcl@normation.com   Normation – CC-BY-SA
                                      normation.com          25
Réplication

●   C'est quoi la réplication ?
    ●   Reproduire à l'identique tout ou partie du contenu d'un annuaire, de manière
        périodique ou en continu


    ●   Aucune modification ni transformation des données ne peut être apportée lors
        d'une réplication
         –   Il s'agit là de synchronisation
         –   Pour les annuaires LDAP, voir le projet Ldap Synchronization Connector (LSC)




                                                                            Normation – CC-BY-SA
                                                                            normation.com          26
Réplication

●   Le mécanisme historique : slurpd
    ●   Présent jusqu'en OpenLDAP 2.3, déprécié en 2.4
    ●   Le serveur OpenLDAP était configuré pour écrire toutes les modifications dans
        un journal
    ●   Le démon slurpd tournait en parallèle et prenait chaque modification et
        l'appliquait à chaque esclave, grace à un compte administrateur
    ●   Plusieurs inconvénients :
         –   Mécanisme fragile : désynchronisations régulières et difficiles à détecter
         –   Fort couplage de configuration maîtres-esclaves




                                                                                Normation – CC-BY-SA
                                                                                normation.com          27
Réplication

●   Le mécanisme syncrepl
    ●   Officiellement "LDAP Sync Replication"
    ●   Syncrepl est normalisé par l'IETF : RFC 4533
    ●   Plusieurs implémentations :
         –   Serveurs LDAP : OpenLDAP et ApacheDS
         –   Clients : outils de synchronisation, API Java UnboundID


    ●   Fonctionnement nominal par entrée complète :
         –   Si un attribut a changé, l'entrée complète est répliquée
    ●   delta-syncrepl : réplication par attribut
         –   Nécessite une base externe pour stocker les modifications
         –   Spécifique OpenLDAP
         –   Non-compatible avec les modes multi-maître




                                                                         Normation – CC-BY-SA
                                                                         normation.com          28
Réplication

●   Réplication simple maître-esclave
●   Réplication maître-maître
    ●   Depuis OpenLDAP 2.4 avec syncrepl
    ●   Aucun avantage de répartition de charge !
    ●   Utile pour la haute disponibilité
    ●   Aucune garantie de réplication !


●   Synchronicité des changements
         –   Avec syncrepl, les entrées sont répliquées entièrement
         –   Avec syncrepl, l'entrée la plus récemment modifiée "gagne"
         –   Si deux changements sur une même entrée sont réalisées en "peu de temps" (avant
             que la réplication ait pu se faire), un changement sera perdu !
               ●   Acceptable ou non selon le fonctionnement de votre application...



                                                                                       Normation – CC-BY-SA
                                                                                       normation.com          29
Réplication serveur-client




                             Normation – CC-BY-SA
                             normation.com          30
Sommaire

 1. De quoi parle-t-on ?
 2. OpenLDAP : présentation et principes
 3. Intégrité des données
 4. Architecture réseau et réplication
 5. Monitoring




Jonathan CLARKE - jcl@normation.com   Normation – CC-BY-SA
                                      normation.com          31
Monitoring

●   Supervision à plusieurs niveaux :
    ●   Supervision spécifique LDAP
    ●   Supervision système standard (non spécifique LDAP)
         –   Indicateurs classiques du serveur :
               ●   ping
               ●   espace disque
               ●   charge
               ●   mémoire disponible
               ●   etc...


         –   Indicateurs système pertinents pour OpenLDAP :
               ●   Disponiblité du service LDAP (vérification simple sur port TCP 389)
               ●   Tracer l'évolution de la taille sur disque du répertoire de données
               ●   Tracer l'évolution du nombre de connexions TCP ouvertes




                                                                                         Normation – CC-BY-SA
                                                                                         normation.com          32
Monitoring

●   Supervision spécifique LDAP
    ●   Disponibilité du service LDAP par vérification LDAP
         –   Recherche simple pour valider que le serveur répond
         –   Recherche avec authentification pour valider le service d'authentification
         –   Modification d'un attribut de test sur une entrée de test pour valider le service
             d'écriture
         –   Compte du nombre d'entrées modifiées dans la dernière heure/journée pour valider
             les services très sollicités

         –   Plugins Nagios disponibles sur LTB Project :
               ●   http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_dn
               ●   http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_query




                                      http://ltb-project.org

                                                                                        Normation – CC-BY-SA
                                                                                        normation.com          33
Monitoring

●   Supervision spécifique LDAP
    ●   Temps de réponse du service LDAP par vérification LDAP
         –   Calcul du temps de réponse moyen d'une recherche simple


         –   Plugin Nagios disponible sur LTB Project :
               ●   http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_time
         –   Plugin Cacti disponible sur LTB Project :
               ●   http://ltb-project.org/wiki/documentation/cacti-plugins/ldap_response_time




                                                                                         Normation – CC-BY-SA
                                                                                         normation.com          34
Monitoring

●   Supervision spécifique LDAP
    ●   État de la réplication LDAP entre plusieurs serveurs
         –   Validation que les serveurs esclaves ont le même niveau de synchronisation que le
             maître
               ●   Adaptable au multi-maître avec des vérifications croisées


         –   Plugin Nagios disponible sur LTB Project :
                     –   http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_syncrepl_status




                                                                                        Normation – CC-BY-SA
                                                                                        normation.com          35
Monitoring

●   Supervision spécifique LDAP
    ●   Statistiques d'utilisation obtenues dans cn=monitor
         –   cn=monitor est un backend spécial qui rend accessible des statistiques sur l'utilisation
             et la configuration d'OpenLDAP par une interface LDAP
               ●   Opérations effectuées (tracer dans le temps)
                     –   Recherches, Ajouts, Modifications, Suppressions...
                     –   Plugin Cacti disponible sur LTB Project :
                            ● http://ltb-project.org/wiki/documentation/cacti-plugins/openldap_operations

               ●   Taille des caches BerkeleyDB (backend bdb, hdb)




                                                                                         Normation – CC-BY-SA
                                                                                         normation.com          36
Monitoring

●   Résumé supervision :
    ●   La disponibilité du service est un minimum
         –   Disponibilité au sens LDAP (pas que TCP) car OpenLDAP a souvent souffert
             de bugs où le port TCP est ouvert mais non fonctionnel...
    ●   Les statistiques d'utilisations (graphiques d'évolution au cours du
        temps) sont très utiles pour analyser et prévoir les problèmes
         –   Lorsqu'un incident survient,
             pouvoir voir l'évolution
             récente de l'usage
         –   Prévoir les dépassements
             de capacité




                                                                   Normation – CC-BY-SA
                                                                   normation.com          37
Récapitulons



●   Nombreuses fonctionnalités via des overlays
     –   Souvent simples à configurer

●   Des outils hors du projet OpenLDAP


                     http://ltb-project.org



●   Architecture réseau et supervision à adapter...
    comme pour tout service critique


                                                Normation – CC-BY-SA
                                                normation.com          38
Questions ?




              Normation – CC-BY-SA
              normation.com

Contenu connexe

Tendances

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .netHamza SAID
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3Amal Abid
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6Amal Abid
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003Souhaib El
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingVictor Coustenoble
 
[Identity Days 2021] Quel avenir pour OpenLDAP ?
[Identity Days 2021] Quel avenir pour OpenLDAP ?[Identity Days 2021] Quel avenir pour OpenLDAP ?
[Identity Days 2021] Quel avenir pour OpenLDAP ?Worteks
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Install Windows2003 Serveur
Install Windows2003 ServeurInstall Windows2003 Serveur
Install Windows2003 Serveurcgweb
 
Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...
Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...
Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...Odel Odeldz
 
Concepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupérationConcepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupérationSoukaina Boujadi
 

Tendances (20)

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Oracle Cluster Rac
Oracle Cluster RacOracle Cluster Rac
Oracle Cluster Rac
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark Streaming
 
Test
TestTest
Test
 
[Identity Days 2021] Quel avenir pour OpenLDAP ?
[Identity Days 2021] Quel avenir pour OpenLDAP ?[Identity Days 2021] Quel avenir pour OpenLDAP ?
[Identity Days 2021] Quel avenir pour OpenLDAP ?
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Install Windows2003 Serveur
Install Windows2003 ServeurInstall Windows2003 Serveur
Install Windows2003 Serveur
 
Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...
Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...
Déploiement d’une nouvelle infrastructure réseau sous windows 2008 serveur au...
 
spark_intro_1208
spark_intro_1208spark_intro_1208
spark_intro_1208
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Pgbadger
PgbadgerPgbadger
Pgbadger
 
Concepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupérationConcepts de sauvegarde et de récupération
Concepts de sauvegarde et de récupération
 

Similaire à OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal

Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésRomain Hardouin
 
WebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAPWebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAPLINAGORA
 
Gestion des identités avec interLDAP
Gestion des identités avec interLDAPGestion des identités avec interLDAP
Gestion des identités avec interLDAPLINAGORA
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !Clément OUDOT
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Tutojres 13-jeromefenal
Tutojres 13-jeromefenalTutojres 13-jeromefenal
Tutojres 13-jeromefenalinf_med13
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introductionfredcons
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011OSInet
 
Alimentation et synchronisation d'annuaires LDAP
Alimentation et synchronisation d'annuaires LDAPAlimentation et synchronisation d'annuaires LDAP
Alimentation et synchronisation d'annuaires LDAPLINAGORA
 
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !LINAGORA
 
Consul, un vrai couteau suisse
Consul, un vrai couteau suisseConsul, un vrai couteau suisse
Consul, un vrai couteau suisseXavierPestel
 
Présentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDMichel-Marie Maudet
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005Eric D.
 
Normation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexesNormation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexesRUDDER
 

Similaire à OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal (20)

Apache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalités
 
WebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAPWebSSO, synchronisation et contrôle des accès via LDAP
WebSSO, synchronisation et contrôle des accès via LDAP
 
Gestion des identités avec interLDAP
Gestion des identités avec interLDAPGestion des identités avec interLDAP
Gestion des identités avec interLDAP
 
[RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités ![RMLL2017] Des logiciels libres pour la gestion des identités !
[RMLL2017] Des logiciels libres pour la gestion des identités !
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Ldap.16
Ldap.16Ldap.16
Ldap.16
 
Tutojres 13-jeromefenal
Tutojres 13-jeromefenalTutojres 13-jeromefenal
Tutojres 13-jeromefenal
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011
 
Alimentation et synchronisation d'annuaires LDAP
Alimentation et synchronisation d'annuaires LDAPAlimentation et synchronisation d'annuaires LDAP
Alimentation et synchronisation d'annuaires LDAP
 
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
Migration SUN/Oracle vers OpenLDAP : évitez les pièges !
 
Consul, un vrai couteau suisse
Consul, un vrai couteau suisseConsul, un vrai couteau suisse
Consul, un vrai couteau suisse
 
Base de données
Base de donnéesBase de données
Base de données
 
Présentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinID
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
Normation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexesNormation solutions linux automatisation si complexes
Normation solutions linux automatisation si complexes
 

Plus de Jonathan Clarke

Interfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert usersInterfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert usersJonathan Clarke
 
Sharing automation - why we need a language like ncf for this (Ignite @ devop...
Sharing automation - why we need a language like ncf for this (Ignite @ devop...Sharing automation - why we need a language like ncf for this (Ignite @ devop...
Sharing automation - why we need a language like ncf for this (Ignite @ devop...Jonathan Clarke
 
What is new in CFEngine 3.6
What is new in CFEngine 3.6What is new in CFEngine 3.6
What is new in CFEngine 3.6Jonathan Clarke
 
Automating security policies (compliance) with Rudder
Automating security policies (compliance) with RudderAutomating security policies (compliance) with Rudder
Automating security policies (compliance) with RudderJonathan Clarke
 
Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Jonathan Clarke
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)Jonathan Clarke
 
LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010Jonathan Clarke
 
LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009Jonathan Clarke
 
LDAP Synchronization Connector (LSC)
LDAP Synchronization Connector (LSC)LDAP Synchronization Connector (LSC)
LDAP Synchronization Connector (LSC)Jonathan Clarke
 

Plus de Jonathan Clarke (10)

Rudder 3.0 and beyond
Rudder 3.0 and beyondRudder 3.0 and beyond
Rudder 3.0 and beyond
 
Interfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert usersInterfacing infrastructure-as-code with non-expert users
Interfacing infrastructure-as-code with non-expert users
 
Sharing automation - why we need a language like ncf for this (Ignite @ devop...
Sharing automation - why we need a language like ncf for this (Ignite @ devop...Sharing automation - why we need a language like ncf for this (Ignite @ devop...
Sharing automation - why we need a language like ncf for this (Ignite @ devop...
 
What is new in CFEngine 3.6
What is new in CFEngine 3.6What is new in CFEngine 3.6
What is new in CFEngine 3.6
 
Automating security policies (compliance) with Rudder
Automating security policies (compliance) with RudderAutomating security policies (compliance) with Rudder
Automating security policies (compliance) with Rudder
 
Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...Configuration management: automating and rationalizing server setup with CFEn...
Configuration management: automating and rationalizing server setup with CFEn...
 
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)A tale of Disaster Recovery (Cfengine everyday, practices and tools)
A tale of Disaster Recovery (Cfengine everyday, practices and tools)
 
LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010
 
LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009
 
LDAP Synchronization Connector (LSC)
LDAP Synchronization Connector (LSC)LDAP Synchronization Connector (LSC)
LDAP Synchronization Connector (LSC)
 

OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal

  • 1. THÈME TECHNIQUE - ADMINISTRATION SYSTÈME OpenLDAP Astuces pour en faire l'annuaire d'entreprise idéal Jonathan CLARKE - jcl@normation.com Normation – CC-BY-SA normation.com
  • 2. Qui suis-je ? ● Jonathan Clarke ● Job : Co-fondateur et directeur technique de Normation ● Métier : – D'abord administration système, gestion d'infrastructures… – Projets LDAP et gestion d'identités – Maintenant un peu de tout !! ● Logiciel libre : Contributeur OpenLDAP, CFEngine, LSC, LTB... Contacts Mail : jcl@normation.com Twitter : @jooooooon42 (ca fait 7 'o', mais c'est pas ma faute...) Normation – CC-BY-SA normation.com 2
  • 3. De quoi parle-t-on ? Gestion des identités électroniques en entreprise Normation – CC-BY-SA normation.com 3
  • 4. De quoi parle-t-on ? Annuaire LDAP central ● LDAP = Lightweight Directory Access Protocol ● Standard pour communiquer avec et stocker des données dans des annuaires ● Annuaires ? Sorte de base de données objet, hierarchique... ● Bref, « LDAP, c'est compliqué... » Normation – CC-BY-SA normation.com 4
  • 5. De quoi parle-t-on ? Source : Wikipedia Normation – CC-BY-SA normation.com 5
  • 6. De quoi parle-t-on ? Problématique Authentification Gestion des droits Création de comptes d'applications (administrateurs) (RH) ● Source unique de « vérité » ● Origines des mises à jours LDAP multiples et variées ● Point central → critique Normation – CC-BY-SA normation.com 6
  • 7. De quoi parle-t-on ? Objectifs ● Montrer quelques fonctionnalités pas forcément connues ● Donner des exemples concrets de configuration, pour slapd.conf et cn=config ● Retours d'expériences et idées sur la gestion d'un service LDAP en production Normation – CC-BY-SA normation.com 7
  • 8. Sommaire 1. De quoi parle-t-on ? 2. OpenLDAP: présentation et principes 3. Intégrité des données 4. Architecture réseau et réplication 5. Monitoring Jonathan CLARKE - jcl@normation.com Normation – CC-BY-SA normation.com 8
  • 9. OpenLDAP ● Implémentation LDAP de référence ● Open source (licence propre, de type BSD) ● Multi-plateforme ● Écrit en C ● Version majeure actuelle : 2.4 ● Contributeurs : ● Créé en 1998 par Kurt Zeilenga ● Core team actuelle : – Howard Chu, Pierangelo Maserati et Kurt Zeilenga ● Engineering team actuelle : – 14 membres officiels ● De nombreux contributeurs occasionnels Normation – CC-BY-SA normation.com 9
  • 10. OpenLDAP ● Un annuaire LDAP parmi d'autres... Normation – CC-BY-SA normation.com 10
  • 11. OpenLDAP ● Contient 3 composants : ● Un serveur LDAP : slapd – Outils d'administration côté serveur : slap* ● Des clients LDAP : ldap* – Lecture : ldapsearch, ldapcompare – Écriture : ldapadd, ldapmodify, ldapmodrdn, ldapdelete – Divers : ldappasswd, ldapwhoami, ldapexop – Utilitaire : ldapurl ● Une librairie LDAP : libldap – Librairie standard en C Normation – CC-BY-SA normation.com 11
  • 12. OpenLDAP : architecture du serveur Requête entrante Frontend Overlay 1 Overlay 2 ... Overlay n Backend Backend Backend Backend Backend Backend bdb/hdb ldif ldap/meta shell/perl SQL monitor Normation – CC-BY-SA normation.com 12
  • 13. OpenLDAP : configuration ● Deux formats de configuration : ● slapd.conf – Fichier de configuration « traditionnel » ● cn=config – Base de configuration accessible via LDAP ● Comparaison : ● Édition : – slapd.conf: éditeur texte (vim, emacs, etc) – cn=config: client LDAP (ldapsearch/ldapmodify, Apache Directory Studio...) ● Prise en compte des changements : – slapd.conf: redémarrage du serveur obligatoire – cn=config: prise en compte à chaud de tous les changements ● Replication : – slapd.conf: partage de la configuration manuelle seulement – cn=config: synchronisation possible entre serveurs via syncrepl (clusters, haute-dispo) ● Compatibilité : – slapd.conf: pourrait être déprécié à l'avenir – cn=config: considéré comme standard depuis OpenLDAP 2.4 Normation – CC-BY-SA normation.com 13
  • 14. OpenLDAP : configuration ● slapd.conf – Structure et format # comment - these options apply to every database <global configuration options> # first database definition & configuration options database <database 1 backend type> <configuration options specific to database 1> # subsequent database definitions & configuration options database <database 2 backend type> # add an overlay to database 2 overlay <overlay type> <configuration options specific to overlay on database 2> Normation – CC-BY-SA normation.com 14
  • 15. OpenLDAP : configuration ● slapd.conf mappé vers cn=config cn=config # options apply to every database <global configuration options> # first database database <database 1 type> olcDatabase={-1}frontend <configuration for database 1> olcDatabase={0}config # subsequent databases database <database 2 type> olcDatabase={1}bdb # add an overlay to database 2 overlay <overlay type> <configuration for overlay> olcDatabase={2}hdb olcOverlay={0]type Normation – CC-BY-SA normation.com 15
  • 16. Sommaire 1. De quoi parle-t-on ? 2. OpenLDAP : présentation et principes 3. Intégrité des données 4. Architecture réseau et réplication 5. Monitoring Jonathan CLARKE - jcl@normation.com Normation – CC-BY-SA normation.com 16
  • 17. Intégrité des données Ce qu'on veut éviter Normation – CC-BY-SA normation.com 17
  • 18. Intégrité des données ● LDAP impose nécessaire un contrôlé des données grace à son schéma : ● ObjectClasses : définit les types d'attributs autorisés dans chaque objet ● Attributs : définit les valeurs autorisées dans un attribut ● Mais ce n'est pas toujours suffisant ! ● Aller plus loin : ● Imposer l'unicité de valeurs à travers l'annuaire (UID, mail...) ● Mettre à jour les références (retirer un utilisateur supprimé de ses groupes...) ● Affiner les valeurs autorisées par attribut (liste de choix...) Normation – CC-BY-SA normation.com 18
  • 19. Intégrité des données ● “unique” overlay ● Principe : interdire de créer des valeurs identiques à d'autres déjà existantes ● Rappel : LDAP URIs – ldap:///[base dn]?[attributes...]?scope[?filter] – Base DN defaults to current database baseDN ● Configuration : – Définir une recherche par URI qui renvoie les attributs censés être uniques ● Exemples : overlay unique unique_uri ldap:///?uid?sub? dn: olcOverlay={0}unique,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig objectClass: olcUniqueConfig olcUniqueURI: ldap:///ou=people,o=training?mail?sub? Normation – CC-BY-SA normation.com 19
  • 20. Intégrité des données ● “refint” overlay ● Principe : liens entre objets (attributs de type DN) mis à jour en cas de changement de l'objet pointé ● Configuration : – Définir les attributs dans lesquels on cherche lors des renommage ou suppression ● Exemples : overlay refint refint_attribute manager refint_attribute secretary dn: olcOverlay=refint,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig objectClass: olcRefintConfig OlcRefintAttribute: manager OlcRefintAttribute: secretary Normation – CC-BY-SA normation.com 20
  • 21. Intégrité des données ● “memberof” overlay ● Principe : lien dans les fiches personne vers les groupes dont ils sont membres ● Configuration : – Minimum : activation + inclusion schéma – Optionnel : changement des types de groupes, nom de l'attribut memberOf, etc... ● Exemples : overlay memberof dn: olcOverlay=memberof,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig objectClass: olcMemberofConfig Normation – CC-BY-SA normation.com 21
  • 22. Intégrité des données ● “constraint” overlay ● Principe : – Impose des règles plus strictes que le schéma sur les valeurs d'attributs ● Possibilités : – Par expression régulière (mail ~= ^[[:alnum:]]+@mydomain.com$) – Limites de longeur (photo de 100 ko max) – Limite de nombre de valeurs (userPassword multi-valué mais limité à 1 password) – Par recherche de valeurs dans l'annuaire (service = un des services définis) – Par règles de correspondance (cn = givenName + " " + sn) ● Syntaxe « set » des ACL Normation – CC-BY-SA normation.com 22
  • 23. Intégrité des données ● “constraint” overlay ● Configuration : – Activation + définition des règles ● Exemples : dn: olcOverlay=constraint,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig objectClass: olcConstraintConfig OolcConstraintAttribute: jpegPhoto size 131072 olcConstraintAttribute: userPassword count 1 overlay constraint constraint_attribute mail regex ^[[:alnum:]]+@mydomain.com$ constraint_attribute service uri ldap:///ou=services,dc=example,dc=com?cn?sub?(objectClass=service) restrict="ldap:///ou=People,dc=example,dc=com??sub?(objectClass=person)" Normation – CC-BY-SA normation.com 23
  • 24. Intégrité des données ● Attention ! ● Limitation de cette approche : ● Les overlays n'interceptent que les nouvelles opérations... ● Ils ne corrigeront pas les donneés déjà présentes dans l'annuaire ! Normation – CC-BY-SA normation.com 24
  • 25. Sommaire 1. De quoi parle-t-on ? 2. OpenLDAP : présentation et principes 3. Intégrité des données 4. Architecture réseau et réplication 5. Monitoring Jonathan CLARKE - jcl@normation.com Normation – CC-BY-SA normation.com 25
  • 26. Réplication ● C'est quoi la réplication ? ● Reproduire à l'identique tout ou partie du contenu d'un annuaire, de manière périodique ou en continu ● Aucune modification ni transformation des données ne peut être apportée lors d'une réplication – Il s'agit là de synchronisation – Pour les annuaires LDAP, voir le projet Ldap Synchronization Connector (LSC) Normation – CC-BY-SA normation.com 26
  • 27. Réplication ● Le mécanisme historique : slurpd ● Présent jusqu'en OpenLDAP 2.3, déprécié en 2.4 ● Le serveur OpenLDAP était configuré pour écrire toutes les modifications dans un journal ● Le démon slurpd tournait en parallèle et prenait chaque modification et l'appliquait à chaque esclave, grace à un compte administrateur ● Plusieurs inconvénients : – Mécanisme fragile : désynchronisations régulières et difficiles à détecter – Fort couplage de configuration maîtres-esclaves Normation – CC-BY-SA normation.com 27
  • 28. Réplication ● Le mécanisme syncrepl ● Officiellement "LDAP Sync Replication" ● Syncrepl est normalisé par l'IETF : RFC 4533 ● Plusieurs implémentations : – Serveurs LDAP : OpenLDAP et ApacheDS – Clients : outils de synchronisation, API Java UnboundID ● Fonctionnement nominal par entrée complète : – Si un attribut a changé, l'entrée complète est répliquée ● delta-syncrepl : réplication par attribut – Nécessite une base externe pour stocker les modifications – Spécifique OpenLDAP – Non-compatible avec les modes multi-maître Normation – CC-BY-SA normation.com 28
  • 29. Réplication ● Réplication simple maître-esclave ● Réplication maître-maître ● Depuis OpenLDAP 2.4 avec syncrepl ● Aucun avantage de répartition de charge ! ● Utile pour la haute disponibilité ● Aucune garantie de réplication ! ● Synchronicité des changements – Avec syncrepl, les entrées sont répliquées entièrement – Avec syncrepl, l'entrée la plus récemment modifiée "gagne" – Si deux changements sur une même entrée sont réalisées en "peu de temps" (avant que la réplication ait pu se faire), un changement sera perdu ! ● Acceptable ou non selon le fonctionnement de votre application... Normation – CC-BY-SA normation.com 29
  • 30. Réplication serveur-client Normation – CC-BY-SA normation.com 30
  • 31. Sommaire 1. De quoi parle-t-on ? 2. OpenLDAP : présentation et principes 3. Intégrité des données 4. Architecture réseau et réplication 5. Monitoring Jonathan CLARKE - jcl@normation.com Normation – CC-BY-SA normation.com 31
  • 32. Monitoring ● Supervision à plusieurs niveaux : ● Supervision spécifique LDAP ● Supervision système standard (non spécifique LDAP) – Indicateurs classiques du serveur : ● ping ● espace disque ● charge ● mémoire disponible ● etc... – Indicateurs système pertinents pour OpenLDAP : ● Disponiblité du service LDAP (vérification simple sur port TCP 389) ● Tracer l'évolution de la taille sur disque du répertoire de données ● Tracer l'évolution du nombre de connexions TCP ouvertes Normation – CC-BY-SA normation.com 32
  • 33. Monitoring ● Supervision spécifique LDAP ● Disponibilité du service LDAP par vérification LDAP – Recherche simple pour valider que le serveur répond – Recherche avec authentification pour valider le service d'authentification – Modification d'un attribut de test sur une entrée de test pour valider le service d'écriture – Compte du nombre d'entrées modifiées dans la dernière heure/journée pour valider les services très sollicités – Plugins Nagios disponibles sur LTB Project : ● http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_dn ● http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_query http://ltb-project.org Normation – CC-BY-SA normation.com 33
  • 34. Monitoring ● Supervision spécifique LDAP ● Temps de réponse du service LDAP par vérification LDAP – Calcul du temps de réponse moyen d'une recherche simple – Plugin Nagios disponible sur LTB Project : ● http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_time – Plugin Cacti disponible sur LTB Project : ● http://ltb-project.org/wiki/documentation/cacti-plugins/ldap_response_time Normation – CC-BY-SA normation.com 34
  • 35. Monitoring ● Supervision spécifique LDAP ● État de la réplication LDAP entre plusieurs serveurs – Validation que les serveurs esclaves ont le même niveau de synchronisation que le maître ● Adaptable au multi-maître avec des vérifications croisées – Plugin Nagios disponible sur LTB Project : – http://ltb-project.org/wiki/documentation/nagios-plugins/check_ldap_syncrepl_status Normation – CC-BY-SA normation.com 35
  • 36. Monitoring ● Supervision spécifique LDAP ● Statistiques d'utilisation obtenues dans cn=monitor – cn=monitor est un backend spécial qui rend accessible des statistiques sur l'utilisation et la configuration d'OpenLDAP par une interface LDAP ● Opérations effectuées (tracer dans le temps) – Recherches, Ajouts, Modifications, Suppressions... – Plugin Cacti disponible sur LTB Project : ● http://ltb-project.org/wiki/documentation/cacti-plugins/openldap_operations ● Taille des caches BerkeleyDB (backend bdb, hdb) Normation – CC-BY-SA normation.com 36
  • 37. Monitoring ● Résumé supervision : ● La disponibilité du service est un minimum – Disponibilité au sens LDAP (pas que TCP) car OpenLDAP a souvent souffert de bugs où le port TCP est ouvert mais non fonctionnel... ● Les statistiques d'utilisations (graphiques d'évolution au cours du temps) sont très utiles pour analyser et prévoir les problèmes – Lorsqu'un incident survient, pouvoir voir l'évolution récente de l'usage – Prévoir les dépassements de capacité Normation – CC-BY-SA normation.com 37
  • 38. Récapitulons ● Nombreuses fonctionnalités via des overlays – Souvent simples à configurer ● Des outils hors du projet OpenLDAP http://ltb-project.org ● Architecture réseau et supervision à adapter... comme pour tout service critique Normation – CC-BY-SA normation.com 38
  • 39. Questions ? Normation – CC-BY-SA normation.com