docs: define collector and platform strategy

This commit is contained in:
igor04091968
2026-06-06 14:25:54 +03:00
parent f3fd655ada
commit 38b65e97d6
4 changed files with 311 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
# AWatch-rus Data Collection Framework
Документ фиксирует модель развития сборщиков данных AWatch-rus без заявления
несуществующего функционала.
AWatch-rus рассматривается как платформа:
```text
Source -> Provider -> Normalized Event/API Contract -> Backend -> Portal -> Report
```
Важно: наличие точки расширения не означает, что соответствующий collector уже
реализован. Статус каждого направления указан отдельно.
## Статусы
- `implemented` - есть рабочая реализация в репозитории или текущем runtime.
- `planned` - направление предусмотрено архитектурно, но не является готовым
универсальным provider.
- `future` - возможное направление развития без готового контракта внедрения.
- `contract_only` - есть схема/API/fixture или модель данных, но нет заявления
о включенном production ingestion.
## Текущее состояние продукта
| Компонент | Статус | Что есть сейчас | Evidence |
|---|---:|---|---|
| Rust Agent | `implemented` | `awatch-agent-rs` и `aw-windows-telemetry.exe` как Rust-first runtime для агентского сбора, guard/validation и отдельных Windows-путей. Глубина сбора зависит от платформы и текущего parity-этапа. | `adk-rust/crates/awatch-agent-rs`, `adk-rust/crates/aw-windows-telemetry`, `docs/AGENT_ARCHITECTURE_RU.md`, `docs/POWERSHELL_TO_RUST_ROADMAP_RU.md` |
| API Contracts | `implemented` | Портальный слой и Pilot v1 API имеют стабильные JSON-контракты для executive/workforce/security/forensics/ueba/reports; отдельные интеграции могут иметь статус `contract_only`. | `docs/PILOT_V1_RU.md`, `docs/ROLES_RU.md`, `docs/UEBA_SCORE_RU.md` |
| Portal | `implemented` | Rust server-rendered HTML + HTMX-compatible JSON API; ролевые представления Executive / Workforce / Security / Forensics. | `README.md`, `docs/PILOT_V1_RU.md`, `docs/PORTAL_RU.md` |
| Backend | `implemented` | Rust-first серверные helpers для health, worktime, DLP/evidence, install-kit tooling, portal contracts и report layer. | `adk-rust/README.md`, `adk-rust/RUNBOOK.md` |
## Архитектурно предусмотренные точки расширения
| Provider | Статус | Назначение | Граница честного заявления |
|---|---:|---|---|
| PowerShell Provider | `planned` | Агентless/legacy сбор на Windows через существующие PowerShell-скрипты или WinRM-оркестрацию. | В репозитории есть PowerShell scripts и rollback/fallback слой, но формальный универсальный provider Data Collection Framework не заявлен как готовый. |
| SSH Provider | `planned` | Агентless сбор с Linux/Unix/network hosts через SSH-команды, read-only probes и existing logs. | Есть операционные SSH/Rust wrappers и Linux remote worker docs, но нет готового универсального SSH provider для массового пилота без агентов. |
| Syslog Provider | `planned` | Прием событий от сетевых устройств, Linux hosts, DLP/security tools или существующих log sources. | Серверные DLP syslog/CEF направления существуют как интеграционные helpers; полноценный inbound syslog collector для всех источников не заявляется. |
| 1C Provider | `implemented` | File-based 1C analytics через Rust ingest/ClickHouse и связанные отчеты. | Реализованный контур относится к текущему file analytics сценарию; это не универсальный 1C-коннектор ко всем конфигурациям 1C. |
| pfSense Provider | `contract_only` | Контракты для firewall events, VPN events, traffic summary, top destinations. | Есть API/fixture/docs readiness, но реальный ingestion и SIEM-функции не заявляются. |
| VPN Provider | `future` | Обогащение расследований и workforce/security analytics VPN-событиями из корпоративных VPN-шлюзов. | Отдельный production provider не реализован. pfSense VPN events остаются частью `contract_only` readiness. |
| SCUD Provider | `future` | Сопоставление активности рабочего места с событиями физического доступа. | Нет реализованного СКУД collector, схемы конкретного вендора или production ingestion. |
| Future API Providers | `future` | Подключение корпоративных систем через стабильные API-контракты и нормализацию событий. | Направление архитектурно допустимо, но каждый API provider должен получать отдельный контракт, тесты и статус только после реализации. |
## Принципы расширения
1. Provider не должен менять существующие portal/API contracts без обратной
совместимости.
2. Новые источники должны сначала отдавать обезличенный fixture и JSON schema,
затем проходить ingestion tests.
3. Статус `implemented` присваивается только после наличия кода, тестов,
документации и smoke-проверки.
4. Demo data не должны содержать реальные IP, hostname, логины, ФИО,
подразделения заказчика или реальные события безопасности.
5. AWatch-rus не заявляется как SIEM, классический DLP, EDR/XDR или
сертифицированная СЗИ.
+105
View File
@@ -0,0 +1,105 @@
# AWatch-rus Deployment Strategy
Документ описывает стратегию внедрения AWatch-rus по уровням зрелости. Это
архитектурная модель, а не заявление о готовности всех способов сбора.
## Level 1 - Pilot
Назначение: быстрое обследование инфраструктуры и демонстрация управленческой,
эксплуатационной и ИБ-ценности без длительного проекта внедрения.
Целевые источники:
- PowerShell;
- SSH;
- Syslog;
- existing logs.
Статус: архитектурное направление.
Ключевое сообщение: пилот может быть проведен без массовой установки агентов
после реализации соответствующих providers и проверки их контрактов на
конкретной инфраструктуре.
Что уже есть:
- Windows/RDP toolkit и legacy/fallback PowerShell assets;
- Rust-first Windows runtime для части текущих путей;
- серверные Rust helpers;
- portal/API/report layer;
- install-kit и Ansible-оркестрация.
Что не заявляется как готовое:
- универсальный PowerShell Provider для любых Windows hosts;
- универсальный SSH Provider для любых Linux/network hosts;
- универсальный inbound Syslog Provider;
- agentless-пилот без предварительной адаптации источников.
## Level 2 - Enterprise
Назначение: регулярный промышленный мониторинг рабочих мест, RDP-сессий,
серверных контуров и качества данных.
Основной источник:
- Rust Agent.
Статус: основная целевая архитектура.
Текущая опора:
- `awatch-agent-rs` как единая модель `TelemetryRecord`;
- `aw-windows-telemetry.exe` для Windows runtime paths;
- server-side Rust services/helpers;
- API contracts и portal/report layer;
- spool/retry/backoff подход для устойчивой доставки там, где он реализован.
Граница заявления:
- глубина сбора зависит от платформы и реализованного collector path;
- legacy PowerShell assets могут оставаться rollback/reference слоем до полной
parity;
- массовая эксплуатация требует проверки свежести buckets, agent health,
ClickHouse/API status и smoke-тестов в конкретной инфраструктуре.
## Level 3 - Enterprise+
Назначение: корпоративная аналитическая платформа, которая связывает Workforce
Analytics, Security Analytics и Forensics с внешними корпоративными системами.
Потенциальные интеграции:
- AD;
- LDAP;
- 1C;
- SIEM;
- pfSense;
- VPN;
- SCUD.
Статус: частично реализовано / частично roadmap.
Матрица статусов:
| Интеграция | Статус | Комментарий |
|---|---:|---|
| AD | `planned` | Может использоваться для организационного контекста и ролей, но готовый универсальный AD provider здесь не заявляется. |
| LDAP | `planned` | Архитектурное направление для directory context; production provider требует отдельной реализации и тестов. |
| 1C | `implemented` | Есть file-based 1C analytics/ingest сценарий; не является универсальным коннектором ко всем 1C-конфигурациям. |
| SIEM | `future` | AWatch-rus не является SIEM. Возможна будущая интеграция как источник/потребитель событий через контракты. |
| pfSense | `contract_only` | Есть readiness contracts/fixture/API-заготовка; реальный ingestion не заявляется. |
| VPN | `future` | Может обогащать расследования и сетевой контекст, но отдельный provider не реализован. |
| SCUD | `future` | Возможное сопоставление с физическим доступом; готовый collector отсутствует. |
## Правила внедрения
1. Не включать новый источник в коммерческое описание как готовый, пока нет
кода, контракта, тестов и документации.
2. Для пилота фиксировать список реально подключенных источников в acceptance
checklist.
3. Для production использовать обратную совместимость API и миграции без
потери данных.
4. Для внешних интеграций сначала готовить read-only режим, fixture и smoke,
затем ingestion.
+145
View File
@@ -0,0 +1,145 @@
# AWatch-rus Platform Strategy
Документ фиксирует стратегию поддержки Windows и российских операционных
систем. Он не заявляет сертификацию, vendor-specific поддержку или готовые
дистрибутивные пакеты там, где их нет.
## Общая модель
AWatch-rus разделяет два способа сбора:
- Agent Model - установленный Rust agent/runtime на хосте.
- Agentless Model - сбор через внешние providers: PowerShell/WinRM, SSH,
Syslog, existing logs или API.
Текущая реализация сильнее всего развита для Windows/RDP и серверного Rust
runtime. Для Linux-подобных платформ есть generic Linux collector foundation,
но отдельная поддержка конкретных российских ОС должна подтверждаться
тестированием на этих дистрибутивах.
## Windows
Current Support: `implemented`.
- Windows/RDP deployment toolkit присутствует в `windows/` и `ansible/`.
- `aw-windows-telemetry.exe` используется как Rust-first runtime для части
Windows paths.
- Legacy PowerShell scripts остаются rollback/reference слоем до полной parity.
Agent Model: `implemented`.
- Rust Windows runtime поставляется в install-kit.
- Agent/service/task модель требует проверки на целевом host и acceptance gates.
Agentless Model: `planned`.
- PowerShell/WinRM assets существуют, но универсальный agentless provider для
всех Windows hosts не заявляется как готовый продуктовый режим.
Future Expansion:
- расширение WinAPI/ETW/Event Log/WMI parity в Rust;
- сокращение PowerShell fallback после успешных parity gates;
- более строгая упаковка service/task definitions без runtime `.ps1`.
## Astra Linux
Current Support: `planned`.
- Отдельная Astra Linux-сертификация, пакет или distro-specific smoke в
публичном репозитории не заявлены.
- Generic Linux collector foundation в `awatch-agent-rs` может быть базой для
проверки совместимости.
Agent Model: `planned`.
- Целевая модель - Rust agent как systemd-friendly service с read-only probes.
- Перед коммерческим заявлением нужны установка, smoke, health check и rollback
на конкретной версии Astra Linux.
Agentless Model: `planned`.
- Возможен SSH/Syslog/existing logs подход после реализации соответствующих
providers.
Future Expansion:
- compatibility matrix по версиям Astra Linux;
- systemd unit/package profile;
- проверка сетевых, process и session probes без привилегий сверх необходимого.
## РЕД ОС
Current Support: `planned`.
- Отдельная поддержка РЕД ОС не подтверждена тестами в публичном репозитории.
- Generic Linux collector foundation не равен готовой поддержке РЕД ОС.
Agent Model: `planned`.
- Целевая модель - Rust agent с конфигурацией, spool/retry и systemd unit.
Agentless Model: `planned`.
- Потенциальные источники: SSH, Syslog, existing logs после появления providers.
Future Expansion:
- проверка совместимости пакетов и системных путей;
- smoke на поддерживаемых версиях РЕД ОС;
- документированный install/rollback сценарий.
## Альт
Current Support: `planned`.
- Отдельная поддержка Альт не заявлена как реализованная.
- Нужна distro-specific проверка, даже если generic Linux collector собирается
и запускается.
Agent Model: `planned`.
- Целевая модель - Rust agent/service без зависимости от пользовательских shell
profiles и локального состояния оператора.
Agentless Model: `planned`.
- Возможен SSH/Syslog/existing logs сценарий после реализации providers и
нормализации событий.
Future Expansion:
- compatibility matrix по редакциям Альт;
- package/service profile;
- проверка read-only probes и прав доступа.
## РОСА
Current Support: `planned`.
- Отдельная поддержка РОСА не подтверждена готовым install profile или smoke.
- Generic Linux foundation может быть использован как техническая база.
Agent Model: `planned`.
- Целевая модель - Rust agent с systemd service, bounded timeouts и безопасным
retry/spool.
Agentless Model: `planned`.
- Возможен после появления SSH/Syslog/API providers и проверки источников.
Future Expansion:
- smoke на выбранных версиях РОСА;
- документирование зависимостей;
- тесты свежести данных и отказоустойчивости agent/service.
## Что нельзя заявлять без отдельной реализации
- сертифицированную поддержку российских ОС;
- готовые пакеты для Astra Linux, РЕД ОС, Альт или РОСА;
- agentless-пилот без реализации providers;
- SIEM/DLP/EDR/XDR-замену;
- сбор данных из AD/LDAP/VPN/SCUD без проверенного provider и contracts.