5.1 KiB
5.1 KiB
AWatch-rus: архитектура
Статус: подготовительный документ для продукта и реестра российского ПО.
Публичное имя: AWatch-rus.
Техническая база и репозиторий: AWatch-rus.
1. Краткое описание
AWatch-rus - программный комплекс операционного контроля, технического аудита, мониторинга действий пользователей и автоматизации реагирования.
Архитектура построена вокруг ActivityWatch/AW-rus, Rust-сервисов AWatch-rus, Windows collectors, операторского портала, Grafana dashboards и evidence workflow.
2. Логические уровни
Endpoint layer
Windows/RDP collectors
Worktime/session collectors
DLP/event collectors
Evidence artifact sync
Server data layer
AW-rus API
ActivityWatch buckets
SQLite/warehouse storage
DLP/cases/policy storage
Processing layer
Rust health/status helpers
DLP aggregation/export
Worktime/reporting
SLO monitoring
Hayabusa/offline enrichment
Operator layer
AWatch-rus Portal
Grafana dashboards
Telegram notifications
Automation layer
Ansible
systemd services/timers
Windows scheduled tasks
rollback/backups
3. Основные потоки данных
Активность пользователя
Windows session -> collectors -> AW-rus API -> buckets -> reports/Grafana/portal
DLP/ИБ-инцидент
Endpoint event -> DLP decision -> AW bucket -> warehouse -> portal/Grafana
Evidence screenshot
Endpoint artifact -> scheduled sync -> evidence upload API -> server storage
-> portal preview/download -> audit
Health/SLO
services/timers/API checks -> Rust helpers -> state files -> portal/Telegram
Управленческая аналитика
AW/1C/file telemetry -> processing/export -> ClickHouse/Influx/Grafana
4. Серверные компоненты
| Компонент | Роль |
|---|---|
| AW-rus server | Прием и хранение событий ActivityWatch. |
| detmir-status | Нормализованный статус контура. |
| detmir-check | Read-only проверка состояния. |
| detmir-dlp | Проверка DLP/ИБ контура. |
| detmir-auto | Safe automation и autoheal по allowlist. |
| detmir-portal | Web-интерфейс оператора. |
| detmir-grafana-check | Проверка Grafana dashboards/data freshness. |
| aw-slo-monitor | SLO samples и summary. |
| dlp-* Rust services | Aggregation, exporters, policy/case/compliance paths. |
| worktime-* Rust services | Worktime API, bridge, prewarm, autoheal, exporters. |
5. Endpoint-компоненты
| Компонент | Роль |
|---|---|
| AFK/window watchers | Базовая ActivityWatch активность. |
| browser domain collector | Домены/категории браузера. |
| worktime session collector | RDP/session presence. |
| DLP endpoint collectors | Clipboard, USB, print, file/email/browser signals. |
| evidence sync task | Доставка screenshots/artifacts на сервер. |
6. Evidence security path
Для evidence действует отдельная защитная логика:
- opaque
evidence_id; - no raw path serving;
- canonical path/root allowlist;
- Bearer token upload;
403при upload без токена;- PNG/JPEG magic validation;
- max-size limit;
- SHA-256 validation;
- atomic write;
- audit upload/view/download.
7. Runtime-принципы
- Серверный контур автономен и не зависит от ноутбука администратора.
- Rust используется для критичных helpers, где важны скорость, типизация и надежность.
- Telegram bot runtime остается Python.
- Legacy Python/shell сохраняется только там, где это оправдано совместимостью или низким выигрышем от переноса.
- pfSense/network layer не меняется в app-level задачах без отдельного решения владельца.
8. Границы продукта
AWatch-rus не заявляется как сертифицированная СЗИ, DLP, SIEM или EDR/XDR.
Продукт заявляется как платформа:
- операционного контроля;
- технического аудита;
- управления ИТ-инфраструктурой;
- контроля регламентов;
- расследования операционных и ИБ-событий.
9. Связанные документы
docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.mddocs/DETMIR_THREAT_MODEL_RU.mddocs/ADMIN_GUIDE_RU.mddocs/OPERATOR_GUIDE_RU.mddocs/GRAFANA_DASHBOARDS_RU.mddocs/diagrams/release-readiness-v0.1.mdadk-rust/RUNBOOK.md