Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. LDAP
  3. Surveillance d'un annuaire OpenLDAP
Extrait - LDAP Planification et mise en oeuvre d'un annuaire OpenLDAP
Extraits du livre
LDAP Planification et mise en oeuvre d'un annuaire OpenLDAP Revenir à la page d'achat du livre

Surveillance d'un annuaire OpenLDAP

Surveiller le service LDAP

1. Le processus "slapd"

Afin de s’assurer du fonctionnement de l’annuaire OpenLDAP, il faudra contrôler que le service "slapd" est en cours d’exécution. Pour ce faire, il est conseillé d’utiliser une architecture de monitoring comme "Nagios" qui par l’intermédiaire d’un agent de surveillance installé sur le serveur OpenLDAP pourra détecter lorsque celui-ci est arrêté. Certains agents de surveillance ont même la possibilité de redémarrer automatiquement un service arrêté. Il existe également des solutions au niveau des systèmes d’exploitation avec, par exemple sous Linux, le fichier /etc/inittab qui permet de spécifier les processus à redémarrer en cas de plantage par l’intermédiaire du paramètre respawn.

2. Les systèmes de fichiers

Par ailleurs, il faut aussi s’assurer que l’espace disponible sur (le ou) les systèmes de fichiers contenant les données de l’annuaire (ex. /var/lib/ldap) est suffisant car, dans le cas contraire, cela pourrait entraîner un dysfonctionnement du service LDAP.

Surveiller la réplication

Afin de vérifier le bon fonctionnement de la réplication entre deux annuaires, il faudra surveiller le numéro de séquence de modification contenu dans le cookie de synchronisation (SyncCookie) mis à jour par le provider à la fin de chaque connexion de réplication. Ce numéro se trouve dans la valeur de l’attribut contextCSN de chaque entrée de l’annuaire répliqué.

Ainsi, la méthode de surveillance de la réplication consistera, dans une architecture de réplication "Peer-to-Peer", à consulter les valeurs de l’attribut contextCSN sur chacun des annuaires. L’exemple de la figure 16-1 illustre un cas où la réplication fonctionne correctement, car les valeurs sont identiques pour les deux annuaires.


[root@ldap01 ~]# ldapsearch -h ldap01 -D  
"cn=root,dc=exemple,dc=com" -W -b "dc=exemple,dc=com" -s base 
'contextCSN' -LLL ; ldapsearch -h ldap02 -D  
"cn=root,dc=exemple,dc=com" -W -b "dc=exemple,dc=com" -s base 
'contextCSN' -LLL 
 
Enter LDAP Password:  
dn: dc=exemple,dc=com 
contextCSN: 20160810133053.733199Z#000000#001#000000 
contextCSN: 20160810133115.876608Z#000000#002#000000 
 
Enter LDAP Password:  
dn: dc=exemple,dc=com 
contextCSN: 20160810133053.733199Z#000000#001#000000 ...

Surveiller les connexions au serveur LDAP

Il peut être intéressant de savoir quels serveurs sont actuellement connectés à notre serveur LDAP et de disposer de quelques statistiques à propos des requêtes effectuées.

Pour cela, il faudra ajouter et configurer l’overlay "Monitor" en chargeant tout d’abord le module "back_monitor.la" puis créer sa branche spéciale où seront collectées les informations de connexion à l’annuaire (cf. chapitre Ajout de fonctionnalités appelées overlay pour l’installation de cet overlay).

Images/Figure16-2.png

Figure 16-2 : Module de l’overlay "Monitor"

Images/Figure16-3.png

Figure 16-3 : Branche de l’overlay "Monitor"


ldapsearch -h ldap01 -D "cn=root,dc=exemple,dc=com" -W -b 
"cn=Connections,cn=Monitor" -s sub  
'objectclass=monitorConnection' 'monitorConnectionAuthzDN'  
'monitorConnectionListener' 'monitorConnectionPeerAddress' -LLL 
 
# Connection 3982, Connections, Monitor 
dn: cn=Connection 3982,cn=Connections,cn=Monitor 
objectClass: monitorConnection 
structuralObjectClass: monitorConnection 
cn: Connection 3982 
creatorsName: 
modifiersName: 
createTimestamp: 20160718080720Z 
modifyTimestamp: 20160718080723Z 
monitorConnectionNumber: 3982 
monitorConnectionProtocol: 3 
monitorConnectionOpsReceived:...

Surveiller les modifications du contenu de l’annuaire

L’overlay "audit logging" ajouté lors du chapitre Ajout de fonctionnalités appelées overlay permet d’enregistrer toutes les modifications faites dans l’annuaire.

Ainsi, lors de l’ajout, la suppression ou bien même la modification d’une entrée, il est alors possible de visualiser par exemple les informations suivantes dans le fichier journal (cf. figure 16-5) :


[root@ldap01 tmp]# cat auditlog.log 
# add 1492170112 dc=exemple,dc=com cn=root,dc=exemple,dc=com 
IP=194.88.223.64:4945 conn=2124 
dn: uid=usertmp,ou=users,dc=exemple,dc=com 
changetype: add 
uid: usertmp 
uidNumber: 60012 
gecos: USERTMP 
homeDirectory: /home/ usertmp 
gidNumber: 60001 
cn: usertmp 
objectClass: account 
objectClass: top 
objectClass: posixAccount 
objectClass: shadowAccount 
loginShell: /bin/bash 
userPassword:: e1NBU0x9c3JvcGFyc0BnZW1hbHRvLmNvbQ== 
pwdChangedTime: 20170414114152Z 
structuralObjectClass: account 
entryUUID: 19193cfc-b553-1036-8391-3192ac3f20b3 
creatorsName: cn=root,dc=exemple,dc=com 
createTimestamp: 20170414114152Z 
entryCSN: 20170414114152.537277Z#000000#001#000000 
modifiersName: cn=root,dc=exemple,dc=com 
modifyTimestamp: 20170414114152Z 
# end add 1492170112 
 
# delete 1492170486 dc=exemple,dc=com cn=root,dc=exemple,
dc=com...