При работе с сервером каталога в большом офисе рано или поздно возникает вопрос "Кто создал/изменил/удалил запись в каталоге?". Расследование становится еще более запутанным, если все администраторы работают с каталогом с правами одной учетной записи. Разобраться в проблеме поможет расширение Auditlog.
И посмотреть, что попало в журнал:
Подключение расширения
Для начала удостоверьтесь, что расширение собрано вместе с сервером. Для большинства дистрибутивов Linux достаточно будет выполнить команды rpm -ql openldap-servers ( или dpkg -l openldap-servers) | grep auditlog. Известным мне исключение является дистрибутивы Suse( SLES и OpenSuse), в которых все расширения собраны статически и узнать список собранных расширений можно только в src.rpm пакете. Пользователи sourceware дистрибутивов, я надеюсь, могут самостоятельно прояснить этот вопрос.
Для подключения расширения необходимо добавить в основную часть(выше первой директивы database) конфигурационного директиву:
moduleload auditlog
Активизация расширения
Для активизации расширения необходимо добавить следующие директивы после начала описания базы данных:
database hdb suffix "dc=example,dc=com" rootdn "cn=admin,dc=example,dc=com" overlay auditlog auditlog /var/lib/ldap/example.com/auditlog.ldif rootpw secret directory /var/lib/ldap/example.com
Важно помнить, что журнал пишется сервером slapd с теми правами, с которыми он запущен. Обычно это пользователь ldap из группы ldap. Выбирая место для записи журнала аудита нужно быть уверенным, что серверу хватит прав записать данные в журнал.
Проверка работы
Необходимо перезапустить сервер после изменения конфигурации, если вы еще этого не сделали и осуществить изменение каталога, например так:
$ ldapadd -D cn=admin,dc=example,dc=com -x -w secret dn: dc=example,dc=com objectClass: dcObject objectClass: organization dc: example o: Example Corporation adding new entry "dc=example,dc=com" dn: cn=admin,dc=example,dc=com objectClass: person cn: admin sn: corporate userPassword: secret adding new entry "cn=admin,dc=example,dc=com"
И посмотреть, что попало в журнал:
# cat /var/lib/ldap/example.com/auditlog.ldif # add 1336732457 dc=example,dc=com cn=admin,dc=example,dc=com IP=127.0.0.1:49506 conn=1000 dn: dc=example,dc=com changetype: add objectClass: dcObject objectClass: organization dc: example o: Example Corporation structuralObjectClass: organization entryUUID: 9b39cadc-2fa0-1031-95e7-c5b4fb0896fb creatorsName: cn=admin,dc=example,dc=com createTimestamp: 20120511103417Z entryCSN: 20120511103417.935072Z#000000#000#000000 modifiersName: cn=admin,dc=example,dc=com modifyTimestamp: 20120511103417Z # end add 1336732457 # add 1336732500 dc=example,dc=com cn=admin,dc=example,dc=com IP=127.0.0.1:49506 conn=1000 dn: cn=admin,dc=example,dc=com changetype: add objectClass: person cn: admin sn: corporate userPassword:: c2VjcmV0 structuralObjectClass: person entryUUID: b46d5c9e-2fa0-1031-95e8-c5b4fb0896fb creatorsName: cn=admin,dc=example,dc=com createTimestamp: 20120511103500Z entryCSN: 20120511103500.216082Z#000000#000#000000 modifiersName: cn=admin,dc=example,dc=com modifyTimestamp: 20120511103500Z # end add 1336732500
Комментариев нет:
Отправить комментарий