Dans la série des overlays pour OpenLDAP, après le Password Policy, regardons l'accesslog.
Intérêt de l'overlay Accesslog
L'overlay Accesslog peut être utile pour récupérer dans une branche séparée de l'annuaire un ensemble d'opérations appliquée sur une database.
Le paramétrage distingue 4 sortes d'opérations :
- writes : add, delete, modify, modrdn
- reads : compare, search
- session : abandon, bind, unbind
- all : toutes les opérations
Par exemple, si l'on veut avoir un suivi des connexions sur l'annuaire, on choisira l'opération session.
Activation de l'overlay
L'activation s'effectue une fois pour toute l'instance SLAPD. Elle se fait via un fichier LDIF.
Par exemple, avec un fichier loadAccessLog.ldif :
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: accesslog
ldapmodify -Y EXTERNAL -H ldapi:/// -f loadAccessLog.ldif
Paramétrage pour une DB
Le paramétrage s'effectue via un fichier LDIF. Par exemple, avec le contenu du fichier addAccesslog2DB.ldif :
dn: olcDatabase=hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: hdb olcDbDirectory: /product/openldap/data/corp-accesslog olcSuffix: cn=corp-accesslog olcRootDN: cn=admin,cn=corp-accesslog olcRootPW: auditor olcDbIndex: default eq olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart dn: olcOverlay=accesslog,olcDatabase={2}bdb,cn=config objectClass: olcOverlayConfig objectClass: olcAccessLogConfig olcOverlay: accesslog olcAccessLogDB: cn=corp-accesslog olcAccessLogOps: session olcAccessLogSuccess: TRUE olcAccessLogPurge: 07+00:00 01+00:00
ldapadd -Y EXTERNAL -H ldapi:/// -f addAccesslog2DB.ldif adding new entry "olcDatabase=hdb,cn=config" adding new entry "olcOverlay=accesslog,olcDatabase={2}bdb,cn=config"
Format des données
Les données sont donc stockées dans la database correspondant à l'entrée olcSuffix.
Par exemple, une entrée correspondant à un BIND se présente de la manière suivante (export LDIF) :
dn: reqStart=20140127163933.000346Z, cn=corp-accesslog reqStart: 20140127163933.000346Z reqEnd: 20140127163933.000347Z reqAuthzID: reqSession: 1002 objectClass: auditBind reqResult: 49 reqMethod: SIMPLE reqType: bind reqDN: uid=AUTH368,ou=BENCH-AUTH,ou=users,dc=example,dc=corp reqVersion: 3
Impact sur les performances
L'activation de cet overlay AccessLog a des impacts notables sur les performances. En effet, pour chaque opération (sélectionnée par le paramétrage) effectuée sur l'annuaire, il y a une écriture dans la branche.
Un test effectué sur les authentifications, via l'utilitaire authrate montre une dégradation nette des performances.
Sur une VM, le taux d'authentification tombe d'un taux de 1100 à 1200 opérations par seconde, sans l'overlay, à un taux compris entre 170 à 200 opérations par secondes, avec l'overlay.