Administration et scurit
Le logiciel
OpenLDAP
Auteurs :
BY-NC-SA
Licence
Paternit - Pas d'Utilisation Commerciale - Partage des Conditions Initiales l'Identique 2.0 France
Selon les conditions suivantes : Paternit. Vous devez citer le nom de l'auteur original. Pas d'Utilisation Commerciale. Vous n'avez pas le droit d'utiliser cette cration des fins commerciales. Partage des Conditions Initiales l'Identique. Si vous modifiez, transformez ou adaptez cette cration, vous n'avez le droit de distribuer la cration qui en rsulte que sous un contrat identique celui-ci. chaque rutilisation ou distribution, vous devez faire apparatre clairement aux autres les conditions contractuelles de mise disposition de cette cration. Chacune de ces conditions peut tre leve si vous obtenez l'autorisation du titulaire des droits. Ce qui prcde n'affecte en rien vos droits en tant qu'utilisateur (exceptions au droit d'auteur : copies rserves l'usage priv du copiste, courtes citations, parodie...)
BY-NC-SA
2
Volont de contribuer activement l'essor du logiciel libre Promouvoir l'change et favoriser l'mulation communautaire Assurer la prennit de l'industrie logiciel libre et ne comptabiliser que la Valeur Ajoute (le formateur) Partager le savoir et la connaissance une vaste chelle
BY-NC-SA
Prsentation du formateur
Parcours du formateur
BY-NC-SA
Crateur des concepts SS2L (Socit de Services en Logiciels Libres) et TM2L (Tierce Maintenance Logiciel Libre), LINAGORA se dfinit dsormais comme un diteur Orient Service (EOS). LINAGORA propose une Open Source Software Assurance (OSSA) sur 150 logiciels libres :
Prts l'industrialisation, sur une plate-forme unique : le 08000LINUX.com. Avec garantie de service contractuelle : en cas de bug, LINAGORA sengage au rsultat sur des dlais de rsolution. Gestion de la feuille de route du logiciel pour le compte du client et sengage au reversement des dveloppements.
LINAGORA apporte galement son expertise sur toute une gamme de services professionnels et de formations au travers de LINAGORA Formation.
BY-NC-SA
LINAGORA Formation
7 annes d'exprience, au service des technologies libres et Open Source 40 modules de formation rpartis au travers de 7 filires Un cadre agrable, au cur de Paris Deux salles de formation climatises pouvant accueillir jusqu' 10 stagiaires. 2006 : Plus de 150 stages effectus 2006 : Plus de 900 stagiaires Une satisfaction moyenne client de 18/20 Une note moyenne formateur de 16,27/20
BY-NC-SA
Filires de formations
Dveloppement Web
Linux embarqu
Administration et scurit
J2EE OpenSource
Les basiques
Bases de donnes
Bureautique OpenOffice.org
BY-NC-SA
7
13h00 : reprise des cours 15h00 : pause de l'aprs-midi 15h15 : reprise des cours 17h30 : fin de journe 17h30 : libre discussion avec le formateur
Jour 2 :
BY-NC-SA
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
Historique
Issu du serveur LDAP de l'universit du Michigan, dont drive galement Netscape Directory Server (devenu SUN Directory Server et Fedora Directory Server) Projet initi en 1998 (OpenLDAP v1), avec support LDAPv2 Conforme LDAPv3 en 2000 (OpenLDAP v2) Version stable actuelle : OpenLDAP 2.3 Version 2.4 en valuation, stable courant 2007 3 dveloppeurs principaux :
BY-NC-SA
10
Annuaires systmes :
Annuaires gnralistes :
Annuaires de scurit :
BY-NC-SA
11
Fonctionnalits
Serveur indpendant (slapd) et serveur de rplication (slurpd) Bibliothques de connexion (libldap, liblber) Commandes LDAP (ldapsearch, ldapadd, ldapmodify, ldapdelete, ) Commandes de gestion du contenu (slapadd, slapcat, slapindex, ) API (C, C++, TCL, Java)
Supporte :
LDAPv2 et LDAPv3 Rplication complte et diffrentielle Dlgation dauthentification SASL / GSSAPI Internationalisation UTF-8 via Unicode
BY-NC-SA
12
Particularits
Choix de backends :
BerkeleyDB (stockage) LDAP et meta (mandataire) Monitor (supervision) SQL, Perl, Shell (langages de programmation)
Choix d'overlays :
Politique des mots de passe Groupes dynamiques Intgrit rfrentielle Rcriture des requtes la vole
BY-NC-SA
13
Fonctionnement interne
BDB search compare add delete modify modrdn bind unbind abandon extended Intercepteur Librairie BER
BY-NC-SA
Analyse du filtre
DNSRV Contrle du schma HDB LDAP LDBM META PASSWD MONITOR PERL RELAY NULL SHELL SQL
14
Overlays
back-ldbm :
Historiquement le premier backend de stockage Bas sur une API DBM supportant gdbm (base de donne GNU), ldbm (BerkeleyDB) et mdbm Support de toutes les fonctionnalits historiques : alias, referrals Dveloppement et maintenance stopps Supprim des prochaines versions Backend existant depuis la version 4 des BerkeleyDB Backend transactionnel : une modification ne ncessite que le verrouillage dune page de la base de donnes Support des fonctionnalits rcentes : referrals, VLV, groupes dynamiques Backend stockant des historiques permettant de reconstruire la base en cas de crash. Utilisation de slapcat, slapindex et slapadd chaud
back-bdb :
BY-NC-SA
15
back-hdb :
Backend driv de back-bdb optimisation du temps dcriture diminution de la redondance dinformations rorganisation de linformation pour une optimisation de la consultation hirarchique Backend permettant la mise en place dun mandataire (proxy) Support de lquivalence entre les attributs Support de la rcriture entre des contextes de nommage diffrents Ne contient pas de donnes Est interrog pour extraire des informations gnrales sur lutilisation du serveur
back-ldap :
back-monitor :
BY-NC-SA
16
back-meta :
quivalent dun back-ldap multiple : gre lagrgation de plusieurs arbres en un unique Ne gre pas lagrgation dentres Permet de constituer un mta annuaire dit de virtualisation simple (ne permet pas dagrger des sources autres que des serveurs LDAP) Backends permettant dintercepter par des scripts shell / perl / tcl les diffrents appels aux mthodes LDAP Extrmement peu performants Utiliss uniquement pour de la consolidation dinformations (interception des appels de changement de mots de passe, ) Offre une interface LDAP aux bases de donnes Ncessite de configurer l'association des tables et colonnes aux entres et aux attributs
17
back-sql :
BY-NC-SA
Processus slapd
BY-NC-SA
18
id2entries.dbb : stockage des donnes de chaque entre (fichier utilis par la commande slapcat) :
0x41367 : uid : joe objectClass : top, person, inetOrgPerson, sn : Joe givenName : Jack < />
BY-NC-SA
19
XYZT.dbb : fichier dindex sur lattribut XYZT (quelque soit la forme dindexage, fichier(s) utilis(s) par la commande slapindex) Exemple de fichier sn.dbb pour un indexage de type eq et subfinal :
G: < />, 0x41367, < /> Ge: < />, 0x41367, < /> Ger: < />, 0x41367, < /> Germ: < />, 0x41367, < /> Germa: < />, 0x41367, < /> German: 0x41367
BY-NC-SA
20
Le backend de configuration
Fonctionnalit apparue en valuation dans OpenLDAP 2.2, et en version stable dans OpenLDAP 2.3. Configuration accessible par le protocole LDAP, en interrogeant la branche cn=config :
BY-NC-SA
21
Le backend de configuration
BY-NC-SA
22
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
23
Modes d'installation
Obligatoires : openldap-2.3.X.rpm (librairies obligatoires) installer : openldap-servers-2.3.X.rpm et openldap-clients-2.3.X.rpm Obligatoires : libldap2 installer : slapd, ldap-utils
Debian, Ubuntu :
Toutefois les choix de compilation sont imposs ce qui peut ne pas convenir la matrise ncessaire ce type de composant essentiel !
Besoin des outils de compilation C (autoconf, make, gcc) Besoin des bibliothques (fichiers .h) des produits tiers Permet de slectionner finement les fonctionnalits et d'optimiser les binaires
BY-NC-SA
24
Pr-requis l'installation
Le format de stockage (backend) Les fonctionnalits (overlays) Le modle de scurit (SSL/TLS, SASL) Larchitecture des annuaires (classique ou multimatres)
SASL : cyrus-sasl SSL/TLS : OpenSSL ou GnuTLS Backend BDB, HDB : BerkeleyDB 4.2, 4.4 ou 4.5 (pas la 4.3 !) Backend SQL : UnixODBC
BY-NC-SA
25
http://www.oracle.com/technology/software/products/berkeley-db/index.html
Dsarchiver :
cd db-4.x.y/build_unix ../dist/configure
/usr/local/BerkeleyDB.4.x
BY-NC-SA
26
wget c ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.3.35.tgz
Dsarchiver :
BY-NC-SA
27
make test
Installation :
BY-NC-SA
28
Exercice
Installer les produits tiers partir des paquets fournis dans votre distribution Linux :
Installer OpenLDAP partir des sources dans le rpertoire utilisateur (par exemple /home/linagora/stage)
BY-NC-SA
29
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
30
bin : utilitaires clients etc : configuration include : fichiers d'en-ttes pour compiler des clients LDAP lib : bibliothques pour compiler des clients LDAP libexec : excutables des serveurs man : pages de manuel sbin : utilitaires d'administration var : donnes variables (bases, donnes de rplication, fichiers de lancement)
BY-NC-SA
31
Fichiers de configuration
$prefix/etc/openldap/slapd.conf
$prefix/var/openldap-data/DB_CONFIG
$prefix/etc/openldap/ldap.conf
$prefix/etc/openldap/schema/
Manuel intgr :
BY-NC-SA
32
Structure de la configuration
Structure de slapd.conf :
Directives gnrales :
Inclusion des fichiers schmas Directives de scurit Contrles d'accs (ACL) Limites Paramtres dexcution Paramtres communs aux bases du backend Dfinition d'une base (database XXX) Paramtres spcifiques la base (index, mots de passe, etc.) Overlays (Dfinition d'une autre base)
BY-NC-SA
33
Paramtres gnraux
referral : envoie des clients sur cette URL si le serveur est incapable de rpondre threads <integer> : nombre de fils d'excution maximum tool-threads <integer> : nombre de fils d'excution maximum pour les utilitaires d'administration pidfile : fichier contenant lidentificateur de processus du serveur argsfile : fichier contenant les arguments passs au lancement du serveur gentlehup {on|off} : arrt sans coupure des connexions tablies rootDSE <filename> : nom du fichier LDIF contenant les informations publier sur lentre dn= de lannuaire
BY-NC-SA
34
Paramtres gnraux
reverse-lookup {on|off} : active ou non la rsolution de nom pour lhistorisation (logs) loglevel : Niveau de debug enregistr par syslog sockbuf_max_incoming : taille maximum accepte pour une session anonyme sockbuf_max_incoming_auth : taille maximum accepte pour une session authentifie default_search_base <dn> : base par dfaut en labsence de ce paramtre dans une requte schemadn <dn> : nom de lattribut contenant le DN du schma ajout par le serveur sur chaque entre
BY-NC-SA
35
suffix : Prcision du contexte de nommage lastmod {on|off} : slapd maintient ou non les attributs oprationnels :
readonly {on|off} : le contexte est ou non accessible en criture rootdn : DN de ladministrateur du suffixe correspondant (ce champ doit faire partie du contexte de nommage auquel il est attach) rootpw : mot de passe de ladministrateur (possibilit de le chiffrer avec slappasswd)
BY-NC-SA
36
cachesize <integer> : Nombre dentres maintenues en mmoire (du processus OpenLDAP) checkpoint <kbytes> <min> : Point dcriture du fichier de log lorsque soit il dpasse le volume indiqu par le nombre <kbytes>, soit <min> minutes sont passes dbnosync : pas de synchronisation instantane sur disque (ni dans le fichier de log ni dans les fichiers de donnes) dirtyread : autorise la lecture dune information non commite , cest--dire uniquement prsente dans le fichier de log idlcachesize <integer> : meilleure performance si idlcachesize = cachesize (pour HDB, idlcachesize =3 * cachesize) searchstack <integer> : profondeur maximum dune recherche (refus de filtres trop complexes pour viter le dni de service) index <attrlist> [pres,eq,approx,sub,...] : ajoute un ou plusieurs index sur un ou plusieurs attributs Note : penser utiliser slapindex aprs l'ajout d'un index sur un attribut existant
37
BY-NC-SA
Exercice
Core Cosine inetOrgPerson Contexte : dc=linagora,dc=com Administrateur : cn=admin,dc=linagora,dc=com (et choisir un mot de passe)
BY-NC-SA
38
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
39
Lancement du serveur
slapd :
Pas de charge permanente pour un service peu utilis Peu utilis, car slapd est un service lourd Disponibilit instantane Absence de relance dun processus chaque connexion
slurpd :
Traite toutes les propagations effectuer et sarrte (utile pour resynchroniser sur une connexion non permanente) Fonctionne en parallle de slapd pour propager les modifications
BY-NC-SA
40
Paramtres de lancement
Options communes :
-d : niveau de debug (puissances de 2, de 2 2048, composables) -f : fichier de configuration utiliser -l : processus syslog utilis pour les logs (LOCAL0, LOCAL1, LOCAL4, ...)
slapd :
-h : URL spares par un espace (exemple : -h ldap:/// ldaps:/// ) -u, -g et -r : permettent de protger le reste du systme contre une dfaillance du dmon
slurpd :
-r <replogfile>: fichier contenant les modifications notifies par le daemon slapd -t : rpertoire temporaire dans lequel le fichier replogfile est copi avant dtre trait
BY-NC-SA
41
Peuplement initial
BY-NC-SA
42
slapacl : teste les ACLs slapauth : teste les paramtres de connexion (authz) slapcat : extraction des informations des fichiers DB slapadd : ajout dentres sans passer par la couche rseau, mais directement par les librairies slapindex : recre lensemble des fichiers dindex (peut tre assez long !) slapdn : vrifie la conformit dun DN en fonction du schma du serveur slaptest : vrifie la conformit du fichier slapd.conf slappasswd : gnre un mot de passe chiffr slapindex et slapadd ont une option -q amliorant grandement leurs performances
BY-NC-SA
43
ldapsearch : recherche dans lannuaire ldapadd : ajoute une ou plusieurs entres par le biais dun fichier LDIF ldapdelete : supprime une ou plusieurs entres, ou mme un arbre ldapcompare : vrifie quune valeur existe ou non pour un attribut particulier dune entre ldapmodify : modifie des entres dans l'annuaire ldapmodrdn : modifie le RDN et/ou dplace lentre ldappasswd : utilise lopration tendue de mise jour du mot de passe ldapwhoami : opration renvoyant lidentit de lutilisateur
BY-NC-SA
44
-D <dn> : DN de lentre utilise pour se connecter lannuaire -w <chane> : prcise le mot de passe sur la ligne de commande -H <URL LDAP> : prcise lURL (hte et port) de connexion lannuaire -h <hte> -p <port> -P {2|3} : version du protocole LDAP utilis pour la connexion -f : fichier LDIF contenant les modifications apporter -c : mode continu, ne s'arrte pas aux erreurs -s : stocke les erreurs dans un fichier Options par dfaut dans le fichier ldap.conf
BY-NC-SA
45
-b <base> : DN de dpart de recherche -s <scope> : tendue de la recherche (base, one, sub) "filtre" : Filtre LDAP (exemple : "(objectClass=person)") Attributs :
Liste spcifique d'attributs (exemple : sn cn uid) Tous les attributs ('*') Tous les attributs oprationnels ('+')
BY-NC-SA
46
Permet de prendre en compte les volutions ventuelles durant le processus dalimentation Autorise la base LDAP tre disponible malgr lalimentation Utilise les mcanismes de rplication permettant dassurer une synchronisation de tous les serveurs partir dun unique point daccs
Import rapide, sans transfert ni vrification rseau Possibilit dimporter sans index pour rindexer par la suite (plus rapide) Possibilit de limiter les vrifications pour acclrer le chargement (option -q)
BY-NC-SA
47
Exercice
Peuplement initial :
Crer un LDIF du contexte et d'une branche ou=personnes Crer des utilisateurs dans cette branche avec des mots de passe Insrer ce fichier avec slapadd
Dmarrer slapd en debug (niveau 256) Utiliser le client LDAP de recherche pour :
Voir la totalit des entres Voir les attributs oprationnels du contexte de nommage Voir l'entre RootDSE
Utiliser les diffrents clients LDAP pour lire et diter les donnes de l'annuaire
BY-NC-SA
48
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
49
SSL et TLS
SSL : Secure Socket Layer (version actuelle : v3) TLS : Transport Layer Security (version actuelle : v1) Comparaison SSL/TLS :
mmes algorithmes SSL chiffre une connexion (tunnel) TLS est inclus dans LDAP et est mis en place au cours de la connexion SSL ncessite un port de connexion diffrent (636) , alors que TLS sadapte sur le protocole LDAP (donc sur le port standard, 389) grce l'opration startTLS
sign dune autorit internationale sign dune autorit locale reconnue par tous les clients
BY-NC-SA
50
Flux SSL/TLS
BY-NC-SA
51
Circuit de certification
Autorit de certification (AC) racine Autorit de certification (AC) oprationnelle
Signe Signe
Certificat Racine
BY-NC-SA
52
TLSCipherSuite <ciphers>+ : permet de prciser quels sont les algorithmes de chiffrement utiliss, par exemple : HIGH:MEDIUM:+TLSv1 TLSCertificateFile <filename> : fichier du certificat public du serveur TLSCertificateKeyFile <filename> : fichier contenant la cl prive du certificat du serveur allow / disallow / require <feature> : autorise / refuse / ncessite des connexions suivant certaines fonctionnalits (exemple : disallow LDAPv2) password-hash <hash> [<hash>] : algorithme de cryptage utilis lors de lutilisation de lopration tendue de changement du mot de passe
BY-NC-SA
53
Facteurs de scurit :
security <factors> : spcifie des longueurs de cls minimum utiliser pour assurer les oprations :
Rplication scurise :
tant donn quen sadressant un serveur esclave, on ne peut pas savoir si la connexion a pu tre scurise par TLS (mme port de connexion), il est possible de forcer la rplication ne seffectuer que si la communication est chiffre :
Dans la section replica du contexte de nommage, ajouter tls=critical Dans la section syncrepl, ajouter tls=critical
BY-NC-SA
54
Gnration de la cl prive :
openssl x509 -days 1460 -signkey ca.key -in ca.csr -req -out ca.pem
BY-NC-SA
55
Permet de dterminer quels sont les accs donns un client de lannuaire Peut tre dtermin par de nombreux critres Cot non ngligeable dvaluation. Peut donc ncessiter des spcialisations fonctionnelles dans certains cas. Paramtres :
Manuel :
BY-NC-SA
56
L'objet de l'ACL
lment n1 : quel DN
DN (expression rgulire) base : le DN lui - mme one : les fils directs du DN prcis subtree : toute la descendance y compris le DN children : toute la descendance sans le DN Filtre sur les attributs (comme ceux de ldapsearch) Liste dattributs (exemple : userPassword, uid) Lentre tout entire (entry) Les fils de cette entre (children)
BY-NC-SA
57
Droits incrmentaux : none < auth < compare < search < read < write
auth = authentification (bind uniquement) compare = opration de comparaison (compare) search = permet dutiliser lattribut dans un filtre read = lecture des valeurs de lattribut write = criture (modification, ajout et suppression) des valeurs de lattribut
BY-NC-SA
58
* : tout le monde anonymous : toute connexion non authentifie sur lannuaire users : toute connexion authentifie sur lannuaire self : lentre utilise pour sauthentifier dn : un DN spcifi group : un groupe dutilisateur (groupOfNames par dfaut) peername, sockname : en fonction des connexions (nom dhte, ) set : dfinition en fonction des attributs des entres aci : par les ACL stockes dans lannuaire
BY-NC-SA
59
Exemples d'ACL
BY-NC-SA
60
Les ACI
Afin de permettre une plus grande dynamique des ACL, il est maintenant possible dinsrer des ACI dans lannuaire. Nom de lattribut : OpenLDAPaci Syntaxe :
OID # SCOPE # RIGHTS # TYPE # SUBJECT OID : ordre de la rgle (1, , n) SCOPE : entry
BY-NC-SA
61
Les ACI
RIGHTS = ACTION [ ; PERMISSIONS ; TARGET]+ ACTION = grant | deny PERMISSIONS = PERMISSION + [ , + PERMISSION ] * PERMISSION = w | r | s | c | a TARGET = all | children | attribut TYPE = access-id | group | self SUBJECT = DN
BY-NC-SA
62
Limites
Avec <who> :
Et <limit> :
Cas particuliers :
sizelimit : taille maximum dune recherche timelimit : temps maximum dune recherche idletimeout : temps maximum dune connexion devenue inactive
BY-NC-SA
63
Exercice
SSL/TLS :
Crer et signer un certificat serveur Installer le certificat dans OpenLDAP Contrler la scurit avec les outils OpenSSL
ACL et limites :
Inscrire des rgles d'accs et des limites dans slapd.conf Trouver des mthodes pour vrifier l'efficacit des rgles mises en place
BY-NC-SA
64
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
65
Les schmas
Core : lensemble des objets dont OpenLDAP a besoin Cosine (RFC 1274) : issu des schmas X500 NIS : les informations pour les comptes informatiques inetOrgPerson (RFC 2798) : une personne au sein dune organisation
Misc : objet de routage mail (abandonn) Samba : Accs aux ressources sur un serveur Microsoft Bind : support des objets DNS Dyngroup : support des groupes dynamiques
BY-NC-SA
66
Exemples
BY-NC-SA
67
Exemples
BY-NC-SA
68
Exercice
Schma :
Dfinir deux attributs Dfinir une classe d'objet drivant de la classe inetOrgPerson possdant ces deux attributs de manire facultative Installer le schma dans OpenLDAP Insrer des entres conformes au nouveau schma
BY-NC-SA
69
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
70
Types de rplication
Server Initiated Replication : c'est l'annuaire matre qui rplique vers les esclaves Disponible dans OpenLDAP avec slurpd ou une configuration particulire de Syncrepl
Consurmer Initiated Replication : ce sont les esclaves qui tablissent les requtes vers l'annuaire matre Disponible dans OpenLDAP avec Syncrepl (depuis la version 2.2)
Plusieurs annuaires peuvent recevoir les critures Fonctionnalit exprimentale dans OpenLDAP
BY-NC-SA
71
Fonctionnement de slurpd
BY-NC-SA
72
Fichiers de slurpd
Le fichier replog de slapd : il contient les modifications enregistres sur lannuaire matre mais pas encore rcupres par slurpd. Le fichier replog de slurpd : il contient les modifications qui se trouvaient dans le fichier replog de slapd et qui ont t rcupres par slurpd. Le fichier de statut : chaque ligne de ce fichier contient ladresse et le port dun annuaire esclave, ainsi que la date et le rang de la dernire modification accepte ou rejete. Le fichier de rejet : il est spcifique un esclave et contient les modifications rejetes.
BY-NC-SA
73
Un serveur est :
soit matre, et peut contenir une ou plusieurs directives dfinissant chaque esclave (destination de la rplication) : replica uri = URL de l'esclave bind method = simple binddn = DN de connexion l'esclave credentials = mot de passe replogfile /var/lib/ldap/replog-hostname
soit esclave, et il contient deux paramtres lui permettant daccepter les flux de rplication mis par le serveur matre :
updatedn : DN par lequel le matre propage les modifications updateref : URL de renvoi lorsque des modifications lui sont adresses
BY-NC-SA
74
Syncrepl
Fonctionnalit apparue dans OpenLDAP 2.2 Synchronisation base sur des cookies : l'esclave va interroger le matre pour connatre les entres diffrentes Deux modes :
refreshAndPersist : l'esclave (consumer) rcupre en continu les modifications apportes au matre (provider) suivant ltat maintenu par le serveur refreshOnly : lesclave demande priodiquement les mises jour au matre
Syncrepl est compatible avec la configuration multimatres Possibilit de n'envoyer que les diffrences entre les entres (c'est dire au niveau des attributs) avec delta-syncrepl Possibilit de simuler la rplication SIR en utilisant un proxy LDAP (back-ldap) Rplication plus stable que slurpd car toujours convergente
BY-NC-SA
75
Configuration de Syncrepl
Sur le matre :
overlay syncprov syncprov-checkpoint 100 10 syncprov-sessionlog 100
Sur l'esclave :
syncrepl rid=123
provider=ldap://provider.example.com:389 type={refreshOnly|refreshAndPersist} interval=jj:hh:mm:ss retry=60 10 300 3 + searchbase="dc=linagora,dc=com" filter="(objectClass=organizationalPerson)" scope=sub attrs="cn,sn,ou,telephoneNumber,title,l" schemachecking={off|on} bindmethod=simple binddn="cn=syncuser,dc=linagora,dc=com" credentials=secret
76
BY-NC-SA
Exercice
Slurpd :
Configurer sur la mme machine un annuaire matre et un annuaire esclave avec slurpd Dmarrer les processus Valider la rplication
Syncrepl :
BY-NC-SA
77
Plan de cours
Prsentation du logiciel OpenLDAP Installation Configuration Utilisation (client et serveur) Scurit Schma Rplication Performances
BY-NC-SA
78
Compiler le noyau avec la configuration exacte de la machine Compiler le serveur LDAP avec le nouveau noyau activ Ne pas activer doptions de dboguage particulires ni dhistorisation en production :
loglevel 0
Dans le cas o lhistorisation est active, paramtrer syslog de faon ne pas forcer la synchronisation sur disque de chaque message :
local4.*
-/var/log/slapd.log
BY-NC-SA
79
il y a trop dindex par rapport aux donnes ce qui fait basculer les oprations en partition d'change disque (swap) il ny pas assez de processus ou de fils d'excution (threads) par processus pour traiter les demandes sur des attributs non indexs gnrant trop de rsultats
Dans certains cas les limites systmes doivent tre augmentes pour viter une indisponibilit en grande charge, notamment sur des instances utilisant un backend meta ou LDAP. Les limites correspondantes sont alors :
le nombre de fichiers ouverts maximum par processus le nombre de fils d'excution (threads) par processus
BY-NC-SA
80
Toute recherche doit tre faite sur un attribut index En fonction du type de recherche, prciser les modes de recherches permet de limiter les index mettre en uvre (cot mmoire et CPU) Activer un cache DNS local (nscd) ou disposer dun serveur DNS rapide Paramtrer le fichier DB_CONFIG Augmenter la quantit de mmoire vive disponible Pour les solutions plus complexes :
Mise en place dun espace disque virtuel en mmoire Dupliquer le nombre de serveurs et introduire de lquilibrage de charge
BY-NC-SA
81
Sites :
http://www.openldap.org http://www.commentcamarche.net/ldap/ldapinst.php3
Listes de diffusion :
Livres :
LDAP : Administration systme (Broch) de Gerald Carter Annuaires LDAP (Broch) de Marcel Rizcallah
BY-NC-SA
82
z de
Nom :
.................................................................................................... .................................................................................................... ................................................................................................... ................................................................................................... ..................................................................................................... ..............................................Date : .......................................... ..........................Rduction : - 100 ........Tarif final :...............
BY-NC-SA
Formation
Administration et scurit
BY-NC-SA