Обзор
Yahont формирует нормализованный структурированный поток событий аудита для действий, важных для безопасности: аутентификации, изменений пользователей и управления доступом, изменений административной конфигурации и доступа к учётным данным. Каждое событие — один объект JSON, поэтому поток можно передать в любой SIEM — Splunk, Microsoft Sentinel, Elastic, Google Chronicle, AWS Security Lake — без разработки интеграции на стороне Yahont. Вы направляете свой сборщик журналов на журналы Yahont, фильтруете поток аудита и разбираете JSON. Имена полей и таксономия действий построены по образцу OCSF (Open Cybersecurity Schema Framework), поэтому события легко сопоставляются с классами событий, которые уже понимает большинство SIEM.Что фиксируется
Аутентификация
Аутентификация
Успешный вход, неудачный вход, выход, регистрация, запрос восстановления пароля,
сброс пароля и подтверждение адреса электронной почты.
Пользователи и управление доступом
Пользователи и управление доступом
Создание пользователей (приглашения администратором), удаление, деактивация, реактивация,
изменение ролей и изменение состава групп пользователей.
Конфигурация и ресурсы
Конфигурация и ресурсы
Создание, изменение и удаление поставщиков LLM, коннекторов, пар «коннектор — учётные данные»,
API-ключей и учётных данных, а также события доступа к учётным данным (расшифровки).
Как это работает
События аудита записываются как записиINFO в отдельный логгер onyx.audit.
Тело каждой записи — один объект JSON; Yahont сам сериализует событие,
поэтому строка аудита одинакова независимо от формата ваших журналов.
Отправка событий безопасна при сбоях: она никогда не прерывает запрос пользователя или запуск коннектора,
даже если сбор контекста или запись в журнал не удались.
События с большим объёмом дедуплицируются в течение короткого (10 минут) окна с помощью Redis.
Дедупликация открыта при сбое (fail-open): если Redis недоступен, проверка дедупликации пропускается,
а событие всё равно отправляется,
поэтому событие аудита никогда не теряется молча из-за проблем с инфраструктурой (в худшем случае вы увидите дубликат).
Подсистема всегда включена — нет флага включения и выключения, настройки формата вывода или места назначения,
а окно дедупликации фиксировано. Единственная связанная настройка — LOG_FORMAT (ниже),
которая определяет вид окружающих записей журнала; тело JSON аудита в любом случае одинаково.
Схема события
Значения
action — стабильный контракт, который только дополняется: по ним безопасно фильтровать и строить панели.
Со временем могут добавляться новые действия; существующие не меняют значения.
Пример события
Передача в SIEM
Поскольку события аудита — это просто строки журнала JSON с известным префиксом логгера, подойдёт любой сборщик журналов.1
Запустите Yahont с журналированием в JSON
Задайте
LOG_FORMAT=json, чтобы каждая запись журнала была структурирована и содержала поля logger и message.2
Передавайте журналы Yahont
Направьте Fluent Bit, Vector, агент CloudWatch,
Filebeat или ваш существующий сборщик на stdout контейнера Yahont (или на примонтированные файлы журналов).
3
Выделите и разберите поток аудита
Оставьте только записи, у которых
logger начинается с onyx.audit,
затем разберите поле message каждой записи как JSON, чтобы получить поля события, описанные выше.4
Направьте в SIEM
Отправьте разобранные события на конечную точку приёма вашего SIEM.
Поля в формате OCSF сопоставляются с классами событий «Аутентификация», «Изменение аккаунта» и «Активность API».
Примеры сборщиков
Фильтруйте по префиксу
onyx.audit, чтобы захватить всё.
Поток также разделён на дочерние логгеры по классам — onyx.audit.authentication, onyx.audit.account_change,
onyx.audit.api_activity и onyx.audit.credential_access — если нужно направлять классы в разные места назначения.Справочник событий
Каждое значениеaction, что его вызывает, и поля, наиболее полезные для правил обнаружения в SIEM. actor,
tenant_id, request_id, endpoint, source_ip и outcome присутствуют в каждом событии (см.
Схему события) и в таблицах ниже опущены.
Аутентификация
ocsf_class: authentication
Пользователи и управление доступом
ocsf_class: account_change — resource_type равен user (или user_group).
Конфигурация и ресурсы
ocsf_class: api_activity
Доступ к учётным данным
onyx.audit.credential_access
События расшифровки учётных данных появились до обобщённой схемы и отправляются в плоском устаревшем наборе полей
для обратной совместимости.
Они используют то же дерево логгеров onyx.audit и то же поведение «безопасно при сбоях» и «открыто при сбое»,
но не содержат полей обобщённой схемы: нет action, ocsf_class, outcome, resource_type/resource_id,
extra и вложенного объекта actor, а IP клиента называется client_ip (а не source_ip).
Разбирайте этот поток отдельно; правила обнаружения, написанные для обобщённой схемы, к нему не подойдут.
Примечания
- Секреты никогда не записываются в журнал. Объекты actor и контекст
extraпо замыслу очищаются от значений учётных данных. - События доступа к учётным данным (
onyx.audit.credential_access) используют отдельный плоский набор полей, отличный от обобщённой схемы, для обратной совместимости — полный список полей см. в разделе Доступ к учётным данным. Они используют то же дерево логгеров и то же поведение безопасности при сбоях. - Для развёртываний Yahont Cloud (мультитенантных) пересылка журналов аудита организована иначе, так как вы не управляете конвейером журналов — свяжитесь с нами, чтобы обсудить варианты доставки в SIEM.

