Аудит
Аудит
в продукте выполняется для модулей бэкенда osmax-core и osmax-provisioner.
Для действий, происходящих внутри внешних систем, например, БД, системы хранения контента, веб-сервера, службы каталогов, события аудита не регистрируются.
В ходе аудита модули бэкенда собирают и записывают информацию о важных событиях, таких как аутентификация и авторизация пользователей, доступ к защищенным ресурсам или изменение конфигурации системы, в специальные лог-файлы заданного формата. События регистрируются в режиме, при котором каждая новая запись добавляется в конец оперативного файла. При достижении/превышении определенного размера содержимое оперативного файла автоматически копируется в исторический файл.
Для каждого регистрируемого события указываются:
-
тип;
-
идентификационные данные пользователя, инициировавшего регистрируемое событие;
-
успешность или не успешность осуществляемых действий;
-
дата и время события;
-
другие данные, достаточные для однозначной интерпретации события (см. раздел «Описание полей лог-файла»).
Для отслеживания записей лог-файлов, обогащения, преобразования их в необходимый формат и передачи в Kafka используется система сбора и передачи данных журналов Fluent Bit.
Параметры лог-файлов
Оперативный и исторические файлы — это файлы формата JSONL, которые создаются автоматически при
установке продукта и хранятся в каталоге /var/log/osmax/core.
Имена файлов задаются согласно шаблонам:
-
шаблон имени оперативного файла:
audit{-applicationAlias}.logГде
applicationAlias— название приложения, например:audit-osmax-core.log. -
шаблон имени исторического файла:
audit{-applicationAlias}.log.yyyy-MM-dd.{N}Где:
-
N— индекс файла; -
applicationAlias— название приложения; -
yyyy-MM-dd— дата ротации файла.
-
| По умолчанию предельный размер оперативного файла аудита составляет 10 МБ. При необходимости можно задать иное значение. |
Описание полей лог-файла
| Родительский элемент | Элемент | Описание | Запись в лог-файле | Запись в Fluent Bit | ||
|---|---|---|---|---|---|---|
|
|
Дата и время сообщения. Формат: |
Дата и время генерации события на сервере |
Значение переносится из лог-файла |
||
|
|
Идентификатор события |
Каждый раз генерируется новый UUID |
Значение переносится из лог-файла |
||
|
|
Идентификатор группы событий (например, начало и окончание фоновой процедуры) |
Каждый раз генерируется новый UUID |
Значение переносится из лог-файла |
||
Данные об информационной системе клиента |
||||||
|
|
Код информационной системы |
Не заполняется |
Константа со значением информационной системы |
||
|
|
Идентификатор информационной системы |
Не заполняется |
Константа со значением информационной системы |
||
Данные о типе событий |
||||||
|
|
Версия сообщений (версия схемы) |
Не заполняется |
Константа со значением информационной системы |
||
|
|
Тип события |
Заполняется на русском языке. См. колонку |
Значение переносится из лог-файла |
||
|
|
Код события |
См. колонку |
Значение переносится из лог-файла |
||
|
|
Не заполняется |
Константа со значением |
|||
|
|
Объект с дочерними атрибутами |
Не заполняется |
Значение создается при обработке |
||
Данные об объекте и операции |
||||||
|
|
Идентификатор бизнес-объекта, над которым выполняется действие, например |
См. колонку |
Значение переносится из лог-файла |
||
|
|
Название типа объекта, над которым выполняется действие. Например, "конфигурация" |
Заполняется, только если объект в колонке |
Значение переносится из лог-файла (если присутствует в лог-файле); создается с пустым значением (если отсутствует в лог-файле) |
||
|
|
Название бизнес-операции, например, «создание конфигурации» |
Не заполняется |
Заполняется значением, указанным в поле |
||
Данные о событии, связанные с классом сообщения о событии |
||||||
|
|
Класс сообщения о событии. Возможные значения:
|
См. колонку |
Значение переносится из лог-файла |
||
|
|
Краткое описание сообщения |
Не заполняется |
Заполняется на русском языке значением, указанным в поле |
||
|
|
Подробное описание события
|
См. колонку |
Значение переносится из лог-файла (если в лог-файле нет параметра |
||
|
|
Объект с дочерними атрибутами |
Не заполняется |
Объект создается при обработке |
||
|
|
Имя пользователя, например, iivanov@inno.tech |
Если событие — это вызов конечной точки (end point), то указываются данные из тикета Kerberos
( |
Значение переносится из лог-файла |
||
|
|
IP-адрес пользователя, выполнившего операцию |
|
Значение переносится из лог-файла |
||
Данные о контексте события |
||||||
|
|
Объект с дочерними атрибутами |
Не заполняется |
Объект создается при обработке |
||
|
|
сессия JWT-токена |
Не заполняется |
Значение переносится из лог-файла |
||
|
|
URL-адрес конечной точки, указанный вместе с протоколом и параметрами.
|
||||
|
|
HTTP-метод |
Поле заполняется, только если событие — это вызов конечной точки (end point). В остальных случаях указывается символ "-" |
Значение переносится из лог-файла |
||
|
|
Идентификатор трассировки |
Не заполняется |
Значение переносится из лог-файла |
||
|
|
Идентификатор шага трассировки |
Не заполняется |
Значение переносится из лог-файла |
||
|
|
IP-адрес, на который выполняется вызов от клиента |
Не заполняется |
|||
|
|
IP-адрес получателя |
Не заполняется |
|||
Данные о развертывании информационной системы |
||||||
|
|
Объект с дочерними атрибутами |
Не заполняется |
Создается при обработке |
||
|
|
Пространство имен платформы (OpenShift/Kubernetes), в которой развёрнут сервис, генерирующий логи |
Не заполняется |
|||
|
|
Имя текущей поды (POD) (OpenShift/Kubernetes), в которой развёрнут сервис, генерирующий логи |
Не заполняется |
|||
Дополнительные параметры |
||||||
|
|
Все дополнительные параметры сообщения |
См. колонку |
переносится из лог-файла (если параметр присутствует). Если в лог-файле не указаны параметры`additionalParams.*`, то в Kafka ничего не отгружается. Если присутствует хотя бы один параметр, то формируется объект вида: "additionalParams":
{"configurationVersionName": "1.1",
"configurationId": 8765, "configurationName": "Пакет программ для бухгалтерии"
},
|
||
|
|
Информация об ошибке в произвольном формате, если действие завершилось неудачно ( |
Заполняется, только если в лог-файле была зарегистрирована информация об ошибке |
Если параметр задан в лог-файле, значением этого поля заменяется объект |
||
Данные для интеграции с системой централизованного мониторинга событий безопасности клиента |
||||||
|
|
Возможные значения:
|
В текущей версии продукта используется только значение |
Значение переносится из лог-файла или создается параметр со значением "" |
||
Пример лог-файла:
{
"timestamp": "2024-06-27T15:37:45.943Z",
"sequence": 27003,
"loggerClassName": "io.github.oshai.kotlinlogging.slf4j.internal.LocationAwareKLogger",
"loggerName": "AUDIT",
"level": "INFO",
"message": "Авторизация в приложении",
"threadName": "executor-thread-321",
"threadId": 520,
"initiator.sub": "iivanov@LCM.TERRA.INNO.TECH",
"context.method": "-",
"correlationId": "7422db8a-fd80-4780-8ffe-56d46587eb49",
"class": "SUCCESS",
"code": "AUTH-003",
"type": "Авторизация",
"context.url": "-",
"id": "2780d3db-4377-402f-b784-4a3814273578",
"object.id": "-",
"componentName": "lcm-core",
"ipAddress": "-",
"hostName": "dev-lcm-a50",
"processName": "io.quarkus.runner.GeneratedMain",
"processId": 52785
}
События аудита
События аутентификации
| type | code | object.id | message | object.name | class | additionalParams | Описание |
|---|---|---|---|---|---|---|---|
Аутентификация |
AUTH-001 |
- |
Аутентификация в приложении |
|
Возможные значения:
|
|
Проверка валидности Kerberos-тикета при любом запросе от фронтенда, который поступает в модуль
|
Аутентификация |
AUTH-002 |
- |
Аутентификация в приложении |
|
Возможные значения:
|
|
Проверка валидности Kerberos-тикета при любом запросе от фронтенда, который поступает в модуль |
События авторизации
| type | code | object.id | message | object.name | class | additionalParams | Описание |
|---|---|---|---|---|---|---|---|
Авторизация |
AUTH-003 |
- |
Авторизация в сервисном приложении |
|
Возможные значения:
|
|
Получение ролей для пользователя и проверка доступности объектов БД при любом запросе от фронтенда,
который поступает в модуль |
Авторизация |
AUTH-004 |
- |
Авторизация в сервисном приложении |
|
Возможные значения:
|
|
Получение ролей для пользователя и проверка доступности объектов БД при любом запросе от фронтенда,
который поступает в модуль |
События управления ролевым доступом
| type | code | object.id | message | object.name | class | additionalParams | Описание |
|---|---|---|---|---|---|---|---|
|
|
Id роли из ответа |
Создание роли |
|
Возможные значения:
|
|
Создание роли, которая не привязана к пользователю/группе |
|
|
Id роли из запроса |
Изменение роли |
|
Возможные значения:
|
|
Изменение характеристик роли без изменения состава полномочий роли и без изменения привязки к пользователям/группам |
|
|
Id роли из запроса |
Удаление роли |
|
Возможные значения:
|
|
Удаление и отвязка роли от пользователей/групп |
|
|
Id роли из запроса |
Изменение списка доступных действий над объектами в рамках роли |
|
Возможные значения:
|
|
Изменение полномочий роли. Если роль привязана к пользователю/группе, то у пользователя/группы появляются полномочия в системе |
|
|
Id роли из запроса |
Назначение роли пользователю или группе |
|
Возможные значения:
|
|
Роль привязывается к пользователю/группе. У пользователя/группы через роль появляются полномочия в системе |
|
|
Id роли из запроса |
Отзыв роли у пользователя или группы |
|
Возможные значения:
|
|
Роль отвязывается от пользователя/группы. У пользователя/группы из-за отвязки роли пропадают полномочия в системе |
Системные события
| type | code | object.id | message | object.name | class | StartTime и EndTime | additionalParams | Описание |
|---|---|---|---|---|---|---|---|---|
|
|
- |
Автоматическое сопоставление |
|
Возможные значения:
|
По заданному расписанию |
|
Автоматическое сопоставление устройства и пользователей, которое выполняется по заданному расписанию |
|
|
- |
Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в фоновом режиме |
|
Возможные значения:
|
Значение, указанное в поле |
|
Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в фоновом режиме.
Событие генерируется из сообщения топика Kafka |
|
|
- |
Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в push-режиме |
|
Возможные значения:
|
Значение, указанное в поле |
|
Установка, обновление, удаление ПО, запуск или остановка служб, настройка ОС в push-режиме.
Событие генерируется из сообщения топика Kafka |
|
|
- |
Установка агента на устройство |
|
Возможные значения:
|
Значение, указанное в поле |
|
Установка агента (minion) на устройство. Событие генерируется из сообщения топика Kafka |
|
|
- |
Автоматический пересчёт коллекции |
|
Возможные значения:
|
По расписанию |
|
Автоматический пересчет коллекции устройств. Событие запускается по расписанию. Изменения сохраняются в БД |
|
|
- |
Cинхронизация данных по пользователям, устройствам, группам c хранилищем |
|
Возможные значения:
|
По расписанию |
|
Cинхронизация данных по пользователям, устройствам, группам c данными на LDAP-сервере. Событие запускается по расписанию. Пользователи, устройства, группы сохраняются в БД |
|
|
- |
Автоматическое снятие пессимистичных блокировок по таймауту |
|
Возможные значения:
|
По расписанию |
|
Удаление записей о блокировках, которые старше заданного значения |
События, связанные с действиями администратора в КА
| type | code | object.id | message | object.name | class | additionalParams | Описание | ||
|---|---|---|---|---|---|---|---|---|---|
Действия администратора, связанные с интеграцией ( |
|||||||||
|
|
- |
Загрузка формул отдельно от конфигурации |
|
Возможные значения:
|
|
Загрузка формул, в которых описана установка ПО, запуск служб, настройка ОС и т.д., в S3-совместимое хранилище |
||
|
|
- |
Загрузка файла в хранилище |
|
Возможные значения:
|
|
Загрузка файла с изображением, которое будет использоваться как обложка для графического интерфейса «Магазин администратора» в S3-совместимое хранилище |
||
|
|
- |
Принудительный запуск синхронизации пользователей, устройств, групп c хранилищем |
|
Возможные значения:
|
|
Принудительный запуск синхронизации пользователей, устройств, групп c данными LDAP-сервера. Группы, устройства, пользователи сохраняются в БД |
||
Действия администратора, связанные с инвентаризацией ( |
|||||||||
|
|
- |
Редактирование настроек загрузки пользователей из хранилища |
|
Возможные значения:
|
|
Изменения настроек загрузки пользователей с сервера LDAP:
|
||
|
|
- |
Изменение расписания синхронизации всех сущностей |
|
Возможные значения:
|
|
Изменение расписания синхронизации всех сущностей с сервера LDAP |
||
|
|
- |
Редактирование настроек загрузки устройств |
|
Возможные значения:
|
|
Изменение настроек загрузки устройств с сервера LDAP:
|
||
|
|
- |
Редактирование настроек загрузки групп |
|
Возможные значения:
|
|
Изменение настроек загрузки групп с сервера LDAP:
|
||
|
|
- |
Включение или отключение автоматического сопоставления пользователей и устройств |
|
Возможные значения:
|
|
Включение или отключение режима автоматического сопоставления пользователей и устройств |
||
|
|
- |
Изменение параметров автоматического сопоставления |
|
Возможные значения:
|
Изменение атрибутов режима автоматического сопоставления пользователей и устройств |
|||
|
|
- |
Принудительный запуск автоматического сопоставления |
|
Возможные значения:
|
|
Ручной запуск автоматического сопоставления пользователей и устройств |
||
|
|
- |
Импорт файла соответствия пользователей и машин |
|
Возможные значения:
|
|
Импорт файла соответствия пользователей и устройств |
||
|
|
- |
Редактирование значений настроек агентов |
|
Возможные значения:
|
|
Изменение настроек расписаний для SaltStack и сохранение их в S3-совместимом хранилище |
||
|
|
- |
Экспорт в файл |
|
Возможные значения:
|
|
Выгрузка данных на устройство пользователя:
|
||
|
|
- |
Редактирование значений настроек (параметров) пользователей при синхронизации с LDAP |
|
Возможные значения:
|
|
Изменение значений настроек (параметров) пользователей при синхронизации с LDAP |
||
|
|
- |
Редактирование значений настроек параметров сбора данных по ПО |
|
Возможные значения:
|
|
Изменение настроек сбора данных по ПО (перечень игнорируемого ПО для сбора) на устройстве:
|
||
Действия администратора, связанные с коллекциями ( |
|||||||||
|
|
Идентификатор коллекции. Для методов DELETE и PUT указывается идентификатор из path-параметра. Для метода POST указывается идентификатор из ответа |
Редактирование коллекций |
|
Возможные значения:
|
|
Операции с коллекциями устройств:
|
||
|
|
- |
Запуск процедуры пересчета коллекции в ручном режиме |
|
Возможные значения:
|
|
Запуск процедуры пересчета коллекции устройств в ручном режиме |
||
|
|
Идентификатор пресета. Для метода DELETE указывается значение из path-параметра. Для метода POST — из ответа |
Редактирование пресета коллекций |
|
Возможные значения:
|
|
Операции с пресетами коллекций:
|
||
Действия администратора, связанные с конфигурациями ( |
|||||||||
|
|
Идентификатор конфигурации. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа |
Редактирование конфигураций |
|
Возможные значения:
|
|
Операции с конфигурациями:
|
||
|
|
Идентификатор версии конфигурации. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа |
Редактирование версий конфигурации |
|
Возможные значения:
|
|
Операции с версиями конфигураций:
|
||
|
|
Идентификатор пакета конфигурации. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа |
Редактирование пакетов конфигурации |
|
Возможные значения:
|
|
Операции с пакетами конфигураций:
|
||
|
|
- |
Экспорт в файл |
|
Возможные значения:
|
|
Экспорт списка конфигураций |
||
|
|
Наименование конфигурации из загружаемого архива |
Импорт из файла |
|
Возможные значения:
|
|
Импорт конфигурации |
||
Действия администратора, связанные со связками коллекция-конфигурация ( |
|||||||||
|
|
Идентификатор применения. Для метода DELETE указывается значение из path-параметра; для метода POST — из ответа |
Редактирование применения конфигурации или пакета конфигурации к коллекции |
|
Возможные значения:
|
|
Операции с сущностью коллекция-конфигурация:
|
||
|
|
Идентификатор применения. Для метода POST указывается значение из ответа |
Запуск/остановка применения конфигурации или пакета конфигурации к коллекции |
|
Возможные значения:
|
|
Операции с сущностью коллекция-конфигурация:
|
||
|
|
- |
Экспорт в файл |
|
Возможные значения:
|
|
Операции с сущностью коллекция-конфигурация:
|
||
|
|
- |
Настройка параметров успешности применения конфигурации или пакета конфигурации к коллекции |
|
Возможные значения:
|
|
Запрос для изменения настроек неуспешности применения конфигураций |
||
Действия администратора, связанные с сессиями ( |
|||||||||
|
|
- |
Принудительный запуск очистки истории сессий пользователей на устройствах |
|
Возможные значения:
|
Удаление истории сессий |
|||
|
|
- |
Получение информации о сессиях |
|
Возможные значения:
|
|
Операции по получению исторических данных о сессиях пользователей на устройствах:
|
||
Действия администратора, связанные с настройкой отчётов ( |
|||||||||
|
|
Идентификатор отчёта в БД. Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа |
Регистрация шаблона отчета |
|
Возможные значения:
|
|
Операции с отчетами:
|
||
|
|
Идентификатор отчёта в БД. Указывается значение поля |
Выгрузка отчета |
|
Возможные значения:
|
|
Исполнение отчета |
||
Действия администратора, связанные с установкой ОС ( |
|||||||||
|
|
Идентификатор Дистрибутива ( |
Редактирование Дистрибутива |
|
Возможные значения:
|
|
Операции по работе с установочными дистрибутивами операционных систем, содержащих информацию об операционной системе и путях до репозиториев, в которых хранятся дистрибутивы:
|
||
|
|
Идентификатор Профиля установки ( |
Редактирование Профиля установки |
|
Возможные значения:
|
|
Операции по работе с профилями установки операционных систем, которые содержат информацию об установочном дистрибутиве и набор шаблонов для конфигурации процесса установки:
|
||
|
|
Идентификатор способа развертывания ( |
Редактирование Развертывания |
|
Возможные значения:
|
|
Операции по работе со способами развертывания операционных систем, которые описывают профиль установки, метод развертывания, а также дополнительные атрибуты развертывания, с которыми необходимо производить установку операционных систем на устройства:
|
||
|
|
Идентификатор Загрузочного образа ( |
Редактирование Загрузочного образа |
|
Возможные значения:
|
|
Cоздание загрузочного образа |
||
|
|
Идентификатор Загрузочного образа (значение |
Выгрузка файла Загрузочного образа |
|
Возможные значения:
|
|
Скачивание сформированного ISO-файла загрузочного образа операционной системы. Полученный файл сохраняется на ПК клиента |
||
|
|
Идентификатор Шаблона (Installation_templates). Для методов DELETE и PUT указывается значение из path-параметра. Для метода POST — из ответа |
Редактирование Шаблона конфигурации установки |
|
Возможные значения:
|
|
Операции по работе с файлами шаблонов, необходимых для установки операционных систем, например для формирования конфигурационных файлов, файлов ответов или скриптов пост-установки:
|
||
|
|
Идентификатор Нового устройства ( |
Редактирование Нового устройства для установки ОС |
|
Возможные значения:
|
|
Операции по работе с устройствами, физическими или виртуальными, на которых необходимо произвести установку операционной системы:
|
||
|
|
Идентификатор процесса установки ( |
|
|
Возможные значения:
|
|
Получение истории процесса по уникальному идентификатору устройства |
||
|
|
- |
`Экспорт в файл отчета ` |
|
Возможные значения:
|
|
Изменения сохраняются в БД. Событие создается при выполнении запросов с фронтенда:
|
||
Действия администратора, связанные с модулями grain, state, execution ( |
|||||||||
|
|
Идентификатор файла ( |
Загрузка модулей grain modules, state modules, execution modules |
|
Возможные значения:
|
|
Операции с пользовательскими файлами SaltStack (grains, states, execution modules):
|
||
|
|
- |
Принудительный запуск расчета состояния агентов на машинах |
|
Возможные значения:
|
Получение информации о состоянии агентов (minions) из БД |
|||
Действия администратора, связанные с запросом удаленного доступа ( |
|||||||||
|
|
- |
Запрос для получения удаленного доступа на устройство по выбранному протоколу |
|
Возможные значения:
|
|
Запрос для получения удаленного доступа на устройство по выбранному протоколу |
||
Действия администратора, связанные с удаленными операциями (osmax-core) |
|||||||||
|
|
- |
Создание заявки на выполнение удаленной операции |
|
|
Создание заявок на выполнение удаленной операции |
|||
|
|
Указывается значение из параметра пути |
Редактирование параметров операции |
|
|
Изменение параметров удаленной операции |
|||
Действия администратора, связанные с разблокировкой заблокированных пессимистичной блокировкой сущностей
( |
|||||||||
|
|
Идентификатор разблокировываемой сущности. Указывается значение из тела запроса |
Ручное снятие блокировки с экземпляра сущности.
|
|
Удаление произвольной блокировки по идентификатору. Используется для удаления любой блокировки захваченной любым
пользователем. Для использования требуется специальное разрешение: |
||||
Действия администратора, связанные с удалением данных из БД |
|||||||||
|
|
Идентификатором является имя таблицы из запроса ( |
Редактирование параметров удаления данных из БД |
|
Возможные значения:
|
|
Изменение параметров автоматического удаления неактуальных данных из БД по уникальному внутреннему наименованию сущности |
||
|
|
Идентификатором является имя таблицы, на которой производится удаление данных (поле |
Периодическая очистка данных из БД |
|
Возможные значения:
|
|
Событие запускается после выполнения задания на удаление, если удаление производилось |
||
События, связанные с действиями пользователя в МП
| type | code | object.id | message | object.name | class | StartTime и EndTime | additionalParams |
|---|---|---|---|---|---|---|---|
Описание |
|
|
Идентификатор заказа, указанный в ответе |
Создание заказа на установку или обновление или удаление версии ПО |
|
Возможные значения:
|
|