OpenLDAP : Overlay AccessLog

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.

Références

Catégorie