Рецепт: отправка находок и журнала в вашу SIEM
Цель: ваша SIEM получает находки control plane и его журнал аудита с обнаружением подделки (audit ledger) в режиме push — без форвардера, тянущего хвост из файлов.
Это путь push S2S (service-to-service) на платформе событий (eventing platform). Постуры pull-экспорта и file-tail остаются полностью поддерживаемыми — pull по-прежнему подходящая форма для WORM-архивации и офлайн-переверификации; push — подходящая форма для живого приёма в SIEM.
1. Создайте подписку приёмника
Заголовок раздела «1. Создайте подписку приёмника»curl -ks -X POST "$BASE/v1/m/eventing/subscriptions" \ -H "Authorization: Bearer $TOKEN" -H "X-Olivares-Tenant: $TENANT" \ -H 'Content-Type: application/json' \ -d '{ "name": "splunk-prod", "event_types": ["finding.reported", "audit.recorded"], "endpoint": "https://splunk.internal:8088/services/collector", "sink_kind": "splunk_hec", "sink_format": "ocsf", "sink_cred": "<hec-token>" }'-
sink_kindвыбирает диалект платформы:splunk_hec,sentinel_dcr,datadog,newrelic— либо опустите его полностью для обобщённого веб-хука (конечная точка HTTPS, принимающая событие в JSON, аутентифицируемая HMAC-подписью движка; ротация через…/{id}/rotate-secret). -
sink_format:ocsf(значение по умолчанию для SIEM-приёмников — схема, учитывающая специфику ИИ),cef,leef,syslog,otlp,otlp_envelopeилиjson. -
sink_cred(токен HEC / bearer DCR / ключ API) принимается один раз, опечатывается в покое, никогда не возвращается и не логируется. Вендорные виды требуют его при создании; обобщённому веб-хуку он не нужен. -
event_types— это выбор потока:finding.reportedдля рельса находок,audit.recordedдля журнала (ниже), либо оба.
Проверьте доставку, прежде чем доверять ей:
curl -ks -X POST "$BASE/v1/m/eventing/subscriptions/$ID/test" \ -H "Authorization: Bearer $TOKEN" -H "X-Olivares-Tenant: $TENANT"2. Push журнала, описанный честно
Заголовок раздела «2. Push журнала, описанный честно»Подписка на audit.recorded включает насос журнала (ledger pump): форвардер
обходит опечатанный журнал аудита каждого арендатора от его покурсорного
положения и ставит каждую запись в очередь надёжного движка доставки — не
менее одного раза, по порядку, с возможностью возобновления. Каждая запись
несёт свои поля целостности цепочки дословно, поэтому копия в SIEM позволяет ровно
то же, что и pull-экспорт, и не более: СВЯЗЬ цепочки (prev_hash записи n+1 равен
hash записи n) и подпись контрольной точки над hash проверяются офлайн.
ПЕРЕВЫЧИСЛИТЬ hash записи теперь можно из ОДНОЙ экспортированной строки — все
входы хеша цепочки передаются в записи, включая канонический текст occurred_at и
обязательство (commitment) метаданных. Точная побайтовая реконструкция сегодня
доказана для syslog и трёх вариантов OTLP при алфавитах значений, которые выдаёт
этот журнал (UUID, акторы kind:id, глаголы с точками, временная метка фиксированного
формата и шестнадцатеричные дайджесты): syslog заменяет CR и LF пробелом, а OTLP
заменяет некорректный UTF-8, поэтому ни одна гарантия не безусловна. ocsf (формат
приёмника по умолчанию), cef и leef несут те же поля, но пока не позволяют
побайтовую реконструкцию, поскольку их экранирование и отображение полей теряют
информацию в свободном тексте; если вы намерены перевычислять хеш, выберите один из
доказанных форматов. Это обязательство ослеплено для каждой записи:
оно достраивает прообраз, ничего не раскрывая о самих метаданных. Три утверждения
остаются разными — перевычисление хеша не есть проверка ПОДЛИННОСТИ (для неё нужен
внешне доверенный ключ) и не есть проверка ПОЛНОТЫ (для неё нужны соседние записи и
контрольная точка). Аудиторский архив остаётся более сильным артефактом: он несёт
сами метаданные вместе с их ослепляющим значением, поэтому отвечает и на вопрос,
КАКИЕ метаданные покрывает обязательство.
Три свойства, которые стоит знать:
- Нет подписки — нет работы. Без подписчика на
audit.recordedнасос ничего не пишет — этот путь не стоит ничего, пока вы его не запросите. - «Не менее одного раза» означает возможность дубликатов при повторной доставке; дедуплицируйте по порядковому номеру записи в пределах арендатора.
- Насос управляется лидером (leader-gated) в HA — пересылает ровно один узел.
3. ITSM: находки как заявки
Заголовок раздела «3. ITSM: находки как заявки»Тот же механизм подписки управляет назначениями ITSM через рельс уведомлений —
инциденты ServiceNow и задачи Jira из находок, где серьёзность отображается на
приоритет. Настраивайте их как назначения уведомлений (выходные коннекторы
servicenow / jira), а не как SIEM-приёмники; таблица назначений на странице
Splunk показывает этот шаблон.
Сквозная проверка
Заголовок раздела «Сквозная проверка»…/testвозвращает «доставлено».- Спровоцируйте что-то наблюдаемое (порог оповещения о бюджете, запрещённый инструмент) и проследите за прибытием находки.
- Для журнала: сравните максимальную отметку
seqна стороне SIEM сGET /v1/audit/export?from=<seq>— потоки должны совпадать.
Заметки
Заголовок раздела «Заметки»- Конечные точки должны быть HTTPS; движок отказывает приёмникам с открытым текстом.
- У снимков постуры (сводки по compliance/NHI/находкам) есть собственный модуль экспорта, едущий по тем же рельсам — см. модуль compliance.
- Полная таблица решений — когда тянуть (pull), когда читать хвост (tail), когда отправлять (push) — на странице форвардинга в Splunk.