Я использую OpenLDAP в Debian Stretch. Я хотел использовать модуль оверлея auditlog
, однако он не загружается.
Я добавил модуль auditlog
в свою конфигурацию
# module {0}, config
dn: cn = модуль {0}, cn = config
objectClass: olcModuleList
cn: модуль {0}
путь olcModulePath: / usr / lib / ldap
olcModuleLoad: {0} back_mdb
olcModuleLoad: {1} memberof
olcModuleLoad: {2} ppolicy
olcModuleLoad: {3} pw-sha2
olcModuleLoad: {4} уточнение
olcModuleLoad: {5} журнал аудита
Когда я пытаюсь настроить оверлей, возникает синтаксическая ошибка:
добавление новой записи «olcOverlay = auditlog, olcDatabase = {1} mdb, cn = config»
ldap_add: неверный синтаксис (21)
дополнительная информация: objectClass: значение # 3 недопустимо для синтаксиса
Это означает, что OpenLDAP не распознает объектный класс
olcAuditLogConfig
, который должен был быть добавлен модулем auditlog
. Я попытался использовать вместо него auditlog.la
, но это не имеет никакого значения.
Есть предложения?
Я думаю, что это должен быть olcAuditlogConfig
. По крайней мере, это то, что определено в схеме, после добавления наложения журнала аудита:
# cat << EOF | ldapmodify -Y EXTERNAL -H ldapi://
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: auditlog.la
EOF
и поиска с помощью следующей команды
# ldapsearch -QY EXTERNAL -H ldapi:// -b cn=subschema -s base + | grep -i olcauditlogconfig
, которая показывает запись схемы для olcAuditlogConfig
:
objectClasses: ( 1.3.6.1.4.1.4203.1.12.2.4.3.15.1
NAME 'olcAuditlogConfig'
DESC 'Auditlog configuration'
SUP olcOverlayConfig STRUCTURAL
MAY olcAuditlogFile )
Затем создайте файл журнала используя правильные разрешения:
touch /var/log/auditlog.ldif
chown openldap:openldap /var/log/auditlog.ldif
И добавьте конфигурацию журнала аудита:
# cat << EOF | ldapmodify -Y EXTERNAL -H ldapi://
dn: olcOverlay={0}auditlog,olcDatabase={1}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcAuditlogConfig
olcOverlay: {0}auditlog
olcAuditlogFile: /var/log/auditlog.ldif
EOF
Это приведет к следующему cn = config
при новой установке slapd
(Debian 9.4 Stretch, slapd 2.4. 44 + dfsg-5 + deb9u1):
# slapcat -n 0 -o ldif-wrap=no
...
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_mdb
olcModuleLoad: {1}auditlog.la
structuralObjectClass: olcModuleList
...
dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /var/lib/ldap
...
dn: olcOverlay={0}auditlog,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcAuditlogConfig
olcOverlay: {0}auditlog
olcAuditlogFile: /var/log/auditlog.ldif
structuralObjectClass: olcAuditlogConfig