====== 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// : ldapmodify -Y EXTERNAL -H ldapi:/// << EOF dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: accesslog EOF Il faut ensuite créer la base LDAP qui servira au stockage de l'historique : mkdir /var/lib/ldap/my-database-accesslog/ chown openldap: /var/lib/ldap/my-database-accesslog/ ldapadd -Y EXTERNAL -H ldapi:/// << EOF 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 olcDbIndex: reqDn,reqStart,reqEnd,reqType,reqSession,reqAuthzID,objectClass eq olcDbMaxSize: 1073741824 EOF Pour finir, il faut configurer l'overlay //accesslog// pour votre base : ldapadd -Y EXTERNAL -H ldapi:/// << EOF 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 Dans cet exemple, les opérations relatives aux écritures et aux sessions utilisateurs seront historisés. La rétention de ces entrées est de 365 jours et la purge est exécutée en tâche de fond tous les jours. Pour plus d'informations, consulter la [[https://www.openldap.org/doc/admin24/overlays.html#Access%20Logging|documentation]], le manuel (''man slapo-accesslog'') ou encore le [[https://www.zytrax.com/books/ldap/ch6/accesslog.html|guide LDAP sur Zytrax.com]]. ==== Purge/réduction des logs ==== Pour purger les logs, le plus simple est de stopper le service, purger toute la base et relancer le service : service slapd stop rm -f /var/lib/ldap/accesslog/* service slapd start **Alternativement, vous pouvez réduire la période de rétention** des logs en ajustant la valeur de l'attribut ''olcAccessLogPurge'' dans la configuration de l'overlay ''accesslog'' de votre database. Ce paramètre contient deux valeurs, la première indiquant la rétention et la seconde la fréquence de purge. Par exemple, la valeur est ''365+00:00 1+00:00'' indique une rétention de 365 jours et une purge une fois par jour. En cas de modification de cette valeur, une purge est lancée immédiatement.