Files
security-alert-center/docs/work-plan.md
T
PTah d1b89c75dd docs: add 2-day delivery and hourly checklist
Add execution checklist for next two development days and a follow-up week of testing in work-plan.md.
2026-05-27 16:12:56 +10:00

5.8 KiB
Raw Blame History

План работ — Security Alert Center

Актуальный порядок: сначала подготовка агентов (параллельно с минимальным SAC ingest), затем полный SAC MVP, затем prod rollout UseSAC=exclusive.


Фаза 0. Документация

# Задача Статус
0.10.3 ТЗ, архитектура, схема, deployment
0.5 Репозиторий git.kalinamall.ru
0.6 Multi-root workspace

Фаза 1A. Агенты — контракт SAC (параллельно с 1B)

Репозитории: ssh-monitor, RDP-login-monitor
Прод: везде UseSAC=off по умолчанию.

# Задача Статус
1A.1 Параметры UseSAC, SAC_URL, SAC_API_KEY, spool ssh-monitor
1A.2 build_sac_event() + send_sac_event() по schema v1 sac-client.sh
1A.3 notify_or_sac(): off / dual / exclusive / fallback + маппинг событий
1A.4 --check-sac / Test-SacConnection ssh-monitor --check-sac
1A.5 README агентов, first deploy first_deploy.sh, --deploy

Выход: на тестовом хосте dual шлёт JSON в SAC + Telegram.


Фаза 1B. SAC — минимальный ingest (prod)

# Задача Статус
1B.1 Scaffold backend FastAPI
1B.2 PostgreSQL + Alembic (hosts, events, api_keys)
1B.3 POST /api/v1/events, GET /health prod sac.kalinamall.ru
1B.4 systemd + nginx + TLS
1B.5 Валидация JSON Schema v1

Выход: ingest с curl и UI на prod — достигнут.


Фаза 1C. SAC — MVP UI и оповещения

# Задача Статус
1C.1 Frontend Vue: Events, Hosts prod
1C.2 Auth JWT, admin bootstrap prod
1C.3 Problems (базовые правила) API + UI (деплой )
1C.4 Telegram из SAC backend (деплой + TELEGRAM_* в env)
1C.5 Dashboard (3 виджета), SSE v0.2.0

Выход: тег v0.2.0-mvp.


Фаза 2. Пилот и exclusive

# Задача
2.1 E2E: 1 Linux + 1 Windows, UseSAC=exclusive
2.2 Daily report / heartbeat через SAC
2.3 fallback на агентах

Выход: v0.2.0.


Фаза 3. Эксплуатация

См. roadmap.md.


Ближайшие 2 дня (чеклист исполнения)

День 1

  • d1-1 Ingest: event_id UUID обязателен, UNIQUE индекс, коды duplicate, логи, docs/schema
  • d1-2 MVP Problems: модель, корреляция host+type+окно, API GET/ack/resolve
  • d1-3 Правила v1: brute-force burst, privilege spike, host silence

День 2

  • d2-1 UI Problems: список, фильтры, Ack/Resolve, карточка с таймлайном
  • d2-2 Dashboard: top hosts/types, open vs resolved 24h, drill-down
  • d2-3 Ops: retention, health checks, runbook backup/restore/deploy
  • dod DoD: нет дублей event_id, Problems e2e, 3 правила, UI MVP, docs, push в kalinamall

Почасовой чеклист

День 1

  • 09:0010:00 миграция event_id + UNIQUE, валидация ingest
  • 10:0011:00 поведение duplicate (201/409) и логирование reject
  • 11:0012:00 обновить event-schema-v1.json и agent-integration.md
  • 13:0014:30 модель Problems + миграция
  • 14:3016:00 корреляция при ingest (fingerprint, count, last_seen)
  • 16:0017:30 API GET /problems, ack, resolve + smoke
  • 18:0019:00 правила brute/privilege/silence + unit tests

День 2

  • 09:0011:00 UI Problems: таблица + фильтры (status/severity/host)
  • 11:0012:00 карточка проблемы + таймлайн событий
  • 13:0014:30 Dashboard: виджеты top hosts/types
  • 14:3016:00 Dashboard: open/resolved 24h + drill-down
  • 16:0017:00 retention job (events 3090d, problems 180d+)
  • 17:0018:00 health checks (DB/worker/heartbeat stale)
  • 18:0019:00 runbook + финальный push в kalinamall + freeze dev

Неделя после freeze (только тестирование)

  • дни 12 функциональные E2E (RDP + SSH + mixed load)
  • дни 34 нагрузка, дубликаты, флаппинг heartbeat
  • день 5 регресс + known issues
  • дни 67 soak-test, только bugfix

Gantt (упрощённо)

gantt
  title SAC — актуальный план
  dateFormat YYYY-MM-DD
  section Документы
  Фаза 0            :done, 2026-05-26, 1d
  section SAC
  1B ingest+deploy  :done, 2026-05-26, 1d
  1C UI базовый     :done, 2026-05-26, 1d
  1C notify+dash    :active, 2026-05-27, 14d
  section Агенты
  1A UseSAC dual     :2026-05-26, 10d
  section Prod
  Пилот exclusive   :2026-06-16, 7d

См. также