关于“man slapo-auditlog”,我只需要添加以下内容。
dn: olcOverlay=auditlog,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcAuditLogConfig
olcOverlay: auditlog
olcAuditlogFile: /tmp/auditlog.ldif
首先,Centos 6 上默认不安装“olcOverlay=auditlog”。因此我无法将其添加到任何内容中。如果我删除“changetype: add”,我将收到此错误。
additional info: objectClass: value #1 invalid per syntax
我发现我可以创建自己的 cn=module,之后 olcAuditLogConfig 就存在了,我可以执行上述 LDIF。但我仍然没有得到任何审计日志。
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap/
olcModuleLoad: auditlog.la
我的 LDAP 设置可以在这里找到(现在在我自己的服务器上稍作修改)
答案1
现在我已经让所有东西都正常工作了,离解决方案已经非常近了。这是一个权限问题。这是将审计日志添加到安装在 Centos 6 上的 openldap 的方法。
首先启用该模块。
ldapadd -H ldaps://ldap.example.net -x -D "cn=admin,cn=config" -w secret << EOF
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap/
olcModuleLoad: auditlog.la
EOF
设置 ldap 有写入权限的文件夹。
mkdir slapd
chmod 755 /var/log/slapd/
chown ldap:ldap /var/log/slapd/
ls -alvhZ /var/log/slapd/
然后配置 olcAuditLogConfig 覆盖。
ldapadd -H ldaps://ldap.example.net -x -D "cn=admin,cn=config" -w secret << EOF
dn: olcOverlay=auditlog,olcDatabase={1}bdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcAuditLogConfig
olcOverlay: auditlog
olcAuditlogFile: /var/log/slapd/auditlog.log
EOF
向数据库插入一些内容。
ldapadd -H ldaps://ldap.example.net -x -D "cn=admin,cn=config" -w secret << EOF
dn: cn=management11191,ou=group,dc=example,dc=net
cn: management11191
objectClass: posixGroup
gidNumber: 2005
memberUid: user1
memberUid: user3
EOF
并检查审计日志文件,如果看到任何内容,则表示有效。
$ cat /var/log/slapd/auditlog.log
...
$ ls -alvhZ /var/log/slapd/auditlog.log
-rw-r--r--. ldap ldap unconfined_u:object_r:slapd_log_t:s0 /var/log/slapd/auditlog.log
答案2
您需要安装该
openldap-servers-overlays
包:Name : openldap-servers-overlays Arch : x86_64 Version : 2.3.43 Release : 12.el5_7.9 Size : 358 k Repo : installed Summary : Overlays for OpenLDAP server. URL : http://www.openldap.org/ License : OpenLDAP Description: OpenLDAP is an open-source suite of LDAP (Lightweight Directory Access : Protocol) applications and development tools. LDAP is a set of : protocols for accessing directory services (usually phone book style : information, but other information is possible) over the Internet, : similar to the way DNS (Domain Name System) information is propagated : over the Internet. : : This package contains overlay modules for OpenLDAP server daemon.
取消注释
auditlog
模块slapd.conf
:modulepath /usr/lib64/openldap moduleload auditlog.la
指定
auditlog
文件:database bdb overlay auditlog auditlog /tmp/audit.log suffix "dc=domain,dc=com" rootdn "cn=Manager,dc=domain,dc=com"
修改/添加一些属性值并查看上述日志,您将看到类似这样的内容:
# modify 1319524581 dc=domain,dc=com cn=Manager,dc=domain,dc=com dn: cn=xx,ou=yy,dc=domain,dc=com changetype: modify replace: initials initials: Hai initials: Do - replace: entryCSN entryCSN: 20111025063621Z#000000#00#000000 - replace: modifiersName modifiersName: cn=Manager,dc=domain,dc=com - replace: modifyTimestamp modifyTimestamp: 20111025063621Z - # end replace 1319524581