Ceci est une ancienne révision du document !
Module accesslog
Ce module permet d'historiser les actions effecutés sur une base LDAP dans une autre base LDAP dédiée. Il est possible, via des paramètres de configuration de choisir quelles actions sont historisées (modification, recherche, bind, …) et combien de temps sont conservés les évènements historisés. Chaque évènement historisé le serra sous la forme d'un objet LDAP stocké à la racine de la base de stockage de l'historique.
Installation
Il faut d'abord charger le module dynlist :
- Créer le fichier /tmp/load-module.ldif :
cat << EOF > /tmp/load-module.ldif dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: accesslog EOF
- Jouer ce LDIF via ldapmodify :
ldapmodify -x -D cn=admin,cn=config -W -f /tmp/load-module.ldif # Ou : ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/load-module.ldif
Il faut ensuite créer la base LDAP qui servira au stockage de l'historique :
- Créer le dossier de stockage de cette base :
mkdir /var/lib/ldap/my-database-accesslog/ chown openldap: /var/lib/ldap/my-database-accesslog/
- Créer le fichier /tmp/historic-database.ldif :
cat << EOF > /tmp/historic-database.ldif dn: olcDatabase={2}mdb,cn=config objectClass: olcDatabaseConfig objectClass: olcMdbConfig olcSuffix: cn=my-database-accesslog olcDbDirectory: /var/lib/ldap/my-database-accesslog/ olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break olcDbMaxSize: 1073741824 EOF
- Jouer ce LDIF avec ldapadd :
ldapadd -x -D cn=admin,cn=config -W -f /tmp/historic-database.ldif # Ou : ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/historic-database.ldif
Pour finir, il faut configurer l'overlay accesslog pour votre base :
- Créer le fichier /tmp/config-accesslog.ldif :
cat << EOF > /tmp/config-accesslog.ldif dn: olcOverlay={1}accesslog,olcDatabase={1}mdb,cn=config objectClass: olcAccesslogConfig objectClass: olcOverlayConfig objectClass: olcConfig objectClass: top olcOverlay: {1}accesslog olcAccessLogDB: cn=my-database-accesslog olcAccessLogOps: writes session olcAccessLogPurge: 365+00:00 1+00:00 olcAccessLogOld: objectClass=* EOF
- Jouer ce LDIF avec ldapadd :
ldapadd -x -D cn=admin,cn=config -W -f /tmp/config-accesslog.ldif # Ou : ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/config-accesslog.ldif
Dans cet exemple, les opérations relatives aux écritures et aux sessions utilisateurs seront historisés. Les premières seront conservées 365 jours et les secondes une journée. Pour plus d'informations, consulter la documentation, le manuel (
man slapo-accesslog
) ou encore le guide LDAP sur Zytrax.com.