Files
security-alert-center/docs/work-plan.md
T
PapaTramp 4f3adc9429 docs: ТЗ v1.0, планы и схема SAC (фаза 0)
Security Alert Center — документация без кода приложения.

- TZ, архитектура, интеграция агентов (UseSAC)

- JSON Schema событий v1, deployment Ubuntu 24.04

- План работ, roadmap, multi-root workspace
2026-05-26 19:54:47 +10:00

155 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# План работ — 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) — требования