148 lines
9.3 KiB
Markdown
Executable File
148 lines
9.3 KiB
Markdown
Executable File
# AWatch-rus
|
||
|
||
Практический каркас проекта для повторного развёртывания ActivityWatch Server в новом окружении с LXC-контейнером на Proxmox, русифицированным Web UI, systemd-юнитами, шаблонными скриптами деплоя и эксплуатационной документацией.
|
||
|
||
## Что входит
|
||
|
||
- `docs/preparation.md` — подготовка инфраструктуры и входных параметров.
|
||
- `docs/codebase-onboarding.md` — обзор структуры репозитория и маршрут изучения для новичка.
|
||
- `docs/deployment.md` — пошаговый деплой LXC и ActivityWatch Server.
|
||
- `docs/runbook.md` — быстрый runbook для оператора.
|
||
- `docs/security-analytics-stack-v1.md` — текущий security analytics контур: Hayabusa, auto-case, scoring и Telegram alerts.
|
||
- `docs/operations.md` — регламент сопровождения, бэкапов, обновлений и rollback.
|
||
- `docs/GRAFANA_DASHBOARDS_RU.md` — импорт и сопровождение Grafana dashboard'ов через Ansible API playbook.
|
||
- `docs/PRESENTATION_RU.md` — презентационные экраны Grafana и AW-rus со скриншотами.
|
||
- `docs/1C_FILE_ANALYTICS_STACK_RU.md` — production guide по файловой 1С Detmir: topology, rollout, verification, recovery, task principal и hardening.
|
||
- `docs/1C_COMPANY_INTELLIGENCE_RU.md` — слой анализа и прогноза по компаниям поверх `clickhouse-1c`: marts, forecasting, API и Grafana; в file-based Detmir контуре это прогноз активности компаний/баз по read-only telemetry.
|
||
- `docs/windows/ensemble.md` — orchestration-пакет для Windows-деплоя и проверки.
|
||
- `docs/linux-client.md` — user-space rollout Linux-клиента ActivityWatch на удалённый `AW server`.
|
||
- `docs/linux-remote-worker.md` — полный Linux remote-worker stack: GUI, SSH/console и browser admin UI вроде Proxmox `:8006`.
|
||
- `docs/console-ssh-logger.md` — логирование только консольных команд и SSH-сессий в AW.
|
||
- `docs/dlp-gap-analysis.md` — разрыв до enterprise DLP и roadmap.
|
||
- `docs/dlp-aggregator.md` — прототип централизованной агрегации DLP/file-operation событий.
|
||
- `docs/dlp-reliability-roadmap.md` — roadmap повышения надёжности DLP-коллекторов.
|
||
- `docs/powershell-analysis.md` — статический анализ работоспособности DLP PowerShell-скриптов.
|
||
- `proxmox/` — шаблонные скрипты подготовки и наполнения CT на стороне Proxmox.
|
||
- `aw-server/` — установочные скрипты, env-шаблон, systemd unit и RU patch для Web UI.
|
||
- `ansible/` — Ansible-ensemble для автоматизированного сервера (Debian/CT).
|
||
- `grafana/` — version-controlled Grafana dashboard JSON для RDP/worktime, DLP/ИБ и overview-экранов.
|
||
- `clickhouse-1c/` — отдельный analytics stack для **файловой 1С**: ETL, ClickHouse schema, detections, company intelligence marts/forecasting, Grafana catalog и AI Investigator contract.
|
||
- `pfsense/` — внешний poller для pfSense API и systemd unit под Debian/Ubuntu utility VM.
|
||
- `windows/` — PowerShell toolkit: single-user, domain-users, ensemble orchestration, hardening/recovery, validation, Windows/RDP DLP telemetry (`aw-dlp-incidents_*`, `aw-dlp-endpoint-signals_*`) и session-level presence для удалённых Windows/RDP пользователей (`aw-worktime-sessions_*`).
|
||
- `scripts/quality-gate.sh` — локальный preflight-пайплайн проверок.
|
||
- `scripts/aggregate_dlp_events.py` — сбор `aw-file-operations_*` и `aw-dlp-incidents_*` в SQLite/PostgreSQL.
|
||
- `scripts/install_aw_linux_client.sh` — установка Linux bundle + autostart для remote AW server.
|
||
- `scripts/install_aw_console_ssh_logger.sh` — user-space установка console/ssh logger.
|
||
- `scripts/install_aw_linux_web_category_logger.sh` — user-space классификация browser admin UI по title/class.
|
||
- `scripts/install_aw_linux_remote_worker.sh` — полный Linux remote-worker installer.
|
||
|
||
## Базовый сценарий
|
||
|
||
1. Подготовить параметры окружения по `docs/preparation.md`.
|
||
2. Заполнить единый файл секретов `secrets/deploy.secrets.env` (автоподключение).
|
||
3. На узле Proxmox создать контейнер через `proxmox/create-ct.sh`.
|
||
4. Загрузить артефакты и серверный env в CT через `proxmox/push-aw-artifacts.sh`.
|
||
5. Внутри контейнера выполнить `aw-server/install_aw_server.sh`.
|
||
6. Применить русификацию Web UI через `aw-server/apply_webui_ru_patch.sh`.
|
||
7. Проверить API, Web UI и состояние systemd по `docs/runbook.md`.
|
||
8. Развернуть Windows-клиентов через `windows/deploy-ensemble.ps1`.
|
||
9. Проверить итог через `windows/validate-deployment.ps1`.
|
||
|
||
## Текущий security analytics контур
|
||
|
||
Сейчас в `AW-rus` уже есть замкнутый forensic-контур:
|
||
|
||
- Windows-хост раз в `6` часов делает `EVTX export + upload`;
|
||
- `aw-hayabusa-drop.path` автоматически подхватывает новый пакет;
|
||
- `aw-hayabusa` строит forensic-отчёт;
|
||
- `aw-hayabusa-case-alert` считает severity и score;
|
||
- при уровне от `medium` создаётся или обновляется case;
|
||
- при уровне от `high` уходит Telegram alert;
|
||
- в case пишется только bounded metadata, без сырых EVTX и полного timeline body.
|
||
|
||
Практический операторский вход:
|
||
|
||
```powershell
|
||
powershell.exe -ExecutionPolicy Bypass -File C:\ProgramData\AWatch-rus\export-upload-hayabusa-to-aw-server.ps1 -HoursBack 6 -CaseId 30
|
||
```
|
||
|
||
Подробности:
|
||
|
||
- `docs/security-analytics-stack-v1.md`
|
||
- `docs/runbook.md`
|
||
- `docs/hayabusa-operator-ib-guide-2026-05-14.md`
|
||
|
||
Для полного Ansible-сценария “с нуля” в Proxmox используйте:
|
||
|
||
- `ansible/provision_proxmox_ct_and_deploy_aw.yml`
|
||
- `ansible/provision_proxmox_ct_matrix_and_deploy_aw.yml` (массово по матрице CT)
|
||
|
||
Для централизованного деплоя Windows/RDP-клиентов через WinRM:
|
||
|
||
- `ansible/deploy_aw_windows.yml`
|
||
|
||
Для внешнего pfSense poller'а:
|
||
|
||
- `ansible/deploy_aw_pfsense_poller.yml`
|
||
|
||
Для импорта Grafana dashboard'ов через HTTP API:
|
||
|
||
- `ansible/deploy_grafana_dashboards.yml`
|
||
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
||
- `docs/1C_FILE_ANALYTICS_STACK_RU.md`
|
||
|
||
Для Linux desktop/admin host, который должен слать watcher'ы на удалённый AW server:
|
||
|
||
- `docs/linux-client.md`
|
||
- `scripts/install_aw_linux_client.sh`
|
||
|
||
Для полного Linux remote-worker сценария:
|
||
|
||
- `docs/linux-remote-worker.md`
|
||
- `scripts/install_aw_linux_remote_worker.sh`
|
||
|
||
Для режима “только консоль/ssh” без GUI watcher'ов:
|
||
|
||
- `docs/console-ssh-logger.md`
|
||
- `scripts/install_aw_console_ssh_logger.sh`
|
||
|
||
Скрипты `proxmox/create-ct.sh` и `proxmox/push-aw-artifacts.sh` по умолчанию читают:
|
||
|
||
- `secrets/deploy.secrets.env`
|
||
|
||
## Принципы
|
||
|
||
- Никаких реальных секретов, токенов и боевых IP в репозитории.
|
||
- Все переменные вынесены в `.example` / `.env` шаблоны.
|
||
- Документация ориентирована на повторяемое развёртывание, а не на одноразовую ручную установку.
|
||
- Rollback и backup описаны как обязательная часть каждой операции.
|
||
|
||
## Минимальная структура
|
||
|
||
- CT/LXC на Debian 12
|
||
- ActivityWatch Server Rust release
|
||
- Web UI override в `/opt/activitywatch/webui-ru`
|
||
- systemd unit `activitywatch-server.service`
|
||
- bind/listen через переменные окружения
|
||
|
||
## Ограничения
|
||
|
||
- Базовый серверный контур AW-rus работает и без Grafana/InfluxDB.
|
||
- Для управленческих и ИБ-dashboard'ов нужен отдельный мониторинговый стек: Grafana + InfluxDB.
|
||
- Часть интеграционных сценариев всё ещё требует внешних систем: pfSense, 1С, почтовый контур, SQL/monitoring stack.
|
||
|
||
## Быстрые ссылки
|
||
|
||
- `/mnt/usb_hdd2/Projects/ActivityWatch-Russian/docs/FULL_DEPLOYMENT_MANUAL_RU.md`
|
||
- `/home/igor/tmp/AWatch-rus/docs/windows/ensemble.md`
|
||
- `docs/preparation.md`
|
||
- `docs/deployment.md`
|
||
- `docs/runbook.md`
|
||
- `docs/operations.md`
|
||
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
||
- `docs/PRESENTATION_RU.md`
|
||
- `proxmox/create-ct.sh`
|
||
- `aw-server/install_aw_server.sh`
|
||
- `windows/deploy-ensemble.ps1`
|
||
- `windows/validate-deployment.ps1`
|