Перейти к содержимому

Пересылка в SIEM/ITSM

Пересылка в SIEM/ITSM (modules/siemforward) берёт доказательства, которые движок уже запечатал, и доставляет их в систему, которую ваш SOC уже эксплуатирует. Модуль LIVE. Он не владеет никакими новыми доказательствами: он обходит аудиторский журнал с обнаружением подделки и поток находок управления, переформирует каждую запись в родной диалект назначения и передаёт её платформе событий для надёжной доставки. Поля целостности передаются дословно — и никогда не пересчитываются заново в пути.

Сотрудничают две половины. SinkRenderer (он реализует eventing.SinkRenderer) переформирует одно захваченное событие в протокольный формат системы:

  • audit.recorded — запечатанная запись журнала, отрисованная через core/audit.
  • finding.reported — находка управления (минимум данных: хеш плюс маскированная выдержка).
  • всё прочее на шине — формат-нейтральный конверт, который универсальный коллектор может разобрать сам.

Поддерживаемые диалекты: OCSF 1.8, CEF, LEEF, syslog, OTLP и структурированный сквозной проход (passthrough) JSON. Рендерер работает по принципу deny-closed: неизвестный вид приёмника или неотрисовываемый формат возвращают ошибку, и движок повторяет попытку, а затем отправляет доставку в dead-letter — никогда неаутентифицированной или неверно сформированной отправки.

Насос пересылки под управлением лидера (leader-gated) приводит в движение всё остальное. Каждый проход читает потенантный курсор, обходит журнал начиная со следующей последовательности ограниченными пакетами и ставит каждую запись в очередь. Курсор продвигается только за те записи, которые были успешно поставлены в очередь, поэтому сбой или перезапуск возобновляется с того места, где остановился — не менее одного раза (at-least-once) от журнала, авторитетного источника. Повторно обойдённые записи дедуплицируются на стороне получателя.

Куда направляется журнал — это потенантная подписка на приёмник (sink subscription) платформы событий, а не самообслуживаемый API этого модуля — он не монтирует никаких маршрутов. Назначения развёртываются оператором: Splunk HEC, Microsoft Sentinel (Logs Ingestion / DCR), Datadog Logs, New Relic или универсальный HTTPS-коллектор. Движок открывает запечатанные учётные данные и владеет транспортом; рендерер не хранит ни состояния, ни учётных данных, поэтому один экземпляр обслуживает каждого тенанта и каждый приёмник.

  • Он пересылает, он не хранит. Тенант без подписки на приёмник — это no-op: ничего не ставится в очередь, курсор всё равно продвигается, ничего не теряется.
  • Пересылка выполняется из обхода курсора, вне транзакции запечатывания журнала — сетевая запись никогда не находится на пути запечатывания.
  • Это push в вашу систему, отличный от read-only-pull экспорта состояния. Приём на стороне системы вне области охвата; мы отрисовываем в опубликованный диалект и доставляем.
  • Платформа событий — надёжная поверхность подписки (повтор/backoff, DLQ, повтор курсора), в которую этот модуль отрисовывает.
  • Соответствие требованиям — запечатанный, производный от журнала пакет доказательств, который этот поток дополняет.
  • Пересылка аудита в Splunk — путь через чтение хвоста файла, когда вы не можете развернуть родной приёмник.
  • Честность и ограничения — что значат «не менее одного раза» и «развёртывается оператором» для этой поверхности.