# План работ — Security Alert Center План разработки **после утверждения ТЗ**. Код не пишется до завершения фазы 0. --- ## Фаза 0. Документация и согласование (текущая) | # | Задача | Статус | |---|--------|--------| | 0.1 | ТЗ [TZ.md](TZ.md) | ✅ | | 0.2 | Архитектура, схема событий, интеграция агентов | ✅ | | 0.3 | План работ, roadmap, deployment | ✅ | | 0.4 | Согласование ТЗ с заказчиком | ⏳ | | 0.5 | Репозиторий на git.kalinamall.ru (создать remote, push) | ⏳ | | 0.6 | Multi-root workspace для трёх репо | ⏳ | **Выход:** утверждённое ТЗ v1.0, тег `docs-v1.0` в git. --- ## Фаза 1. MVP — ядро SAC (оценка: 3–4 недели) ### 1.1. Инфраструктура проекта | # | Задача | Зависимости | |---|--------|-------------| | 1.1.1 | Scaffold `backend/` FastAPI, структура пакетов | 0.4 | | 1.1.2 | Scaffold `frontend/` Vue 3 + Vite | 0.4 | | 1.1.3 | `deploy/docker-compose.yml` (api, postgres, nginx) | 1.1.1 | | 1.1.4 | Alembic, первая миграция (hosts, events, users) | 1.1.1 | | 1.1.5 | `.env.example`, документация локального dev | 1.1.3 | ### 1.2. Ingest API | # | Задача | |---|--------| | 1.2.1 | Модель Event + валидация по JSON Schema | | 1.2.2 | `POST /api/v1/events`, auth API key | | 1.2.3 | Идемпотентность по `event_id` | | 1.2.4 | Авторегистрация host при ingest | | 1.2.5 | `GET /health` | | 1.2.6 | Unit-тесты ingest | ### 1.3. UI — базовый | # | Задача | |---|--------| | 1.3.1 | Auth: login, JWT | | 1.3.2 | Страница Events (таблица, фильтры, пагинация) | | 1.3.3 | Страница Hosts | | 1.3.4 | Карточка события | | 1.3.5 | SSE live-лента (последние N) | ### 1.4. Problems (минимум) | # | Задача | |---|--------| | 1.4.1 | Модель Problem + 2 встроенных правила (brute SSH, missing heartbeat) | | 1.4.2 | UI Problems: список, ack, resolve | ### 1.5. Уведомления из SAC | # | Задача | |---|--------| | 1.5.1 | Канал Telegram (настройки в env/БД) | | 1.5.2 | Worker: отправка по правилу severity ≥ warning | | 1.5.3 | Шаблон сообщения (summary + ссылка на UI) | ### 1.6. Dashboard MVP | # | Задача | |---|--------| | 1.6.1 | API агрегатов: events/hour, failed by type | | 1.6.2 | UI: 3 виджета (график входов, failed, топ IP) | ### 1.7. Приёмка MVP | # | Задача | |---|--------| | 1.7.1 | Чеклист [TZ.md](TZ.md) §9 | | 1.7.2 | Развёртывание на тестовом Ubuntu 24.04 | | 1.7.3 | Демо с curl / mock-agent | **Выход фазы 1:** тег `v0.1.0-mvp`, работающий SAC без изменений в прод-агентах. --- ## Фаза 2. Интеграция агентов (оценка: 2–3 недели) | # | Задача | Репозиторий | |---|--------|-------------| | 2.1 | `UseSAC`, `send_sac_event`, spool | ssh-monitor | | 2.2 | `UseSAC`, `Send-SacEvent`, spool | RDP-login-monitor | | 2.3 | `--check-sac`, README | оба | | 2.4 | E2E: exclusive на 1 Linux + 1 Windows | все три | | 2.5 | Daily report через SAC | SAC + агенты | | 2.6 | Режим `fallback` | агенты | **Выход:** теги `ssh-monitor-x.y`, `rdp-monitor-x.y`, `sac-v0.2.0`. --- ## Фаза 3. Улучшения эксплуатации (оценка: 2–4 недели) См. [roadmap.md](roadmap.md): batch ingest, email, правила UI, retention job, экспорт CSV, GeoIP, LDAP. --- ## Параллельные потоки ```mermaid gantt title План SAC (упрощённо) dateFormat YYYY-MM-DD section Документы Фаза 0 ТЗ :done, f0, 2026-05-26, 3d section SAC MVP backend+UI :f1, after f0, 21d section Агенты ssh-monitor SAC :f2, after f1, 10d RDP-monitor SAC :f2b, after f1, 10d section Prod Пилот exclusive :f3, after f2, 7d ``` --- ## Роли (рекомендация) | Роль | Фокус | |------|--------| | Backend | API, БД, worker, правила | | Frontend | UI, графики, SSE | | DevOps | Ubuntu 24.04, nginx, backup | | Агенты | ssh-monitor + RDP изменения | На малой команде — одна person full-stack + выделенное время на агенты. --- ## Definition of Done (общий) - Код в `main`, проходит lint/test в CI (когда появится). - Документация обновлена. - Нет секретов в git. - Критерии приёмки фазы выполнены. --- ## См. также - [roadmap.md](roadmap.md) — продуктовые фазы - [TZ.md](TZ.md) — требования