Что касается man slapo-auditlog, мне просто нужно добавить следующее.
dn: olcOverlay=auditlog,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcAuditLogConfig
olcOverlay: auditlog
olcAuditlogFile: /tmp/auditlog.ldif
Во-первых, "olcOverlay = auditlog" не установлен по умолчанию на Centos 6. Так что я не могу добавить это ни к чему. Если я удалю "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 (теперь она немного изменена на моем собственном сервере)
Теперь у меня есть все, чтобы работать, и я был очень близок к решению. Это была проблема с разрешением. Вот как вы добавляете журнал аудита в openldap, установленный на Centos 6.
Сначала включите модуль.
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
Вам необходимо установить 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