Назад | Перейти на главную страницу

Модуль оверлея OpenLDAP auditlog не загружается в Debian

Я использую OpenLDAP в Debian Stretch. Я хотел использовать auditlog оверлейный модуль, однако он не загружается.

  1. Я добавил модуль auditlog в мою конфигурацию

    # module{0}, config
    dn: cn=module{0},cn=config
    objectClass: olcModuleList
    cn: module{0}
    olcModulePath: /usr/lib/ldap
    olcModuleLoad: {0}back_mdb
    olcModuleLoad: {1}memberof
    olcModuleLoad: {2}ppolicy
    olcModuleLoad: {3}pw-sha2
    olcModuleLoad: {4}refint
    olcModuleLoad: {5}auditlog
    
  2. Когда я пытаюсь настроить оверлей, возникает синтаксическая ошибка:

    adding new entry "olcOverlay=auditlog,olcDatabase={1}mdb,cn=config"
    ldap_add: Invalid syntax (21)
        additional info: objectClass: value #3 invalid per syntax
    

Это означает, что OpenLDAP не распознает objectClass 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

И добавляем конфиг auditlog:

# 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