From 38b65e97d663b99d02cb9a6c9fe5270677fb5727 Mon Sep 17 00:00:00 2001 From: igor04091968 Date: Sat, 6 Jun 2026 14:25:54 +0300 Subject: [PATCH] docs: define collector and platform strategy --- README.md | 3 + docs/COLLECTOR_ECOSYSTEM_RU.md | 58 +++++++++++++ docs/DEPLOYMENT_STRATEGY_RU.md | 105 ++++++++++++++++++++++++ docs/PLATFORM_STRATEGY_RU.md | 145 +++++++++++++++++++++++++++++++++ 4 files changed, 311 insertions(+) create mode 100644 docs/COLLECTOR_ECOSYSTEM_RU.md create mode 100644 docs/DEPLOYMENT_STRATEGY_RU.md create mode 100644 docs/PLATFORM_STRATEGY_RU.md diff --git a/README.md b/README.md index 0541963..3872b02 100755 --- a/README.md +++ b/README.md @@ -128,6 +128,9 @@ Markdown-отчет собирает главный вывод, риски по - [Pilot v1.0](docs/PILOT_V1_RU.md) - [Pilot v1.0 acceptance checklist](docs/PILOT_V1_ACCEPTANCE_CHECKLIST_RU.md) - [Pilot v1.0 evidence](docs/PILOT_V1_EVIDENCE_RU.md) +- [Экосистема сборщиков](docs/COLLECTOR_ECOSYSTEM_RU.md) +- [Стратегия внедрения](docs/DEPLOYMENT_STRATEGY_RU.md) +- [Стратегия платформ](docs/PLATFORM_STRATEGY_RU.md) - [Ролевая модель портала](docs/ROLES_RU.md) - [UEBA Score v1](docs/UEBA_SCORE_RU.md) - [pfSense integration readiness](docs/PFSENSE_INTEGRATION_RU.md) diff --git a/docs/COLLECTOR_ECOSYSTEM_RU.md b/docs/COLLECTOR_ECOSYSTEM_RU.md new file mode 100644 index 0000000..f52f8e8 --- /dev/null +++ b/docs/COLLECTOR_ECOSYSTEM_RU.md @@ -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 или + сертифицированная СЗИ. + diff --git a/docs/DEPLOYMENT_STRATEGY_RU.md b/docs/DEPLOYMENT_STRATEGY_RU.md new file mode 100644 index 0000000..9810199 --- /dev/null +++ b/docs/DEPLOYMENT_STRATEGY_RU.md @@ -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. + diff --git a/docs/PLATFORM_STRATEGY_RU.md b/docs/PLATFORM_STRATEGY_RU.md new file mode 100644 index 0000000..d6639b2 --- /dev/null +++ b/docs/PLATFORM_STRATEGY_RU.md @@ -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. +