Files
AWatch-rus/docs/ARCHITECTURE_RU.md
T

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-принципы

  1. Серверный контур автономен и не зависит от ноутбука администратора.
  2. Rust используется для критичных helpers, где важны скорость, типизация и надежность.
  3. Telegram bot runtime остается Python.
  4. Legacy Python/shell сохраняется только там, где это оправдано совместимостью или низким выигрышем от переноса.
  5. pfSense/network layer не меняется в app-level задачах без отдельного решения владельца.

8. Границы продукта

AWatch-rus не заявляется как сертифицированная СЗИ, DLP, SIEM или EDR/XDR.

Продукт заявляется как платформа:

  • операционного контроля;
  • технического аудита;
  • управления ИТ-инфраструктурой;
  • контроля регламентов;
  • расследования операционных и ИБ-событий.

9. Связанные документы

  • docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.md
  • docs/DETMIR_THREAT_MODEL_RU.md
  • docs/ADMIN_GUIDE_RU.md
  • docs/OPERATOR_GUIDE_RU.md
  • docs/GRAFANA_DASHBOARDS_RU.md
  • docs/diagrams/release-readiness-v0.1.md
  • adk-rust/RUNBOOK.md