Аудит Эллес
Эллес поддерживает логирование событий аутентификации и авторизации, а также изменений в базе данных в рамках подкатегорий событий расширенной политики аудита.
Это позволяет фиксировать, например, успешные и неуспешные запросы аутентификации, события сброса пароля, операции изменения, удаления, создания объектов службы каталогов и т. п.
Данная возможность настраивается на уровне отдельного сервера Эллес, то есть в логи попадают только события, относящиеся к данному конкретному серверу.
| При работе в конфигурации, предназначенной для рядового участника домена, Эллес может формировать некоторую отладочную информацию. Однако полноценная поддержка всех возможностей логирования доступна только в конфигурации для роли контроллера домена. |
Регистрация событий выполняется в соответствии с:
-
общими настройками логирования (см. описание доступных настроек в разделе «Логирование Эллес»);
-
настройками расширенной политики аудита (см. описание параметров в разделе «Управление групповыми политиками безопасности и аудита»).
Для мониторинга лог-файлов и выполнения определенных действий на основе результатов их анализа могут использоваться дополнительные утилиты (например, rsyslog или syslog-ng).
В данном разделе описываются классы логирования, которые позволяют переопределять уровень логирования и размещение лог-файлов для более гибкой настройки фиксации событий определенных типов.
Регистрация событий аутентификации и авторизации
Эллес поддерживает регистрацию успешных и неуспешных событий аутентификации, а также успешных событий авторизации.
В контексте использования Эллес под аутентификацией понимается проверка комбинации имени пользователя и пароля, а под авторизацией — начало сессии.
Следующие примеры показывают, в каких случаях Эллес регистрирует события аутентификации и авторизации:
-
При входе пользователя в домен центр распространения ключей Kerberos (KDC), работающий на контроллере домена, фиксирует событие аутентификации.
Если в домене работают несколько контроллеров, запрос аутентификации регистрируется только на контроллере, который обслуживает данный запрос.
-
При подключении к общему ресурсу на участнике домена:
-
участник домена регистрирует событие авторизации;
-
при использовании аутентификации 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.
Пример настройки отправки событий аудита в централизованную систему:
-
Добавьте классы логирования для аудита требуемых событий с указанием уровней логирования в значение параметра
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 -
При использовании
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
-
-
При использовании
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
-
-
Настройте обработку событий аудита на стороне централизованной системы мониторинга.
Анализ записей в логах в формате 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 и соответствующих им классов логирования с группировкой по подкатегориям событий расширенной политики аудита.
Для включения/отключения регистрации событий и управления типами регистрируемых событий (успешные/неуспешные) должны использоваться параметры подкатегорий расширенной политики аудита (см. раздел «Управление групповыми политиками безопасности и аудита»).
| Идентификатор события Windows | Класс логирования | Описание |
|---|---|---|
Категория событий «Доступ к службе каталогов (DS)» / "DS Access" |
||
Подкатегория событий «Аудит доступа к службе каталогов» / "Audit Directory Service Access" |
||
4662 |
dsdb_audit, dsdb_json_audit |
Выполнена операция над объектом / |
Категория «Управление учетными записями» / "Audit Account Management" |
||
Подкатегория «Аудит управления учетными записями компьютеров» / "Audit Computer Account Management" |
||
4741 |
dsdb_computer_audit, dsdb_computer_json_audit |
Создана учетная запись компьютера / |
4742 |
dsdb_computer_audit, dsdb_computer_json_audit |
Изменена учетная запись компьютера / |
4743 |
dsdb_computer_audit, dsdb_computer_json_audit |
Удалена учетная запись компьютера / |
Подкатегория событий «Аудит управления группами распространения» / "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 |