accesslog schema
access log schema 定义来源于 auditObject : Pasted from < http://manpages.ubuntu.com/manpages/lucid/man5/slapo-accesslog.5.html >
More info about accesslog in: http://www.zytrax.com/books/ldap/ch6/accesslog.html
( 1.3.6.1.4.1.4203.666.11.5.2.1
NAME 'auditObject'
DESC 'OpenLDAP request auditing'
SUP top STRUCTURAL
MUST ( reqStart $ reqType $ reqSession )
MAY ( reqDN $ reqAuthzID $ reqControls $ reqRespControls $
reqEnd $ reqResult $ reqMessage $ reqReferral ) )
reqStart / reqEnd : 分别代表操作的开始和结束时间,使用 GMT 标准时间格式;
re qStart 还作为 RDN 的一部分
reqType:被记录的操作类型,如 add, delete, search; 扩展操作为 extended
reqSession:是特定实现的标示符,对所有相同 LDAP 会话相关的操作是相同的,目前一般为 slapd 的内 部连接 ID , 用十进制表示
reqDN:操作目标的区别名即 DN , Bind 请求即 Bind DN , Add 请求即被添加目录的 DN
reqAuthzID: 操作用户的区别名,一般为建立连接时 RDN
reqControls / reqRespControls: client 请求携带的条件参数
reqResult: LDAP 操作结果的代码表示成功或失败,错误代码也许会带有reqMessage的文本描述
reqReferral:请求结果返回的任何介质
( 1.3.6.1.4.1.4203.666.11.5.2.5
NAME 'auditAdd'
DESC 'Add operation'
SUP auditWriteObject STRUCTURAL
MUST reqMod )
Add 操作,继承 auditWriteObject,必须带有 reqMod 属性
reqMod 属性包含了操作记录的所有属性,值的形式为: <+|-|=|#> [ value]
Where '+' indicates an Add of a value, '-' for Delete, '=' for Replace,
and '#' for Increment. In an Add operation, all of the reqMod values
will have the '+' designator.
+ 表示添加
- 表示删除
= 表示替换
# 表示增加
delete,modify 类似于 Add 操作,值得注意的是如果修改中包含了 RDN ,则先进行 modrdn 操作,然后再进行 modify 操作。
( 1.3.6.1.4.1.4203.666.11.5.2.8
NAME 'auditDelete'
DESC 'Delete operation'
SUP auditWriteObject STRUCTURAL
MAY reqOld )
( 1.3.6.1.4.1.4203.666.11.5.2.9
NAME 'auditModify'
DESC 'Modify operation'
SUP auditWriteObject STRUCTURAL
MAY reqOld MUST reqMod )
( 1.3.6.1.4.1.4203.666.11.5.2.10
NAME 'auditModRDN'
DESC 'ModRDN operation'
SUP auditWriteObject STRUCTURAL
MUST ( reqNewRDN $ reqDeleteOldRDN )
MAY ( reqNewSuperior $ reqOld ) )
( 1.3.6.1.4.1.4203.666.11.5.2.11
NAME 'auditSearch'
DESC 'Search operation'
SUP auditReadObject STRUCTURAL
MUST ( reqScope $ reqDerefAliases $ reqAttrsOnly )
MAY ( reqFilter $ reqAttr $ reqEntries $ reqSizeLimit $
reqTimeLimit ) )
( 1.3.6.1.4.1.4203.666.11.5.2.12
NAME 'auditExtended'
DESC 'Extended operation'
SUP auditObject STRUCTURAL
MAY reqData )
目前我们需要对 add ,delete,modify,modrdn 进行拦截,然后解析 reqMod ,得到属性和属性值,再 call wapi 保存到 URD
accesslog operations
删除: delete
删除 cn =zero999
添加: add
添加 cn =jeffy 以及属性
cn ,
sn,
telephoneNumber,
userPassword
修改: modify
修改 cn =jeffy
修改属性 description
删除 telephoneNumber
如果修改了 RDN
如:修改 cn =jeffy 为 cn=Jordan
添加属性 telephoneNumber
则分 2 步:
第一步: modrdn
第二步: modify