mirror of
https://github.com/TronoSfera/Law.git
synced 2026-05-18 10:03:45 +03:00
3.5 KiB
3.5 KiB
Runbook: Incident Response по ПДн
Дата: 02.03.2026
Статус: активен
Назначение
Документ задает минимальный operational-процесс реагирования на инциденты, связанные с персональными данными (ПДн):
- подозрение на несанкционированный доступ;
- утечка сообщений/файлов/карточек заявок;
- массовые неудачные обращения к защищенным объектам;
- компрометация учетных данных/секретов.
Роли
Incident Lead— координация и принятие решений.Security Engineer— анализ логов, локализация, сбор evidence.Platform Engineer— технические изменения (блокировки, ротация, релиз фиксов).Business/Legal Owner— решения по внешним уведомлениям и коммуникациям.
SLA эскалации
CRITICAL: старт реакции <= 15 минут.HIGH: <= 30 минут.MEDIUM: <= 2 часа.LOW: <= 1 рабочий день.
Алгоритм
- Регистрация инцидента.
- Запустить:
./scripts/ops/incident_checklist.sh. - Зафиксировать severity/category/summary/request_id/track.
- Локализация.
- Выгрузить последние события из
security_audit_logиaudit_log. - Ограничить доступ (RBAC deny, временная блокировка операций).
- При необходимости отключить внешние интеграции.
- Сдерживание.
- Ротация критичных секретов (JWT, INTERNAL_SERVICE_TOKEN, внешние API ключи).
- Включение усиленного мониторинга логов и алертов.
- Восстановление.
- Проверка целостности данных.
- Проверка health сервисов.
- Прогон smoke/autotest набора.
- Postmortem.
- Корневая причина, окно компрометации, затронутые данные.
- План корректирующих действий и сроков.
- Обновление security backlog и runbook.
Технические команды
Проверка health:
curl -fsS http://localhost:8081/health
curl -fsS http://localhost:8081/chat-health
curl -fsS http://localhost:8081/email-health
Security audit:
docker compose exec -T db psql -U postgres -d legal -c "select created_at, actor_role, actor_subject, actor_ip, action, scope, allowed from security_audit_log order by created_at desc limit 200;"
CRUD audit:
docker compose exec -T db psql -U postgres -d legal -c "select created_at, entity, entity_id, action, responsible from audit_log order by created_at desc limit 200;"
Снимок логов:
docker compose logs --since 2h backend chat-service worker beat edge > reports/incidents/logs-$(date -u +%Y%m%d-%H%M%S).txt
Acceptance criteria
- Для каждого инцидента есть markdown-отчет в
reports/incidents/. - Есть evidence: SQL выгрузки аудита + архив логов.
- Выполнены шаги локализации и восстановления.
- Зафиксирован postmortem и follow-up задачи.