Журналирование (Audit Log)
Что логируется, как хранится и как используется
Журналирование (Audit Log)
Аудит — это "черный ящик" платформы. В отличие от технических логов (отладки), аудит фиксирует юридические факты и действия пользователей.
1. Пайплайн сбора логов
Loading diagram...
2. Неизменяемость (Immutability)
Главное требование к аудиту — защита от подчистки следов.
- WORM (Write Once Read Many): Бэкенд аудита пишет логи в S3-бакет с включенным Object Lock. Удалить или перезаписать файл невозможно даже с правами администратора (до истечения Retention Period - 5 лет).
- Хэш-цепочки: Каждая пачка логов содержит хэш предыдущей пачки. Если удалить кусок посередине, цепочка разорвется.
- Цифровая подпись: Сервис архивации подписывает каждый ежедневный архив ключом системы.
3. Сценарий расследования (Incident Response)
Кейс: "Я не совершал этот перевод"
- Поиск события: Офицер безопасности ищет по
user_idвсе событияLOGINиCREATE_TRANSFERза указанный период. - Анализ контекста:
LOGIN: IP-адрес 185.x.x.x (США), хотя клиент обычно из РФ.DEVICE: Новое устройство (iPhone 15), ранее не использовалось.2FA: Введен правильный SMS-код (значит, SIM-карта у злоумышленника или социальная инженерия).
- Вердикт: Технически операция корректна (подписана 2FA), но имеет признаки взлома аккаунта.
- Доказательная база: Выгрузка из аудита (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: Включено для отслеживания любых попыток модификации.