ЛОГИРОВАНИЕ СОБЫТИЙ СИСТЕМЫ

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

Полный список событий системы приведен в таблице Список событий системы.

Настройка подсистемы логирования осуществляется с помощью переменных окружения.

Дополнительно существует возможность перенаправить события информационной безопасности (ИБ) на отдельный сервер логирования.

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

# Включить дополнительную информацию в логи событий. Значение по умолчанию false.
LOGS_EXTEND=true

События информационной безопасности.

В системе реализована возможность перенаправить вывод о событиях информационной безопасности в отдельный поток для отправки на отдельный сервер сбора логов. К событиям ИБ относятся логи команд управления пользователями, ролями пользователей, доступом к системе и интеграцией с ActiveDirectory.

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

# Включить вывод логов информационной безопасности в отдельный поток.
LOGS_SECURITY_SPLIT=true

# Указать адрес сервера сбора логов.
LOGS_SECURITY_SERVER_ADDRESS=your_log_srv.domain.org

# При необходимости указать порт сервера сбора логов. По умолчанию 514.
LOGS_SECURITY_SERVER_PORT=5141

# При необходимости указать сетевой протокол передачи логов. По умолчанию UDP.
LOGS_SECURITY_SERVER_PROTOCOL=tcp

# При использовании протокола TCP можно включить автоматическое переподключение к серверу логов. По умолчанию false.
LOGS_SECURITY_SERVER_TCP_RECONNECT=true

# При необходимости включить добавление в логи ИБ информации о производителе. По умолчанию false.
LOGS_SECURITY_ADD_DEVICE_INFO=true

# При необходимости включить вывод логов безопасности в формате CEF. По умолчанию false.
LOGS_SECURITY_CEF_ENABLED=true

JSON формат.

Таблица 1. Описание полей формата JSON

Поле Описание Формат Обязательное
timeВремя наступления события.timestampДа
trace_idУникальный идентификатор выполнения запроса, может использоваться для определения выполнения всех команд участвующих в обработке запроса.UUID v4Да
command_nameИдентификатор события.stringДа
command_descriptionЧеловекочитаемое описание события.stringНет
is_infosecСобытие относится к группе событий информационной безопасности.booleanНет
device_vendorПроизводитель приложения.stringНет
device_productНаименование приложения.stringНет
device_versionВерсия приложения.stringНет
client_ipIP адрес клиента с которого получен запрос.stringДа
user_idУникальный идентификатор пользователя от имени которого выполняется запрос.UUID v4Нет
user_loginЛогин пользователя от имени которого выполняется запрос.stringНет
space_idУникальный идентификатор пространства в котором выполнялся запрос.UUID v4Да
space_nameНаименование пространства в котором выполнялся запрос.stringДа
target_space_idУникальный идентификатор пространства для которого выполнялся запрос. Т.е. пространство в котором изменяли данные.UUID v4Нет
target_space_nameНаименование пространства для которого выполнялся запрос.stringНет
eps_idУникальный идентификатор узла структуры проектов предприятия (СПП) для которого выполнялся запрос.UUID v4Нет
eps_nameНаименование узла СПП для которого выполнялся запрос.stringНет
eps_typeТип узла СПП для которого выполнялся запрос.
Значение из списка: space | facility | schedule | project | version
stringНет
auth_strategyТип провайдера использованный для аутентификации пользовательского запроса.
Значение из списка: activedirectory | openid | kerberos | saml | local | apikey | standalone
stringНет
target_user_idУникальный идентификатор пользователя для которого выполнялся запрос. Например идентификатор создаваемого пользователя или пользователя параметры которого были изменены в результате выполнения запроса.UUID v4Нет
target_user_loginЛогин пользователя для которого выполнялся запрос.stringНет
role_idУникальный идентификатор роли пользователя для которой выполнялся запрос.UUID v4Нет
role_nameНаименование роли пользователя для которой выполнялся запрос.stringНет
target_role_idУникальный идентификатор роли пользователя назначенной на узел СПП при изменении права доступа.UUID v4Нет
target_role_nameНаименование роли пользователя назначенной на узел СПП при изменении права доступа.stringНет
target_subject_idУникальный идентификатор объекта для которого выполнялся запрос. Например идентификатор подключения к Active Directory.UUID v4Нет
target_subject_nameНаименование объекта для которого выполнялся запрос.stringНет
target_subject_stateСтатус объекта для которого выполнялся запрос.stringНет
target_subject_typeТип объекта для которого выполнялся запрос.stringНет
updated_fieldsПеречень полей измененных в результате запроса.stringНет
successФлаг успешности операции. Например результат аутентификации пользователя в системе.booleanНет

Пример


{ "time": 1749112947148, "trace_id": "42195a9e-17c3-4e2d-9868-ba7f7c253123", "command_name": "auth.local", "command_description": "Local user authentication", "is_infosec": true, "client_ip": "148.93.143.195", "user_id": "3ce9d1d6-b169-498f-8d28-33aced2353a0", "user_login": "ivanov@org.ru", "success": true, "container_name": "planr_ru-main-1", "request_source": "main" }

CEF формат.

Помимо вывода логов в формате JSON существует возможность вывода информации в формате CEF согласно стандарту определенному в Implementing ArcSight Common Event Format (CEF) - Version 26.

Для того чтобы настроить вывод событий ИБ в формате CEF, следует настроить следующие переменные окружения:

# При необходимости включить вывод логов безопасности в формате CEF. По умолчанию false.
LOGS_SECURITY_CEF_ENABLED=true

# При необходимости установить формат даты логов безопасности в формате CEF. Значение по умолчанию MMM DD YYYY HH:mm:ss.SSS zzz.
LOGS_SECURITY_CEF_DATE_FORMAT=MMM DD YYYY HH:mm:ss.SSS z

Таблица 2. Описание пользовательских полей формата CEF

Поле Описание Формат Обязательное
DPPMPlanRTraceIdУникальный идентификатор выполнения запроса, может использоваться для определения выполнения всех команд участвующих в обработке запроса.UUID v4Да
DPPMPlanRSpaceIdУникальный идентификатор пространства в котором выполнялся запрос.UUID v4Да
DPPMPlanRSpaceNameНаименование пространства в котором выполнялся запрос.stringДа
DPPMPlanRTargetSpaceIdУникальный идентификатор пространства для которого выполнялся запрос. Т.е. пространство в котором изменяли данные.UUID v4Нет
DPPMPlanRTargetSpaceNameНаименование пространства для которого выполнялся запрос.stringНет
DPPMPlanREpsIdУникальный идентификатор узла структуры проектов предприятия (СПП) для которого выполнялся запрос.UUID v4Нет
DPPMPlanREpsNameНаименование узла СПП для которого выполнялся запрос.stringНет
DPPMPlanREpsTypeТип узла СПП для которого выполнялся запрос.
Значение из списка: space | facility | schedule | project | version
stringНет
DPPMPlanRAuthStrategyТип провайдера использованный для аутентификации пользовательского запроса.
Значение из списка: activedirectory | openid | kerberos | saml | local | apikey | standalone
stringНет
DPPMPlanRUserIdУникальный идентификатор пользователя для которого выполнялся запрос. Например идентификатор создаваемого пользователя или пользователя параметры которого были изменены в результате выполнения запроса.UUID v4Нет
DPPMPlanRUserLoginЛогин пользователя для которого выполнялся запрос.stringНет
DPPMPlanRRoleIdУникальный идентификатор роли пользователя для которой выполнялся запрос.UUID v4Нет
DPPMPlanRRoleNameНаименование роли пользователя для которой выполнялся запрос.stringНет
DPPMPlanRTargetRoleIdУникальный идентификатор роли пользователя назначенной на узел СПП при изменении права доступа.UUID v4Нет
DPPMPlanRTargetRoleNameНаименование роли пользователя назначенной на узел СПП при изменении права доступа.stringНет
DPPMPlanRTargetSubjectIdУникальный идентификатор объекта для которого выполнялся запрос. Например идентификатор подключения к Active Directory.UUID v4Нет
DPPMPlanRTargetSubjectNameНаименование объекта для которого выполнялся запрос.stringНет
DPPMPlanRTargetSubjectStateСтатус объекта для которого выполнялся запрос.stringНет
DPPMPlanRTargetSubjectTypeТип объекта для которого выполнялся запрос.stringНет
DPPMPlanRUpdatedFieldsПеречень полей измененных в результате запроса.stringНет
DPPMPlanRSuccessФлаг успешности операции. Например результат аутентификации пользователя в системе.booleanНет

Пример


Sep 19 08:26:10 host CEF:0|dppm|planr|602.0|auth.openid|Authentication using OpenID Connect (OIDC)|Low|src=10.0.0.1 suid=d1c3d009-4937-41b4-83af-ca6d3568eef6 suser=iv_ivn@org.com DPPMPlanRTraceId=36794d27-ff14-4502-a6f7-369e3417d6b8 DPPMPlanRSpaceId=7943063b-d137-4ba1-bedf-3166e35444ff DPPMPlanRSpaceName=My Organization DPPMPlanRSuccess=true

Логи собираются и обрабатываются с помощью сборщика логов FluentBit затем сохраняются в хранилище Grafana Loki, для просмотра и анализа в комплект поставки также входит ПО Grafana.

register image

С помощью FluentBit можно трансформировать, фильтровать или перенаправлять события в сторонние системы.


602.2