Манитон Docs

Журналирование (Audit Log)

Что логируется, как хранится и как используется

Журналирование (Audit Log)

Аудит — это "черный ящик" платформы. В отличие от технических логов (отладки), аудит фиксирует юридические факты и действия пользователей.

1. Пайплайн сбора логов

Loading diagram...

2. Неизменяемость (Immutability)

Главное требование к аудиту — защита от подчистки следов.

  1. WORM (Write Once Read Many): Бэкенд аудита пишет логи в S3-бакет с включенным Object Lock. Удалить или перезаписать файл невозможно даже с правами администратора (до истечения Retention Period - 5 лет).
  2. Хэш-цепочки: Каждая пачка логов содержит хэш предыдущей пачки. Если удалить кусок посередине, цепочка разорвется.
  3. Цифровая подпись: Сервис архивации подписывает каждый ежедневный архив ключом системы.

3. Сценарий расследования (Incident Response)

Кейс: "Я не совершал этот перевод"

  1. Поиск события: Офицер безопасности ищет по user_id все события LOGIN и CREATE_TRANSFER за указанный период.
  2. Анализ контекста:
    • LOGIN: IP-адрес 185.x.x.x (США), хотя клиент обычно из РФ.
    • DEVICE: Новое устройство (iPhone 15), ранее не использовалось.
    • 2FA: Введен правильный SMS-код (значит, SIM-карта у злоумышленника или социальная инженерия).
  3. Вердикт: Технически операция корректна (подписана 2FA), но имеет признаки взлома аккаунта.
  4. Доказательная база: Выгрузка из аудита (JSON + подпись) передается юристам.

4. Схема данных (Audit Schema)

message AuditLogEntry {
  string entry_id = 1;              // UUID
  google.protobuf.Timestamp occurred_at = 2;
  string actor_id = 3;
  string actor_type = 4;            // USER, SYSTEM, ADMIN
  string action = 5;                // "USER_BLOCKED", "CFA_ISSUED"
  string entity_type = 6;           // "User", "Operation", "Instrument"
  string entity_id = 7;
  string previous_hash = 8;         // Hash предыдущей записи (chain)
  string entry_hash = 9;            // Hash текущей записи
  map<string, string> metadata = 10;
}

5. Хранение и WORM (Object Lock)

Для обеспечения неизменяемости (Compliance requirement), логи аудита выгружаются в S3-хранилище со следующими параметрами:

  • Retention Period: 5 лет.
  • Mode: Compliance Mode (даже root не может удалить файлы).
  • Versioning: Включено для отслеживания любых попыток модификации.

On this page