Настройка журналирования событий службы каталога#

Настройка журналирования событий службы каталога на контроллере домена#

В разделе приведен минимальный алгоритм включения и настройки файлов журналов службы каталога для выполнения настоящей инструкции. Более подробная информация про назначение журналов службы каталога 389 DS, настройку отображения файлов журналов, а также настройку ротации файлов журналов приведена в разделе.

Расширенный аудит на сервере службы каталога включается вручную, после чего станет доступен файл журнала аудита /var/log/dirsrv/slapd-ALDPRO-LAN/audit.

Команда для включения расширенного аудита на контроллере домена:

dsconf -D "cn=Directory Manager" -w "ПАРОЛЬ_АДМИНИСТРАТОРА" ldap://alddc1.ald. ,→lan config replace nsslapd-auditlog-logging-enabled=on

Расширенный аудит ошибок включается вручную, записи добавляются в общий файл расширенного аудита, который должен быть включён предыдущей командой.

Команда для включения расширенного аудита ошибок на контроллере домена:

dsconf -D "cn=Directory Manager" -w "ПАРОЛЬ_АДМИНИСТРАТОРА" ldap://alddc1.ald. ,→lan config replace nsslapd-auditfaillog-logging-enabled=on

Для включения записи в журнал аудита основных расширенных атрибутов операций необходимо добавить в конфигурационный файл службы каталога специальную запись с помощью команды:

Примечание

Данная команда должна быть введена без переносов строк.

dsconf -D "cn=Directory Manager" -w "ПАРОЛЬ_АДМИНИСТРАТОРА" ldap://alddc1.ald.lan config replace nsslapd-auditlog-display-attrs=loginShell,krbExtraData,krbLastPwdChange,krbPasswordExpiration, x-ald-user-mac,uid,displayName,initials,gecos,sn,homeDirectory,mail,krbPrincipalName,krbCanonicalName,givenName,rbtamiddlename,street,l,st,postalCode,c,employeeNumber,telephoneNumber,title,rbtadp,rbtaou,entyusn,modifyTimestamp,modifiersName,objectClass,ipaNTSecutityIdentifier,cn,creatorsName,createTimestamp,modifyTimestamp,nsUniqueId,ipaUniqueId,parentid,entryid,uidNumber,gidNumber,entryUUID,dsEntryDN,entrydn

Расширенный аудит безопасности включается вручную, после чего станет доступен файл журнала аудита событий безопасности /var/log/dirsrv/slapd-ALDPRO-LAN/security.

Команда для включения аудита безопасности на контроллере домена:

dsconf -D "cn=Directory Manager" -w "ПАРОЛЬ_АДМИНИСТРАТОРА" ldap://alddc1.ald. ,→lan config replace nsslapd-securitylog-logging-enabled=on

Примечание

Для того, чтобы журналы событий не заполнили полностью дисковое пространство, администратору необходимо настроить ротацию журналов на контроллерах домена и сервере аудита (смотри раздел).

После выполнения необходимых настроек службы каталога для журналирования событий с необходимым в каждом конкретном случае уровнем детальности, требуется провести настройку службы syslog-ng для перенаправления с её помощью информации на сервер аудита из логов службы каталога.

Для предварительной настройки службы syslog-ng на контроллере домена необходимо:

  1. Создать дополнительный каталог /etc/syslog-ng/siem.

  2. В файле конфигурации /etc/syslog-ng/syslog-ng.conf добавить строку для подключения конфигураций службы:

@include "/etc/syslog-ng/siem/*.conf"

Для выполнения настройки службы syslog-ng для пересылки журналов службы каталога на контроллере домена необходимо выполнить следующую последовательность действий (создать набор путей журналов):

  1. Настроить единую точку пересылки журналов на сервер аудита в службе syslog-ng.

  2. Настроить перенаправление журнала доступа службы каталога в точку пересылки журналов в службе syslog-ng.

  3. Настроить перенаправление журнала аудита службы каталога в точку пересылки журналов в службе syslog-ng.

  4. Настроить перенаправление журнала ошибок службы каталога в точку пересылки журналов в службе syslog-ng.

  5. Настроить перенаправление журнала событий безопасности службы каталога в точку пересылки журналов в службе syslog-ng.

Для настройки точки пересылки журналов в службе syslog-ng необходимо создать файл конфигурации /etc/syslog-ng/siem/destination.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию (IP-адрес сервера аудита из состава домена):

destination d_audit { network("100.100.100.100" transport("tcp") port(514) flags(syslog,→protocol) template("${ISODATE} ${HOST} ${MESSAGE} ${TAGS}\n"));
};

Где 100.100.100.100 — IP-адрес компьютера с развернутой подсистемой аудита.

Примечание

При настройке пересылки различных журналов в один и тот же пункт назначения (destination) в службе syslog-ng возникает ошибка дубликатов. Для устранения данной ошибки можно воспользоваться директивой @define allow-config-dups 1, которую необходимо добавить в начало конфигурационного файла /etc/syslog-ng/syslog-ng.conf.

Данную директиву необходимо применять с осторожностью, поскольку, если дубликаты пунктов назначения содержат различные настройки, то во всех случаях будет использоваться последний встреченный syslog-ng вариант. Что может привести к нежелательному поведению для тех источников, которые были настроены с помощью первого из дубликатов. Администратору рекомендуется разобраться с настройкой пунктов назначения и не использовать директиву @define allow-config-dups 1 без детального понимания ее необходимости.

Для настройки фильтрации записей в журнале доступа к службе каталога на КД и последующего перенаправления отфильтрованных записей в точку пересылки журналов в службе syslog-ng необходимо создать файл конфигурации /etc/syslog-ng/siem/output-dirsrv-access.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

source s_access_dirsrv {
   file("/var/log/dirsrv/slapd-ALDPRO-LAN/access" follow-freq(l) flags(no-parse));
};

filter f_access_dirsrv {
   match("MOD" value("MESSAGE")) or match("DEL" value("MESSAGE")) or match( _"ADD" value("MESSAGE")) or match("SRCH" value("MESSAGE")) or match(_"connection from" value("MESSAGE")) or match("RESULT" value("MESSAGE"));
};

log {
   source(s_access_dirsrv);
   filter(f_access_dirsrv);
   rewrite
   {
           set-tag("tag-dirsrv-access");
   };
   destination(d_audit);
};

Для настройки перенаправления журнала аудита к службе каталога в точку пересылки журналов в службе syslog-ng необходимо создать файл конфигурации /etc/syslog-ng/siem/output-dirsrv-audit.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

source s_audit_dirsrv {
    file("/var/log/dirsrv/slapd-ALDPRO-LAN/audit" follow-freq(1) flags(no-parse) );
};

log {
    source(s_audit_dirsrv);
    rewrite
    {
    set-tag("tag-dirsrv-audit");
    };
    destination(d_audit);
};

Поскольку информация в журнал аудита (и в журнал ошибок аудита) службы каталога попадает в формате ключ: значение\n и к одному событию может быть достаточно большое количество таких пар, то для объединения всех таких записей от одного события в одну строку (flags(no-multi-line)) можно использовать следующий файл конфигурации (/etc/syslog-ng/siem/output-dirsrv-audit.conf):

source s_audit_dirsrv {
    file("/var/log/dirsrv/slapd-ALDPRO-LAN/audit" multi-line-mode(prefix-suffix) multi-line-prefix("time: [0-9]+") multi-line-suffix("\n$") flags(no-multi-line) follow-freq(1));
};

log {
    source(s_audit_dirsrv);
    rewrite
    {
           subst("^", "time: ", value("MESSAGE"));
           set-tag("tag-dirsrv-audit");
    };
    destination(d_audit);
};

Для настройки перенаправления журнала ошибок службы каталога в точку пересылки журналов в службе syslog-ng необходимо создать файл конфигурации /etc/syslog-ng/siem/output-dirsrv-error.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

source s_errors_dirsrv {
    file("/var/log/dirsrv/slapd-ALDPRO-LAN/errors" follow-freq(1) flags(no-parse));
};

log {
    source(s_errors_dirsrv);
    rewrite
    {
           set-tag("tag-dirsrv-error");
    };
    destination(d_audit);
};

Для настройки перенаправления журнала событий безопасности службы каталога в точку пересылки журналов в службе syslog-ng необходимо создать файл конфигурации /etc/syslog-ng/siem/output-dirsrv-security.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

source s_errors_dirsrv {
    file("/var/log/dirsrv/slapd-ALDPRO-LAN/security" follow-freq(1) flags(no-parse));
};

log {
    source(s_errors_dirsrv);
    rewrite
    {
           set-tag("tag-dirsrv-security");
    };
    destination(d_audit);
};

Функция subst используется в файлах конфигурации двумя способами:

  • заменяет первый указанный параметр (в данном случае это строка с наименованием тэга и источника) вторым параметром (в данном случае это пустая строка) внутри значения, указанного третьим параметром (в данном случае это текст сообщения соответствующего журнала событий службы каталога);

  • заменяет первый указанный параметр (в данном случае это регулярное выражение, следовательно заменяется строка, которая соответствует этому регулярному выражению) вторым параметром (в данном случае это пустая строка), затем идет указание типа регулярного выражения (в данном случае это type``("``pcre»), где pcre — perl compartible regular expression), внутри значения, указанного четвертым параметром (в данном случае это текст сообщения соответствующего журнала событий службы каталога).

Более подробную информацию по конфигурации службы syslog-ng можно посмотреть в справке операционной системы Astra Linux с помощью команды man syslog-ng.conf.

Во всех примерах наименования папок и файлов могут задаваться администратором самостоятельно и находиться в других каталогах операционной системы в соответствии с настройками службы syslog-ng.

Значение параметра set-tag для каждого типа лога может быть любым, но именно это значение необходимо использовать при настройки перенаправления событий в соответствующий журнал на сервере аудита из состава домена.

После выполнения действий необходимо перезапустить службу syslog-ng на контроллере домена с помощью команды:

systemctl restart syslog-ng

Настройка журналирования событий службы каталога на сервере аудита#

После выполнения необходимых настроек на контроллере домена, требуется провести настройку службы syslog-ng на сервере аудита из состава домена для сбора с помощью нее информации с контроллера домена.

Для предварительной настройки службы syslog-ng на сервере аудита необходимо:

  1. Создать дополнительный каталог /etc/syslog-ng/siem;

  2. В файле конфигурации ``/etc/syslog-ng/syslog-ng.conf ``добавить строку для подключения конфигураций службы:

@include "/etc/syslog-ng/siem/*.conf"

Для настройки службы syslog-ng на сервере аудита необходимо выполнить следующую последовательность действий:

  1. Настроить точку сбора журналов в службе syslog-ng.

  2. Настроить перенаправление по тегу журнала доступа службы каталога в журнал службы syslog-ng.

  3. Настроить перенаправление по тегу журнала аудита службы каталога в журнал службы syslog-ng.

  4. Настроить перенаправление по тегу журнала ошибок службы каталога в журнал службы syslog-ng.

  5. Настроить перенаправление по тегу журнала событий безопасности службы каталога в журнал службы syslog-ng.

Перед выполнением следующего пункта необходимо убедиться, что источник source s_net не был создан предварительно (например при настройке сбора журналов на сервере аудита из портала управления). Для этого необходимо осуществить поиск подстроки source s_net по всем каталогам в файлах *.conf, в которых служба syslog-ng читает файлы конфигурации (пути к каталогам начинаются с символа @ и чаще всего находятся в файле /etc/syslog-ng/syslog-ng.conf). Если такой источник был найден и совпадает с приведенным ниже, то следующий пункт по созданию файла /etc/syslog-ng/siem/source.conf не выполняется. Если же источник s_net не был найден, то тогда для настройки точки сбора журналов службы каталогов в службе syslog-ng на сервер аудита необходимо создать файл конфигурации /etc/syslog-ng/siem/source.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

source s_net {
  network(
      transport("tcp")
      port(514)
      flags(syslog-protocol)
      log_iw_size(65536)
      max_connections(1000)
      );
};

Для настройки перенаправления по тэгу журнала доступа к службе каталога в журнал службы syslog-ng необходимо создать файл конфигурации этого журнала /etc/syslog-ng/siem/input-dirsrv-access.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

destination d_access_dirsrv_file {
    file("/var/log/aldpro/access_dirsrv.log" template("${MESSAGE}\n"));
};

filter f_dirsrv_access {
    message("tag-dirsrv-access");
};

log {
    source(s_net);
    filter(f_dirsrv_access);
    rewrite {
        subst(" tag-dirsrv-access,.source.s_access_dirsrv", "", value("MESSAGE"));
    };
    destination(d_access_dirsrv_file);
};

Для настройки перенаправления по тэгу журнала аудита службы каталога в журнал службы syslog-ng необходимо создать файл конфигурации этого журнала /etc/syslog-ng/siem/input-dirsrv-audit.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

destination d_audit_dirsrv_file {
    file("/var/log/aldpro/audit_dirsrv.log" template("${MESSAGE}\n"));
};

filter f_dirsrv_audit {
    message(' tag-dirsrv-audit");
};

log {
    source(s_net);
    filter(f_dirsrv_audit);
    rewrite {
        subst(" tag-dirsrv-audit,.source.s_audit_dirsrv", value("MESSAGE));
    };
    destination(d_audit_dirsrv_file);
};

Для настройки перенаправления по тэгу журнала ошибок в службе каталога в журнал службы syslog-ng необходимо создать файл конфигурации этого журнала /etc/syslog-ng/siem/input-dirsrv-error.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

destination d_error_dirsrv_file {
    file("/var/log/aldpro/error_dirsrv.log" template("${MESSAGE}\n"));
};

filter f_dirsrv_error {
    message("tag-dirsrv-error");
};

log {
    source(s_net);
    filter(f_dirsrv_error);
    rewrite {
        subst(" tag-dirsrv-error,.source.s_errors_dirsrv", "", value("MESSAGE"));
    };
    destination(d_error_dirsrv_file);
};

Для настройки перенаправления по тэгу журнала событий безопасности в службе каталога в журнал службы syslog-ng необходимо создать файл конфигурации этого журнала /etc/syslog-ng/siem/input-dirsrv-security.conf с правами на чтение всем пользователям и внести в этот файл следующую информацию:

destination d_security_dirsrv_file {
    file("/var/log/aldpro/security_dirsrv.log" template("${MESSAGE}\n"));
};

filter f_dirsrv_security {
    message("tag-dirsrv-security");
};

log {
    source(s_net);
    filter(f_dirsrv_security);
    rewrite {
        subst(" tag-dirsrv-security,.source.s_security_dirsrv", "", value("MESSAGE"));
    };
    destination(d_security_dirsrv_file);
};

Во всех примерах в данном разделе наименования папок и файлов задаются администратором самостоятельно и могут находиться в других каталогах операционной системы в соответствии с необходимыми администратору настройками. Также значение параметра message внутри фильтра (filter) должно совпадать с соответствующим параметром set-tag для каждого типа лога.

После выполнения действий необходимо перезапустить службу syslog-ng на сервере аудита с помощью следующей команды:

systemctl restart syslog-ng