Аудит Эллес

Эллес поддерживает логирование событий аутентификации и авторизации, а также изменений в базе данных в рамках подкатегорий событий расширенной политики аудита.

Это позволяет фиксировать, например, успешные и неуспешные запросы аутентификации, события сброса пароля, операции изменения, удаления, создания объектов службы каталогов и т. п.

Данная возможность настраивается на уровне отдельного сервера Эллес, то есть в логи попадают только события, относящиеся к данному конкретному серверу.

При работе в конфигурации, предназначенной для рядового участника домена, Эллес может формировать некоторую отладочную информацию. Однако полноценная поддержка всех возможностей логирования доступна только в конфигурации для роли контроллера домена.

Регистрация событий выполняется в соответствии с:

Для мониторинга лог-файлов и выполнения определенных действий на основе результатов их анализа могут использоваться дополнительные утилиты (например, rsyslog или syslog-ng).

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

Регистрация событий аутентификации и авторизации

Эллес поддерживает регистрацию успешных и неуспешных событий аутентификации, а также успешных событий авторизации.

В контексте использования Эллес под аутентификацией понимается проверка комбинации имени пользователя и пароля, а под авторизацией — начало сессии.

Следующие примеры показывают, в каких случаях Эллес регистрирует события аутентификации и авторизации:

  1. При входе пользователя в домен центр распространения ключей Kerberos (KDC), работающий на контроллере домена, фиксирует событие аутентификации.

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

  2. При подключении к общему ресурсу на участнике домена:

    • участник домена регистрирует событие авторизации;

    • при использовании аутентификации Kerberos центр распространения ключей (KDC) на контроллере домена Эллес фиксирует событие аутентификации;

      В случае использования аутентификации Kerberos за нее отвечает KDC. Поэтому Эллес на участнике домена AD не может регистрировать такое событие аутентификации.

    • при использовании аутентификации через NT LAN Manager (NTLM) участник домена регистрирует событие аутентификации.

    При использовании NTLM всегда регистрируется пара событий — событие аутентификации и событие авторизации. Однако при использовании Kerberos регистрируется только одно событие на контроллере домена в момент выдачи билета TGT (Ticket-Granting Ticket). После этого каждый раз при получении доступа к какой-либо службе регистрируется событие авторизации.

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

  • auth_audit — регистрация в стандартном формате;

  • auth_json_audit — регистрация в формате JSON.

Пример включения ведения журналов аудита для событий аутентификации и авторизации в обоих форматах:

log level = 1 auth_audit:3 auth_json_audit:3

Пример включения ведения журналов аудита с указанием файла:

log level = 1 auth_json_audit:3@/app/log/inno-samba/auth_json_audit.log

Для классов auth_audit и auth_audit_json доступны следующие уровни логирования (каждый последующий уровень включает все предшествующие ему):

  • 2 — неуспешные события аутентификации;

  • 3 — успешные события аутентификации;

  • 4 — успешные события авторизации;

  • 5 — успешные анонимные события аутентификации и авторизации.

Регистрация изменений в базе данных

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

  • dsdb_audit — регистрация в стандартном формате;

  • dsdb_json_audit — регистрация в формате JSON.

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

  • события, связанные с изменениями в учетных записях компьютеров:

    • dsdb_computer_audit — регистрация в стандартном формате;

    • dsdb_computer_json_audit — регистрация в формате JSON;

  • события, связанные с изменениями в группах безопасности и распространения:

    • dsdb_group_audit — регистрация в стандартном формате;

    • dsdb_group_json_audit — регистрация в формате JSON;

  • события, связанные с изменениями в учетных записях пользователей:

    • dsdb_user_audit — регистрация в стандартном формате;

    • dsdb_user_json_audit — регистрация в формате JSON;

  • события изменения и сброса паролей:

    • dsdb_password_audit — регистрация в стандартном формате;

    • dsdb_password_json_audit — регистрация в формате JSON.

    Каждое изменение пароля также регистрируется как событие аутентификации через классы логирования auth_audit и auth_audit_json.

Для классов dsdb_audit, dsdb_json_audit, dsdb_computer_audit, dsdb_computer_json_audit, dsdb_group_audit, dsdb_group_json_audit, dsdb_user_audit, dsdb_user_json_audit, dsdb_password_audit и dsdb_password_json_audit доступны следующие уровни логирования:

  • 0–4 — регистрация событий в рамках классов определяется настройками соответствующих политик аудита (см. раздел «Управление групповыми политиками безопасности и аудита»);

  • 5 — регистрация изменений, внесенных в базу данных, включая изменения, полученные через механизм репликации с другого контроллера домена, с учетом настроек, заданных соответствующими политиками аудита.

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

  • dsdb_transaction_audit — регистрация в стандартном формате;

  • dsdb_transaction_json_audit — регистрация в формате JSON.

Для классов dsdb_transaction_audit и dsdb_transaction_json доступны следующие уровни логирования:

  • 5 — неуспешная транзакция (откат);

  • 10 — успешная транзакция (фиксация).

В Эллес возможны откаты транзакций. Они редко отражают что-либо помимо неуспешного завершения отдельной операции (например, в результате попытки создания записи, которая конфликтует с существующими). Записи о транзакции формируются и фиксируются в системных логах до ее завершения. Такое логирование информации о транзакциях позволяет выявлять операции с паролями и операции по внесению изменении в базе данных, которые закончились откатом и фактически не были выполнены.

По умолчанию для всех классов отладки установлен уровень логирования 0:

log level = 0

Пример задания уровней логирования для отдельных классов отладки:

log level = 1 dsdb_json_audit:5 dsdb_password_json_audit:5 dsdb_group_json_audit:5 dsdb_transaction_json_audit:5

Форматы ведения логов

По умолчанию Эллес использует стандартный формат ведения логов. Его использование не требует наличия каких-либо дополнительных библиотек.

Пример записи в логе о событии успешного добавления объекта в базу данных на контроллере домена Эллес в стандартном формате:

DSDB Change [Add] at [Fri, 12 Dec 2025 19:15:58.002749 MSK] status [Success] remote host [ipv4:127.0.0.1:48294] SID [S-1-5-21-330167
8744-2869375362-4271825871-500] DN [CN=User1,CN=Users,DC=ELLES,DC=INNO,DC=TECH] attributes [objectClass [user] sAMAccountName [User1] userPrincipalName [User1@ELLES.INNO.TECH]]

Также автоматически поддерживается ведение логов в формате JSON.

Пример записи в логе о событии успешного добавления объекта в базу данных на контроллере домена Эллес в формате JSON:

{"timestamp": "2025-12-12T19:15:58.002868+0300", "type": "dsdbChange", "dsdbChange": {"version": {"major": 1, "minor": 0}, "eventId"
: 4662, "statusCode": 0, "status": "Success", "operation": "Add", "remoteAddress": "ipv4:127.0.0.1:48294", "performedAsSystem": false, "userSid": "S-1-5-21-3301678744-2869375362-4271825871
-500", "dn": "CN=User1,CN=Users,DC=ELLES,DC=INNO,DC=TECH", "transactionId": "6402ecba-3e75-462f-9fba-708c5ef14b42", "sessionId": "85655e35-5664-49e0-9bd9-adc13c32cffb", "attributes": {"objectClass
": {"actions": [{"action": "add", "values": [{"value": "user"}]}]}, "sAMAccountName": {"actions": [{"action": "add", "values": [{"value": "User1"}]}]}, "userPrincipalName": {"actions":
[{"action": "add", "values": [{"value": "User1@ELLES.INNO.TECH"}]}]}}}}

Пример записи в логе о событии получения запроса на авторизацию по протоколу NTLM:

{"Authorization": {"account": "TA_u_1766676824751", "accountFlags": "0x00000010", "authType": "NTLMSSP", "clientPolicyAccessCheck": null, "domain": "ROOT", "eventId": 4776, "localAddress": "ipv4:10.19.0.195:389", "logonServer": "ELLES-DC1", "remoteAddress": "ipv4:10.19.0.193:54402", "serverPolicyAccessCheck": null, "serviceDescription": "LDAP", "sessionId": "9dfa6d74-d960-4386-9d4a-4f941f28bea7", "sid": "S-1-5-21-2890644178-987475559-4207150248-1185", "transportProtection": "SEAL", "version": {"major": 1, "minor": 3}}, "timestamp": "2025-12-25T18:34:00.964282+0300", "type": "Authorization"}

Для управления форматом основные группы событий поддерживают два класса отладки — класс для ведения записи в стандартном формате (например, auth_audit) и класс для ведения записи в формате JSON (например, auth_json_audit).

Настройка отправки событий в централизованную систему мониторинга

Для отправки данных аудита Эллес в централизованную систему мониторинга событий безопасности (Security Information and Event Management, SIEM) могут использоваться утилиты rsyslog и syslog-ng.

Пример настройки отправки событий аудита в централизованную систему:

  1. Добавьте классы логирования для аудита требуемых событий с указанием уровней логирования в значение параметра log level в файле /app/inno-samba/etc/smb.conf.

    Например:

    log level = 1 \
            auth_json_audit:5 \
            dsdb_json_audit:5 \
            dsdb_password_json_audit:5 \
            dsdb_group_json_audit:5 \
            dsdb_transaction_json_audit:5
  2. При использовании rsyslog:

    • убедитесь, что соответствующий сервис активен и работает в системе:

      sudo systemctl status rsyslog.service
    • создайте файл с конфигурацией для rsyslog, например — /etc/rsyslog.d/samba_audit.conf;

    • добавьте в файл параметры для отбора и отправки событий аудита в централизованную систему; например:

      module(load="imfile" PollingInterval="10")
      
      input(type="imfile"
            File="/app/inno-samba/var/log.samba"
            Tag="samba-audit"
            Severity="info"
            Facility="local3")
      
      if ($syslogfacility-text == "local3" and ($msg contains '{"timestamp": "')) then {
          action(type="omfwd" target="10.0.18.132" port="514" protocol="tcp")
      }
    • перезапустите сервис rsyslog:

      sudo systemctl restart rsyslog.service
  3. При использовании syslog-ng:

    • убедитесь, что соответствующий сервис активен и работает в системе:

      sudo systemctl status syslog-ng.service
    • создайте файл с конфигурацией для syslog-ng, например — /etc/syslog-ng/conf.d/samba_audit.conf;

    • добавьте в файл требуемые настройки; например:

      source samba_src {
             file("/app/inno-samba/var/log.samba" default-facility(local3) default-priority(notice) flags(no-parse));
      };
      filter samba_fltr {
             match("dsdbChange" value("MESSAGE")) or match("Authorization" value("MESSAGE")) or match("Authentication" value("MESSAGE")) or match("passwordChange" value("MESSAGE"));
      };
      rewrite samba_rw {
             subst("{\"timestamp\":", "samba_audit: {\"timestamp\":", value("MESSAGE"), flags("global"));
      };
      destination samba_dest {
             tcp("10.0.18.132" port(514));
      };
      log {
             source(samba_src);
             filter(samba_fltr);
             rewrite(samba_rw);
             destination(samba_dest);
      };
    • перезапустите сервис syslog-ng:

      sudo systemctl restart syslog-ng
  4. Настройте обработку событий аудита на стороне централизованной системы мониторинга.

Анализ записей в логах в формате JSON

Каждое событие описывается определенным набором атрибутов, соответствующим его типу.

В общем случае запись в формате JSON состоит из следующих базовых атрибутов (для удобства восприятия в примере ниже добавлены переносы на новую строку и отступы; реальные записи всегда форматируются в виде одной строки):

{
  "timestamp": 2023-01-12T22:50:50.000000+00:00,
  "type": one of "Authentication", "Authorization", "dsdbChange", "dsdbTransaction", "passwordChange", "replicatedUpdate", "groupChange", "computerChange", "userChange", "UserAccountKerberosPreAuthChange"
  type: { data }
}

Атрибут type указывает на таблицу в базе данных.

Далее приводится описание атрибутов для основных таблиц, соответствующих типам событий.

Некоторые атрибуты могут присутствовать в записях даже в том случае, если они неприменимы. Например, если Netlogon не используется (в соответствии с serviceDescription), атрибут netlogonComputer будет иметь значение null, а атрибут netlogonNegotiateFlags — значение 0x00000000. Прочие атрибуты, относящиеся к Netlogon, будут иметь аналогичные пустые значения.

Общие атрибуты

Общим для всех записей является атрибут version, состоящий из двух частей:

  • мажорная версия, которая увеличивается при изменении значения полей;

  • минорная версия, которая увеличивается при добавлении поля.

Изменения в перечне возможных значений обычно не приводят к изменению версии. Это распространяется на все данные, предоставляемые клиентами. Также это относится, например, к атрибуту passwordType, набор поддерживаемых форматов которого может меняться с течением времени без изменения версии в JSON.

Атрибуты событий аутентификации (Authentication)

Для описания событий аутентификации в JSON используется следующий набор атрибутов:

  • authDescription — тип аутентификации; возможные значения:

    • simple bind/TLS, simple bind — простая привязка LDAP с каналом TLS или без него;

    • guest — анонимный запрос SMB1;

    • bare-NTLM — запрос SMB с использованием протокола NT1;

    • plaintext — запрос SMB1 в формате обычного текста;

    • interactive — аналог физического входа на конкретной рабочей станции;

    • network — проверка подлинности запроса/ответа по сети;

    • Unknown Auth Description, Unknown Pre-authentication — события KDC;

    • ServerAuthenticate — запрос/ответ компьютера при входе с использованием Netlogon;

    • LDAP Modify — смена пароля;

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

  • becameDomain — имя домена, в который выполнен вход;

  • becameSid — идентификатор безопасности (SID) учетной записи, прошедшей аутентификацию;

  • clientAccount — имя учетной записи, представленное клиентом;

  • clientDomain — имя домена, предоставленное клиентом;

  • duration — время (в микросекундах), в течение которого выполнялась аутентификация (вплоть до момента записи значения в поле);

  • eventId — идентификатор события Windows;

  • localAddress — адрес сервера и используемый порт;

  • logonId — сформированный случайным образом 64-битный идентификатор, предназначенный для отслеживания событий входа на различных этапах;

  • logonType — тип входа Windows; возможные значения для Эллес:

    • 2 — интерактивный (то есть вход выполняется на текущем компьютере);

    • 3 — сетевой (то есть вход выполняется по сети);

    • 8 — сетевой с использованием нехешированных паролей (то есть вход выполняется по сети и при этом пароль передается в пакет проверки подлинности в его нехешированной форме);

  • mappedAccount — имя учетной записи клиента, преобразованное в имя учетной записи AD;

  • mappedDomain — имя домена клиента, преобразованное в имя домена AD;

  • netlogonComputer — имя компьютера, заявленное при аутентификации через Netlogon RPC;

  • netlogonNegotiateFlags — флаги Netlogon, согласуемые в процессе взаимодействия сервера и клиента (см. описание);

  • netlogonSecureChannelType — тип безопасного канала, используемого для входа по протоколу Netlogon (см. описание);

  • netlogonTrustAccount — учетная запись, используемая для аутентификации по протоколу Netlogon;

  • netlogonTrustAccountSid — идентификатор безопасности (SID) учетной записи, используемой для аутентификации по протоколу Netlogon;

  • passwordType — тип алгоритма/протокола пароля (например, HMAC-SHA256, NTLMv2, arcfour-hmac-md5);

  • remoteAddress — заявленный адрес (и порт) удаленного клиента;

  • serviceDescription — тип службы (например, LDAP, SMB2, NETLOGON);

  • status — сообщение NT STATUS;

    В случае успешного завершения аутентификации атрибут имеет значение NT_STATUS_OK.

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

    • NT_STATUS_ACCESS_DENIED — доступ запрещен без указания причины (наиболее вероятная причина — некорректные учетные данные);

    • NT_STATUS_WRONG_PASSWORD — неверный пароль;

    • NT_STATUS_NO_SUCH_USER — пользователь не существует;

    • NT_STATUS_NO_SUCH_DOMAIN — домен не существует;

    • NT_STATUS_ACCOUNT_RESTRICTION — учетная запись защищена либо ее использование ограниченно иным образом;

    • NT_STATUS_DOWNGRADE_DETECTED — клиент, возможно, предпринимает какие-либо действия для использования некорректных способов аутентификации;

    • NT_STATUS_INVALID_SERVER_STATE — сервер, возможно, используется не по назначению;

    • NT_STATUS_INVALID_INFO_CLASS — сервер, возможно, используется не по назначению;

    • NT_STATUS_INVALID_PARAMETER — клиент получил некорректные данные;

    • NT_STATUS_NETWORK_CREDENTIAL_CONFLICT — в процессе входа произошли изменения; возможно, имеет место гонка в рамках изменения учетных данных либо при согласовании данных шифрования возникла ошибка;

    • NT_STATUS_NOT_IMPLEMENTED — тип аутентификации не реализован в Эллес;

    • NT_STATUS_NOT_SUPPORTED — тип аутентификации либо способ его использования со стороны клиента не поддерживается Эллес;

    • NT_STATUS_INVALID_SYSTEM_SERVICE — выбранная служба аутентификации недоступна;

    • NT_STATUS_INTERNAL_ERROR — сервер не может завершить выполнение аутентификации по причине внутренней ошибки;

    • NT_STATUS_NO_MEMORY — сервер не может завершить выполнение аутентификации по причине нехватки памяти.

  • version — версия;

  • workstation — заявленное имя клиентской рабочей станции.

Атрибуты событий авторизации (Authorization)

Для описания успешных событий авторизации в JSON используется следующий набор атрибутов:

  • account — имя авторизуемой учетной записи;

  • accountFlags — битовое поле атрибутов учетной записи (см. описание);

  • authType — тип авторизации (например, krb5, NTLMSSP, simple bind);

  • domain — имя домена;

  • localAddress — адрес сервера и используемый порт;

  • logonServer — сервер, на котором была выполнена аутентификация учетной записи;

  • remoteAddress — адрес удаленного клиента;

  • serviceDescription — тип службы (например, LDAP, SMB2, DCE/RPC);

  • sessionId — уникальный идентификатор (GUID) сессии;

  • sid — идентификатор безопасности (SID) авторизуемой учетной записи;

  • transportProtection — тип защиты, используемой в канале (например, SMB, TLS, SEAL, NONE);

  • type — тип события (Authorization);

  • version — версия.

Атрибуты событий, связанных с изменениями в базе данных (dsdbChange) и объектах службы каталогов (computerChange, groupChange, userChange)

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

  • attributes — список изменяемых атрибутов;

    Значение данного поля может рассматриваться в качестве аналога описания изменения в формате LDIF.

    Например:

    • пример описания изменения в JSON:

      "dsdbChange": {
        "operation": "Modify",
        "dn": "@SAMBA_DSDB",
        "attributes": {
         "backupDate": {"actions": [
           {"action": "add",
            "values": [
              {"value": "2023-01-14T09-43-55.333333"}
             ]
           }
         ]
        }}}
    • описание того же изменения в LDIF:

      dn: @SAMBA_DSDB
      changetype: modify
      add: backupDate
      backupDate: 2023-01-14T09-43-55.333333

    Для атрибутов, значения которых являются секретами, указывается тег: redacted: true.

    Если длина значения превышает 1024 байт, часть, выходящая за пределы ограничения, отсекается. Вместо нее отображаются …​ и флаг truncated: true. Например:

    "values": [
      {"value": "It was the best of times, it was the worst of times, it was the age...",
       truncated: true
      }
    ]

    В блоке attributes могут отображаться следующие атрибуты:

    • action — тип операции по изменению LDAP; возможные значения: add, replace и delete для всех типов записей; Removed, Added, PrimaryGroup для типа записей groupChange;

    • redacted — признак значения-секрета;

    • values — список значений, к которым применяется операция;

      Каждый элемент представляет собой отдельный объект, содержащий значение либо ключ base64 (если значение содержит непечатаемые символы).

    • values[].value — данные, которые могут быть усечены и/или кодированы в формате Base64;

    • values[].base64 — признак того, что данные кодированы в формате Base64;

    • values[].truncated — признак того, что данные усечены до 1024 байт.

  • dn — уникальное составное имя (DN) изменяемого объекта;

  • operation — операция LDAP, соответствующая выполняемому действию по изменению данных; возможные значения: Modify, Add, Delete;

  • performedAsSystem — признак системного или пользовательского действия; возможные значения:

    • true — действие выполняется Эллес с использованием системной учетной записи;

    • false — действие выполняется от имени пользователя;

  • remoteAddress — адрес пользователя, инициировавшего операцию;

  • sessionId — уникальный идентификатор (GUID) сессии аутентификации;

  • status — строка, указывающая на успешное завершение действия или невозможность его выполнения по той или иной причине; выводимая информация соответствует кодам ответа LDAP, которые фиксируются в атрибуте statusCode;

    Примеры значений:

    • "Success";

    • "Operations error";

    • "Protocol error";

    • "Time limit exceeded";

    • "Size limit exceeded";

    • "Unsupported critical extension";

    • "No such attribute";

    • "Undefined attribute type";

    • "Constraint violation";

    • "Attribute or value exists";

    • "Invalid attribute syntax";

    • "No such object";

    • "Alias problem";

    • "Invalid DN syntax";

    • "insufficient access rights";

    • "Unwilling to perform";

    • "Naming violation";

    • "Object class violation";

    • "Not allowed on non-leaf";

    • "Not allowed on RDN";

    • "Entry already exists".

  • числовой код, соответствующий статусу в атрибуте status — в общем случае в качестве значения атрибута приводится код ответа LDAP в соответствии с RFC 4511;

  • transactionId — уникальный идентификатор (GUID) транзакции, в рамках которой выполняется действие (задается только в том случае, если действие является частью транзакции);

  • userSid — идентификатор безопасности (SID) пользователя, инициировавшего операцию;

  • version — версия;

  • type — тип события (dsdbChange);

  • eventId события Windows:

    • 4720 соответствует событию создания учетной записи пользователя («Учетная запись пользователя создана» / "A user account was created");

    • 4726 соответствует событию удаления учетной записи пользователя («Учетная запись пользователя удалена» / "A user account was deleted");

    • 4727 соответствует событию создания глобальной группы безопасности («Создана глобальная группа с включенной безопасностью» / "A security-enabled global group was created");

    • 4728 соответствует событию добавления пользователя в глобальную группу безопасности («Добавлен пользователь к глобальной группе с включенной безопасностью» / "A member was added to a security-enabled global group");

    • 4729 соответствует событию удаления пользователя из глобальной группы безопасности («Удален пользователь из глобальной группы с включенной безопасностью» / "A member was removed from a security-enabled global group");

    • 4730 соответствует событию удаления глобальной группы безопасности («Удалена глобальная группа с включенной безопасностью» / "A security-enabled global group was deleted");

    • 4731 соответствует событию создания локальной группы безопасности («Создана локальная группа с включенной безопасностью» / "A security-enabled local group was created");

    • 4732 соответствует событию добавления пользователя в локальную группу безопасности («Добавлен пользователь в локальную группу с включенной безопасностью» / "A member was added to a security-enabled local group");

    • 4733 соответствует событию удаления пользователя из локальной группы безопасности («Удален пользователь из локальной группы с включенной безопасностью» / "A member was removed from a security-enabled local group");

    • 4734 соответствует событию удаления локальной группы безопасности («Удалена локальная группа с включенной безопасностью» / "A security-enabled local group was deleted");

    • 4735 соответствует событию изменения локальной группы безопасности («Изменена локальная группа с включенной безопасностью» / "A security-enabled local group was changed");

    • 4737 соответствует событию изменения глобальной группы безопасности («Изменена глобальная группа с включенной безопасностью» / "A security-enabled global group was changed");

    • 4738 соответствует изменения учетной записи пользователя («Изменена учетная запись пользователя» / "A user account was changed");

    • 4740 соответствует событию блокировки учетной записи пользователя («Учетная запись пользователя заблокирована» / "A user account was locked out");

    • 4741 соответствует событию создания учетной записи компьютера («Создана учетная запись компьютера» / "A computer account was created");

    • 4742 соответствует событию изменения учетной записи компьютера («Изменена учетная запись компьютера» / "A computer account was changed");

    • 4743 соответствует событию удаления учетной записи компьютера («Удалена учетная запись компьютера» / "A computer account was deleted");

    • 4744 соответствует событию создания локальной группы («Создана локальная группа с отключенной проверкой безопасности» / "A security-disabled local group was created");

    • 4745 соответствует событию изменения локальной группы («Изменена локальная группа с отключенной проверкой безопасности» / "A security-disabled local group was changed");

    • 4746 соответствует событию добавления пользователя в локальную группу («Добавлен пользователь к локальной группе с отключенной проверкой безопасности» / "A member was added to a security-disabled local group");

    • 4747 соответствует событию удаления пользователя из локальной группы («Удален пользователь из локальной группы с отключенной проверкой безопасности» / "A member was removed from a security-disabled local group");

    • 4748 соответствует событию удаления локальной группы («Удалена локальная группа с отключенной проверкой безопасности» / "A security-disabled local group was deleted");

    • 4749 соответствует событию создания глобальной группы («Создана глобальная группа с отключенной проверкой безопасности» / "A security-disabled global group was created");

    • 4750 соответствует событию изменения глобальной группы («Изменена глобальная группа с отключенной проверкой безопасности» / "A security-disabled global group was changed");

    • 4751 соответствует событию добавления пользователя в глобальную группу («Добавлен пользователь к глобальной группе с отключенной проверкой безопасности» / "A member was added to a security-disabled global group");

    • 4752 соответствует событию удаления пользователя из глобальной группы («Удален пользователь из глобальной группы с отключенной проверкой безопасности» / "A member was removed from a security-disabled global group");

    • 4753 соответствует событию удаления глобальной группы («Удалена глобальная группа с отключенной проверкой безопасности» / "A security-disabled global group was deleted");

    • 4754 соответствует событию создания универсальной группы безопасности («Создана универсальная группа с включенной безопасностью» / "A security-enabled universal group was created");

    • 4755 соответствует событию изменения универсальной группы безопасности («Изменена универсальная группа с включенной безопасностью» / "A security-enabled universal group was changed");

    • 4756 соответствует событию добавления пользователя в универсальную группу безопасности («Добавлен пользователь к универсальной группе с включенной безопасностью» / "A member was added to a security-enabled universal group");

    • 4757 соответствует событию удаления пользователя из универсальной группы безопасности («Удален пользователь из универсальной группы с включенной безопасностью» / "A member was removed from a security-enabled universal group");

    • 4758 соответствует событию удаления универсальной группы безопасности («Удалена универсальная группа с включенной безопасностью» / "A security-enabled universal group was deleted");

    • 4759 соответствует событию создания универсальной группы («Создана универсальная группа с отключенной проверкой безопасности» / "A security-disabled universal group was created");

    • 4760 соответствует событию изменения универсальной группы («Изменена универсальная группа с отключенной проверкой безопасности» / "A security-disabled universal group was changed");

    • 4761 соответствует событию добавления пользователя в универсальную группу («Член добавлен к универсальной группы с отключенной проверкой безопасности» / "A member was added to a security-disabled universal group");

    • 4762 соответствует событию удаления пользователя из универсальной группы («Удален пользователь из универсальной группы с отключенной проверкой безопасности» / "A member was removed from a security-disabled universal group");

    • 4764 соответствует событию изменения типа группы («Изменен тип группы» / "A group’s type was changed").

Атрибуты событий, связанных с транзакциями (dsdbTransaction)

Транзакция объединяет несколько операций по изменению данных. В случае успешного выполнения всех частей транзакции, изменения фиксируются и становятся постоянными. Если какая-либо операция в рамках транзакций завершается неуспешно, все предшествующие операции откатываются, даже если они уже были зарегистрированы в качестве событий в таблице dsdbChange.

Каждой транзакции присваивается уникальный идентификатор (GUID); операции по изменению базы данных, являющиеся частью транзакции, содержат данный идентификатор в качестве значения атрибута transactionId.

Для описания событий, связанных с транзакциями, в JSON используется следующий набор атрибутов:

  • action — текущий этап транзакции; возможные значения: begin, commit, rollback;

  • duration — продолжительность транзакции в микросекундах (вплоть до момента записи значения в поле);

  • transactionId — уникальный идентификатор (GUID) транзакции;

  • version — версия.

Атрибуты событий, связанных с изменением пароля (passwordChange)

Для описания событий, связанных с изменением пароля, в JSON используется следующий набор атрибутов:

  • action — тип операции (смена или сброс пароля); возможные значения: Change, Reset;

  • dn — уникальное составное имя (DN) пользователя, пароль которого изменяется или сбрасывается;

  • eventId — идентификатор события Windows:

    • 4723 соответствует событию смены пароля («Изменен пароль учетной записи» / "An attempt was made to change an account’s password");

    • 4724 соответствует событию сброса пароля («Сброс пароля пользователя» / "An attempt was made to reset an account’s password");

  • remoteAddress — удаленный адрес пользователя, выполняющего операцию;

  • sessionId — идентификатор сессии базы данных;

  • status — текст ошибки;

  • statusCode — код ошибки;

  • transactionId — уникальный идентификатор (GUID) транзакции, в рамках которой выполняется операция (если операция является частью транзакции);

  • userSid — идентификатор безопасности (SID) пользователя, инициировавшего операцию;

  • version — версия.

Атрибуты событий, связанных с управлением предварительной аутентификацией Kerberos (UserAccountKerberosPreAuthChange)

Действия по отключению и включению предварительной аутентификации для учетных записей фиксируются логах Эллес в рамках классов логирования auth_audit и auth_json_audit с уровнем логирования 2 или выше.

Для описания событий используется следующий набор атрибутов:

  • dn — DN учетной записи, для которой было изменено состояние флага UF_DONT_REQUIRE_PREAUTH атрибута userAccountControl;

  • oldValue — значение атрибута userAccountControl до изменения состояния флага UF_DONT_REQUIRE_PREAUTH;

  • newValue — значение атрибута userAccountControl после изменения состояния флага UF_DONT_REQUIRE_PREAUTH;

  • version — версия.

Пример записи в формате JSON:

{
  "timestamp": "2025-06-27T14:20:13.247670+0300",
  "type": "UserAccountKerberosPreAuthChange",
  "UserAccountKerberosPreAuthChange": {
    "version": {
      "major": 1,
      "minor": 0
    },
    "dn": "CN=User1,CN=Users,DC=samdom,DC=example,DC=com",
    "oldValue": 512,
    "newValue": 4194816
  }
}

Соответствие идентификаторов событий Windows и классов логирования

В таблице Табл. 1 приводится список идентификаторов событий Windows и соответствующих им классов логирования с группировкой по подкатегориям событий расширенной политики аудита.

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

Табл. 1. Соответствие идентификаторов событий Windows классам логирования
Идентификатор события Windows Класс логирования Описание

Категория событий «Доступ к службе каталогов (DS)» / "DS Access"

Подкатегория событий «Аудит доступа к службе каталогов» / "Audit Directory Service Access"

4662

dsdb_audit, dsdb_json_audit

Выполнена операция над объектом /
An operation was performed on an object

Категория «Управление учетными записями» / "Audit Account Management"

Подкатегория «Аудит управления учетными записями компьютеров» / "Audit Computer Account Management"

4741

dsdb_computer_audit, dsdb_computer_json_audit

Создана учетная запись компьютера /
A computer account was created

4742

dsdb_computer_audit, dsdb_computer_json_audit

Изменена учетная запись компьютера /
A computer account was changed

4743

dsdb_computer_audit, dsdb_computer_json_audit

Удалена учетная запись компьютера /
A computer account was deleted

Подкатегория событий «Аудит управления группами распространения» / "Audit Distribution Group Management"

4744

dsdb_group_audit, dsdb_group_json_audit

Создана локальная группа с отключенной проверкой безопасности / A security-disabled local group was created

4745

dsdb_group_audit, dsdb_group_json_audit

Изменена локальная группа с отключенной проверкой безопасности / A security-disabled local group was changed

4746

dsdb_group_audit, dsdb_group_json_audit

Добавлен пользователь к локальной группе с отключенной проверкой безопасности / A member was added to a security-disabled local group

4747

dsdb_group_audit, dsdb_group_json_audit

Удален пользователь из локальной группы с отключенной проверкой безопасности / A member was removed from a security-disabled local group

4748

dsdb_group_audit, dsdb_group_json_audit

Удалена локальная группа с отключенной проверкой безопасности / A security-disabled local group was deleted

4749

dsdb_group_audit, dsdb_group_json_audit

Создана глобальная группа с отключенной проверкой безопасности / A security-disabled global group was created

4750

dsdb_group_audit, dsdb_group_json_audit

Изменена глобальная группа с отключенной проверкой безопасности / A security-disabled global group was changed

4751

dsdb_group_audit, dsdb_group_json_audit

Добавлен пользователь к глобальной группе с отключенной проверкой безопасности / A member was added to a security-disabled global group

4752

dsdb_group_audit, dsdb_group_json_audit

Удален пользователь из глобальной группы с отключенной проверкой безопасности / A member was removed from a security-disabled global group

4753

dsdb_group_audit, dsdb_group_json_audit

Удалена глобальная группа с отключенной проверкой безопасности / A security-disabled global group was deleted

4759

dsdb_group_audit, dsdb_group_json_audit

Создана универсальная группа с отключенной проверкой безопасности / A security-disabled universal group was created

4760

dsdb_group_audit, dsdb_group_json_audit

Изменена универсальная группа с отключенной проверкой безопасности / A security-disabled universal group was changed

4761

dsdb_group_audit, dsdb_group_json_audit

Член добавлен к универсальной группы с отключенной проверкой безопасности / A member was added to a security-disabled universal group

4762

dsdb_group_audit, dsdb_group_json_audit

Удален пользователь из универсальной группы с отключенной проверкой безопасности / A member was removed from a security-disabled universal group

4764

dsdb_group_audit, dsdb_group_json_audit

Изменен тип группы / A group’s type was changed

Подкатегория событий «Аудит управления группами безопасности» / "Audit Security Group Management"

4727

dsdb_group_audit, dsdb_group_json_audit

Создана глобальная группа с включенной безопасностью / A security-enabled global group was created

4728

dsdb_group_audit, dsdb_group_json_audit

Добавлен пользователь к глобальной группе с включенной безопасностью / A member was added to a security-enabled global group

4729

dsdb_group_audit, dsdb_group_json_audit

Удален пользователь из глобальной группы с включенной безопасностью / A member was removed from a security-enabled global group

4730

dsdb_group_audit, dsdb_group_json_audit

Удалена глобальная группа с включенной безопасностью / A security-enabled global group was deleted

4731

dsdb_group_audit, dsdb_group_json_audit

Создана локальная группа с включенной безопасностью / A security-enabled local group was created

4732

dsdb_group_audit, dsdb_group_json_audit

Добавлен пользователь в локальную группу с включенной безопасностью / A member was added to a security-enabled local group

4733

dsdb_group_audit, dsdb_group_json_audit

Удален пользователь из локальной группы с включенной безопасностью / A member was removed from a security-enabled local group

4734

dsdb_group_audit, dsdb_group_json_audit

Удалена локальная группа с включенной безопасностью / A security-enabled local group was deleted

4735

dsdb_group_audit, dsdb_group_json_audit

Изменена локальная группа с включенной безопасностью / A security-enabled local group was changed

4737

dsdb_group_audit, dsdb_group_json_audit

Изменена глобальная группа с включенной безопасностью / A security-enabled global group was changed

4754

dsdb_group_audit, dsdb_group_json_audit

Создана универсальная группа с включенной безопасностью / A security-enabled universal group was created

4755

dsdb_group_audit, dsdb_group_json_audit

Изменена универсальная группа с включенной безопасностью / A security-enabled universal group was changed

4756

dsdb_group_audit, dsdb_group_json_audit

Добавлен пользователь к универсальной группе с включенной безопасностью / A member was added to a security-enabled universal group

4757

dsdb_group_audit, dsdb_group_json_audit

Удален пользователь из универсальной группы с включенной безопасностью / A member was removed from a security-enabled universal group

4758

dsdb_group_audit, dsdb_group_json_audit

Удалена универсальная группа с включенной безопасностью / A security-enabled universal group was deleted

4764

dsdb_group_audit, dsdb_group_json_audit

Изменен тип группы / A group’s type was changed

Подкатегория событий «Аудит управления учетными записями пользователей» / "Audit User Account Management"

4720

dsdb_user_audit, dsdb_user_json_audit

Учетная запись пользователя создана / A user account was created

4723

dsdb_password_audit, dsdb_password_json_audit

Изменен пароль учетной записи / An attempt was made to change an account’s password

4724

dsdb_password_audit, dsdb_password_json_audit

Сброс пароля пользователя / An attempt was made to reset an account’s password

4726

dsdb_user_audit, dsdb_user_json_audit

Учетная запись пользователя удалена / A user account was deleted

4738

dsdb_user_audit, dsdb_user_json_audit

Изменена учетная запись пользователя / A user account was changed

4740

dsdb_user_audit, dsdb_user_json_audit

Учетная запись пользователя заблокирована / A user account was locked out