docs: enter demo freeze housekeeping
This commit is contained in:
@@ -213,7 +213,7 @@ collectors.
|
||||
[commercial positioning](docs/REGISTRY_COMMERCIAL_POSITIONING_RU.md),
|
||||
[readiness checklist](docs/REGISTRY_READINESS_CHECKLIST_RU.md).
|
||||
|
||||
- [Позиционирование для реестра российского ПО](docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md)
|
||||
- [Позиционирование для реестра российского ПО](docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md)
|
||||
- [Сведения для подачи в реестр](REGISTER_RU_SOFTWARE.md)
|
||||
- [Registry product passport](docs/REGISTRY_PRODUCT_PASSPORT_RU.md)
|
||||
- [Registry architecture](docs/REGISTRY_ARCHITECTURE_RU.md)
|
||||
@@ -228,7 +228,7 @@ collectors.
|
||||
- [Сценарий экспертной проверки](docs/EXPERT_TEST_SCENARIO_RU.md)
|
||||
- [Release manifest 2026-06](docs/RELEASE_MANIFEST_2026-06.md)
|
||||
- [Эксплуатационный профиль](docs/OPERATIONAL_PROOF_PROFILE_RU.md)
|
||||
- [Коммерческие модули AWatch-rus](docs/DETMIR_COMMERCIAL_MODULES_RU.md)
|
||||
- [Коммерческие модули AWatch-rus](docs/COMMERCIAL_MODULES_RU.md)
|
||||
- [Архитектурный baseline](docs/ARCHITECTURE_BASELINE_RU.md)
|
||||
- [Пакет пилота для заказчика](docs/CUSTOMER_PILOT_PACK_RU.md)
|
||||
- [Enterprise deployment guide](docs/ENTERPRISE_DEPLOYMENT_GUIDE_RU.md)
|
||||
@@ -256,6 +256,7 @@ collectors.
|
||||
- [Browser conformance smoke](docs/BROWSER_CONFORMANCE_RU.md)
|
||||
- [Production readiness портала](docs/PRODUCTION_READINESS_RU.md)
|
||||
- [Explainable Workforce KPI](docs/EXPLAINABLE_KPI_RU.md)
|
||||
- [Risk Narrative](docs/RISK_NARRATIVE_RU.md)
|
||||
- [Executive Action Center](docs/EXECUTIVE_ACTION_CENTER_RU.md)
|
||||
- [Rust Agent baseline](docs/RUST_AGENT_BASELINE_RU.md)
|
||||
- [Итог production-расследования 2026-06-07](docs/PRODUCTION_INCIDENT_REPORT_2026-06-07_RU.md)
|
||||
|
||||
@@ -305,5 +305,5 @@ stale/dead buckets для обязательных источников.
|
||||
- `docs/ARCHITECTURE_RU.md` - архитектура.
|
||||
- `docs/ADMIN_GUIDE_RU.md` - руководство администратора.
|
||||
- `docs/OPERATOR_GUIDE_RU.md` - руководство оператора.
|
||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` - стратегия
|
||||
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` - стратегия
|
||||
позиционирования.
|
||||
|
||||
@@ -337,7 +337,7 @@ Collector и server-side сервисы проектировались так,
|
||||
|
||||
### MCP / PowerShell remote для AWatch-rus
|
||||
|
||||
Документ: `docs/DETMIR_POWERSHELL_MCP_REMOTE_RU.md`
|
||||
Документ: `docs/POWERSHELL_MCP_REMOTE_RU.md`
|
||||
|
||||
Реализует:
|
||||
|
||||
|
||||
+14
-13
@@ -1,9 +1,9 @@
|
||||
# Runbook: перевод DetMir на Rust / ADK-Rust
|
||||
# Runbook: перевод AWatch-rus на Rust / ADK-Rust
|
||||
|
||||
Дата фиксации: `2026-06-01`
|
||||
|
||||
Цель: постепенно заменить хрупкие Python/shell operational scripts на
|
||||
самодостаточные Rust-бинарники, не ломая текущий production-контур DetMir.
|
||||
самодостаточные Rust-бинарники, не ломая текущий production-контур AWatch-rus.
|
||||
|
||||
Этот runbook является рабочим планом миграции. Если фактический runtime
|
||||
расходится с этим документом, сначала фиксируется baseline, затем обновляется
|
||||
@@ -1543,7 +1543,7 @@ systemctl is-active tsj-guardian-bot tsj-guardian-watchdog gost-tg
|
||||
- production binary доставлен на AW server, но `--apply` не запускался;
|
||||
- production dry-run: `apply=false`, `ok=true`, `missing=0`,
|
||||
`executed=0`, `steps=25`;
|
||||
- final production gates: AW failed units `0`, DetMir status OK with
|
||||
- final production gates: AW failed units `0`, `detmir-status` OK with
|
||||
`service_warnings=0`, `dlp_counts={ok:22,warn:0,fail:0}`,
|
||||
`ok_for_operator=true`;
|
||||
- gates: `cargo fmt --all -- --check`, `cargo test -p
|
||||
@@ -1707,15 +1707,15 @@ systemctl is-active tsj-guardian-bot tsj-guardian-watchdog gost-tg
|
||||
Grafana check `ok=true` with `fail=0`, `detmir-auto --no-heal` rc `0`,
|
||||
portal health `true`, `detmir-status` `OK / ok_for_operator=true`, and
|
||||
failed units `0`.
|
||||
- `docs/DETMIR_THREAT_MODEL_RU.md` added as the current working threat
|
||||
model for DetMir. It records the product as an operational
|
||||
- `docs/THREAT_MODEL_RU.md` added as the current working threat
|
||||
model for AWatch-rus. It records the product as an operational
|
||||
control and technical audit platform, not a certified DLP/SIEM/EDR/XDR
|
||||
or FSTEC SZI. It also records Igor as the declared product owner, lists
|
||||
assets, trust zones, attacker/operator-failure classes, implemented
|
||||
evidence controls, residual risks, and the hardening roadmap.
|
||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` added as the
|
||||
registry/product positioning note. Current decision: lead with DetMir as
|
||||
an operational control and IT infrastructure management platform, use
|
||||
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` added as the
|
||||
registry/product positioning note. Current decision: lead with AWatch-rus
|
||||
as an operational control and IT infrastructure management platform, use
|
||||
`09.10` as the primary Russian software registry class target, keep
|
||||
DLP/security/evidence/Hayabusa as applied modules, and prepare website,
|
||||
operator/admin docs, ownership package, screenshots, and dependency
|
||||
@@ -1724,17 +1724,18 @@ systemctl is-active tsj-guardian-bot tsj-guardian-watchdog gost-tg
|
||||
`docs/ADMIN_GUIDE_RU.md`, `docs/OPERATOR_GUIDE_RU.md`,
|
||||
`docs/INSTALL_RU.md`, `docs/ARCHITECTURE_RU.md`,
|
||||
`docs/OWNERSHIP_RU.md`, `docs/THIRD_PARTY_LICENSES_RU.md`, and
|
||||
`docs/REGISTRY_CHECKLIST_RU.md`. Naming decision fixed across the docs:
|
||||
`DetMir` is the product, `AWatch-rus` is the repository/technical base,
|
||||
and the external formula is `DetMir, программный комплекс на базе
|
||||
AWatch-rus`.
|
||||
`docs/REGISTRY_CHECKLIST_RU.md`. Current naming decision for public
|
||||
materials: `AWatch-rus` is the product and repository name. Legacy
|
||||
`detmir-*` service, crate and environment identifiers remain technical
|
||||
runtime identifiers until a separate compatibility-safe migration is
|
||||
approved.
|
||||
|
||||
Отложить:
|
||||
|
||||
- post-MVP развитие `detmir-portal`: role-aware views, safe check-now action,
|
||||
daily owner report, historical trends, AI summary with strict source
|
||||
citations, action buttons with allowlist and audit log. Детальный план:
|
||||
`docs/DETMIR_PORTAL_GUI_PLAN_RU.md`;
|
||||
`docs/PORTAL_GUI_PLAN_RU.md`;
|
||||
- перенос Telegram bot runtime снят с плана: Python остается постоянным
|
||||
runtime, Rust используется только для backend helpers;
|
||||
- перенос оставшихся install/runtime scripts на Rust;
|
||||
|
||||
+5
-5
@@ -92,8 +92,8 @@ ansible-playbook -i inventory.ini provision_proxmox_ct_matrix_and_deploy_aw.yml
|
||||
Важно:
|
||||
|
||||
- `WinRM` здесь остаётся транспортом для `Ansible deploy` и `validation`;
|
||||
- для интерактивной PowerShell-работы из Linux/Codex по DetMir используйте project MCP-over-SSH путь, а не `WSMan`;
|
||||
- каноника лежит в `docs/DETMIR_POWERSHELL_MCP_REMOTE_RU.md` и `scripts/install_detmir_powershell_mcp.sh`.
|
||||
- для интерактивной PowerShell-работы из Linux/Codex по AWatch-rus используйте project MCP-over-SSH путь, а не `WSMan`;
|
||||
- каноника лежит в `docs/POWERSHELL_MCP_REMOTE_RU.md` и `scripts/install_detmir_powershell_mcp.sh`.
|
||||
|
||||
1. Подготовьте inventory и vars:
|
||||
- `cp ansible/inventory.example.ini ansible/inventory.ini`
|
||||
@@ -232,9 +232,9 @@ Playbook:
|
||||
|
||||
По умолчанию импортируются:
|
||||
|
||||
- `DetMir: Работа пользователей в RDP`
|
||||
- `DetMir: DLP и ИБ обзор`
|
||||
- `DetMir: ИБ сводка для руководства`
|
||||
- `AWatch-rus: Работа пользователей в RDP`
|
||||
- `AWatch-rus: DLP и ИБ обзор`
|
||||
- `AWatch-rus: ИБ сводка для руководства`
|
||||
- `AW-rus: DLP обзор`
|
||||
|
||||
Подробная документация: `docs/GRAFANA_DASHBOARDS_RU.md`
|
||||
|
||||
@@ -155,6 +155,6 @@ Rollback-critical данные:
|
||||
- `docs/OPERATOR_GUIDE_RU.md`
|
||||
- `docs/INSTALL_RU.md`
|
||||
- `docs/ARCHITECTURE_RU.md`
|
||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||
- `docs/THREAT_MODEL_RU.md`
|
||||
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||
- `adk-rust/RUNBOOK.md`
|
||||
|
||||
@@ -147,8 +147,8 @@ AWatch-rus не заявляется как сертифицированная
|
||||
|
||||
## 9. Связанные документы
|
||||
|
||||
- `docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.md`
|
||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
||||
- `docs/UNIFIED_OPERATING_MODEL_RU.md`
|
||||
- `docs/THREAT_MODEL_RU.md`
|
||||
- `docs/ADMIN_GUIDE_RU.md`
|
||||
- `docs/OPERATOR_GUIDE_RU.md`
|
||||
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
||||
|
||||
@@ -134,5 +134,5 @@ AWatch-rus помогает контролировать и расследова
|
||||
|
||||
- `docs/ADMIN_GUIDE_RU.md`
|
||||
- `docs/GRAFANA_DASHBOARDS_RU.md`
|
||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
||||
- `docs/THREAT_MODEL_RU.md`
|
||||
- `docs/dlp-security-functional-spec-ru.md`
|
||||
|
||||
@@ -114,4 +114,4 @@ AWatch-rus
|
||||
|
||||
- `docs/THIRD_PARTY_LICENSES_RU.md`
|
||||
- `docs/REGISTRY_CHECKLIST_RU.md`
|
||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
|
||||
## 4. Документация
|
||||
|
||||
- [x] Модель угроз: `docs/DETMIR_THREAT_MODEL_RU.md`.
|
||||
- [x] Позиционирование: `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
||||
- [x] Модель угроз: `docs/THREAT_MODEL_RU.md`.
|
||||
- [x] Позиционирование: `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
||||
- [x] Руководство администратора: `docs/ADMIN_GUIDE_RU.md`.
|
||||
- [x] Руководство оператора: `docs/OPERATOR_GUIDE_RU.md`.
|
||||
- [x] Установка: `docs/INSTALL_RU.md`.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Дата фиксации: `2026-06-03`.
|
||||
|
||||
Документ фиксирует audit-facing решение по классу подачи AWatch-rus.
|
||||
Он дополняет `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
||||
Он дополняет `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`.
|
||||
|
||||
## 1. Рекомендованный класс
|
||||
|
||||
|
||||
@@ -50,8 +50,8 @@ git grep -n -E 'SHARKON2025|10\.10\.10|dm\.iri|/home/igor|/root' -- \
|
||||
```text
|
||||
adk-rust/crates/verify-innosetup-installer/src/main.rs:260: let root = std::path::Path::new("/tmp/root");
|
||||
docs/ARCHITECTURE_RU.md:116:- canonical path/root allowlist;
|
||||
docs/DETMIR_THREAT_MODEL_RU.md:168:- canonical path/root allowlist;
|
||||
docs/DETMIR_THREAT_MODEL_RU.md:223:| T05 | Прямая выдача файлов по path traversal | Canonical path/root allowlist, no raw path route. |
|
||||
docs/THREAT_MODEL_RU.md:168:- canonical path/root allowlist;
|
||||
docs/THREAT_MODEL_RU.md:223:| T05 | Прямая выдача файлов по path traversal | Canonical path/root allowlist, no raw path route. |
|
||||
proxmox/tsj_guardian_bot.py:960: base_pat += r"|lxc-usernsexec.*(/var/lib/lxc/" + guest_pat + r"/rootfs|/run/lxc/)"
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
# Risk Narrative
|
||||
|
||||
Risk Narrative в AWatch-rus - это управленческое объяснение текущего риска на
|
||||
основе уже существующих сигналов продукта. Слой отвечает на четыре вопроса:
|
||||
|
||||
- что происходит;
|
||||
- насколько это рискованно;
|
||||
- почему система так считает;
|
||||
- что делать дальше.
|
||||
|
||||
Risk Narrative не является ML-прогнозом, LLM-выводом, SIEM, DLP или
|
||||
автоматическим подтверждением нарушения. Это rule-based decision-support слой
|
||||
для Pilot v1.
|
||||
|
||||
## API
|
||||
|
||||
Endpoint:
|
||||
|
||||
```http
|
||||
GET /api/risk/narrative
|
||||
```
|
||||
|
||||
Поддерживаемые параметры зависят от текущего контракта портала:
|
||||
|
||||
- `date`;
|
||||
- `department`;
|
||||
- `role`;
|
||||
- `module`.
|
||||
|
||||
Employee-level детализация не добавляется, пока нет отдельной безопасной модели
|
||||
доступа и приемочного контракта.
|
||||
|
||||
## Модель ответа
|
||||
|
||||
Ответ содержит:
|
||||
|
||||
- `risk_level` - уровень риска: `low`, `guarded`, `medium`, `high`,
|
||||
`critical`;
|
||||
- `risk_score` - числовая оценка 0-100;
|
||||
- `title` - короткий управленческий заголовок;
|
||||
- `summary` - объяснение ситуации простым языком;
|
||||
- `why` - причины расчета;
|
||||
- `evidence` - подтверждающие сигналы;
|
||||
- `recommended_actions` - ручные действия для ответственных ролей;
|
||||
- `limitations` - ограничения интерпретации.
|
||||
|
||||
Пример:
|
||||
|
||||
```json
|
||||
{
|
||||
"risk_level": "medium",
|
||||
"risk_score": 62,
|
||||
"title": "Умеренный рост операционного риска",
|
||||
"summary": "Активность подразделения снизилась при росте удаленных сессий и частичных пробелах покрытия.",
|
||||
"why": [
|
||||
"Индекс активности ниже среднего по подразделениям",
|
||||
"UEBA score повышен",
|
||||
"Покрытие агентов ниже целевого уровня"
|
||||
],
|
||||
"evidence": [
|
||||
{
|
||||
"source": "workforce_kpi",
|
||||
"label": "Индекс активности",
|
||||
"value": "74%",
|
||||
"severity": "medium"
|
||||
}
|
||||
],
|
||||
"recommended_actions": [
|
||||
"Проверить подразделения с низким покрытием данных",
|
||||
"Передать security-события в контур ИБ для анализа"
|
||||
],
|
||||
"limitations": [
|
||||
"pfSense находится в contract_only режиме",
|
||||
"Risk Narrative не является ML-прогнозом"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Rule-Based Scoring
|
||||
|
||||
Модель детерминированная. Она использует только текущие агрегированные сигналы
|
||||
и не обучается на данных заказчика.
|
||||
|
||||
Уровни:
|
||||
|
||||
| Диапазон | Уровень | Интерпретация |
|
||||
| --- | --- | --- |
|
||||
| `0-24` | `low` | Существенных отклонений нет |
|
||||
| `25-49` | `guarded` | Есть ранние признаки риска |
|
||||
| `50-74` | `medium` | Нужна ручная проверка причин |
|
||||
| `75-89` | `high` | Требуется приоритетная проверка |
|
||||
| `90-100` | `critical` | Нужна срочная ручная проверка |
|
||||
|
||||
Сигналы:
|
||||
|
||||
- сниженный Workforce KPI;
|
||||
- низкое доверие к KPI;
|
||||
- низкое покрытие агентами;
|
||||
- повышенный UEBA severity;
|
||||
- наличие кандидатов на проверку;
|
||||
- высокая связь security-событий и активности;
|
||||
- пропуски данных;
|
||||
- активность вне рабочего времени;
|
||||
- рост удаленных сессий;
|
||||
- `contract_only` ограничение pfSense.
|
||||
|
||||
## Evidence
|
||||
|
||||
`evidence` нужен, чтобы руководитель, ИБ и эксплуатация видели не только итоговый
|
||||
уровень риска, но и источники вывода.
|
||||
|
||||
Типовые источники:
|
||||
|
||||
- `workforce_kpi`;
|
||||
- `kpi_explainability`;
|
||||
- `ueba`;
|
||||
- `coverage`;
|
||||
- `risk_heatmap`;
|
||||
- `security_correlation`;
|
||||
- `incident_candidates`;
|
||||
- `pfsense_contract`.
|
||||
|
||||
Evidence не должен содержать реальные ФИО, логины, IP-адреса, hostname или
|
||||
сырые события безопасности в demo-режиме.
|
||||
|
||||
## Роли
|
||||
|
||||
| Роль | Видимость |
|
||||
| --- | --- |
|
||||
| `executive` | Управленческий риск, причины, действия без технической детализации |
|
||||
| `manager` | Workforce-риск и действия по подразделению |
|
||||
| `security` | ИБ-релевантные причины, кандидаты и correlation indicators |
|
||||
| `forensics` | Контекст расследования и evidence package |
|
||||
| `admin` | Состояние источников, покрытие и технические ограничения |
|
||||
|
||||
Серверные role gates остаются обязательными. Скрытие блоков в HTML не считается
|
||||
достаточной защитой.
|
||||
|
||||
## UI и Markdown
|
||||
|
||||
В Executive view портал показывает блок:
|
||||
|
||||
```text
|
||||
Риск-нарратив
|
||||
```
|
||||
|
||||
В Markdown-отчете используется раздел:
|
||||
|
||||
```markdown
|
||||
## Риск-нарратив
|
||||
```
|
||||
|
||||
Раздел должен быть понятен руководителю без знаний ИБ: сначала вывод, затем
|
||||
причины, затем действия и ограничения.
|
||||
|
||||
## Как показывать заказчику
|
||||
|
||||
Рекомендуемый порядок для demo:
|
||||
|
||||
1. Открыть Executive view.
|
||||
2. Показать `Риск-нарратив`: уровень, score и краткое summary.
|
||||
3. Показать `Почему`: какие факторы подняли риск.
|
||||
4. Показать `Evidence`: какие сигналы подтверждают вывод.
|
||||
5. Показать `Рекомендуемые действия`.
|
||||
6. Перейти в Security или Forensics только после управленческого вывода.
|
||||
|
||||
Важно: не заявлять, что Risk Narrative сам подтверждает нарушение. Он
|
||||
приоритизирует ручную проверку.
|
||||
|
||||
## Ограничения Pilot v1
|
||||
|
||||
- Нет ML, LLM и predictive analytics.
|
||||
- Нет auto-remediation.
|
||||
- Нет полноценного SIEM/DLP claim.
|
||||
- pfSense readiness является `contract_only`, если ingestion отдельно не
|
||||
включен и не прошел приемку.
|
||||
- Качество вывода зависит от свежести источников, покрытия агентов и полноты
|
||||
данных.
|
||||
- В demo-режиме используются только обезличенные данные.
|
||||
@@ -21,16 +21,16 @@ baseline, demo pack, registry readiness package, enterprise deployment package
|
||||
генерируемый отчет теперь начинается с `# AWatch-rus оперативный отчет`, а
|
||||
headline, KPI label и CLI help используют публичное название AWatch-rus.
|
||||
|
||||
Главные остаточные gaps:
|
||||
Закрытые housekeeping gaps Demo Freeze v1:
|
||||
|
||||
- TASK_001-TASK_004 получили явные секции `Выполнение` с артефактами,
|
||||
проверками и ограничениями.
|
||||
- Для Risk Narrative создан отдельный документ `docs/RISK_NARRATIVE_RU.md`.
|
||||
- Добавлен browser-level conformance smoke с Playwright и screenshots runtime
|
||||
artifacts.
|
||||
|
||||
Оставшиеся acceptance gaps:
|
||||
|
||||
- TASK_001-TASK_004 не имеют явной секции `Выполнение`, хотя артефакты по ним
|
||||
в коде и документации присутствуют.
|
||||
- Для Risk Narrative нет отдельного `docs/RISK_NARRATIVE_RU.md`; функциональность
|
||||
подтверждена кодом, OpenAPI, TypeScript, UI и Markdown, но документация
|
||||
распределена по связанным материалам.
|
||||
- Portal verification в TASK_011 выполнен через код, статические UI-маркеры и
|
||||
production smoke; отдельный полноценный Playwright visual run не входил в
|
||||
обязательный список команд TASK_011.
|
||||
- Полная production-приемка требует live validation на стенде заказчика:
|
||||
доступность, TLS/reverse proxy, источники данных, backup/restore и ownership
|
||||
действий.
|
||||
|
||||
+3
-3
@@ -194,9 +194,9 @@ Grafana/portal-аналитику, Telegram-оповещения, runbook automa
|
||||
|
||||
Уже есть сильная база:
|
||||
|
||||
- `docs/DETMIR_THREAT_MODEL_RU.md`;
|
||||
- `docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.md`;
|
||||
- `docs/DETMIR_PORTAL_GUI_PLAN_RU.md`;
|
||||
- `docs/THREAT_MODEL_RU.md`;
|
||||
- `docs/UNIFIED_OPERATING_MODEL_RU.md`;
|
||||
- `docs/PORTAL_GUI_PLAN_RU.md`;
|
||||
- `docs/dlp-security-functional-spec-ru.md`;
|
||||
- `docs/dlp-gap-analysis.md`;
|
||||
- `docs/GRAFANA_DASHBOARDS_RU.md`;
|
||||
@@ -314,7 +314,7 @@
|
||||
|
||||
## 12. Связанные документы
|
||||
|
||||
- `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||
- `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md`
|
||||
- `docs/ADMIN_GUIDE_RU.md`
|
||||
- `docs/OPERATOR_GUIDE_RU.md`
|
||||
- `docs/INSTALL_RU.md`
|
||||
@@ -322,8 +322,8 @@
|
||||
- `docs/OWNERSHIP_RU.md`
|
||||
- `docs/THIRD_PARTY_LICENSES_RU.md`
|
||||
- `docs/REGISTRY_CHECKLIST_RU.md`
|
||||
- `docs/DETMIR_UNIFIED_OPERATING_MODEL_RU.md`
|
||||
- `docs/DETMIR_PORTAL_GUI_PLAN_RU.md`
|
||||
- `docs/UNIFIED_OPERATING_MODEL_RU.md`
|
||||
- `docs/PORTAL_GUI_PLAN_RU.md`
|
||||
- `docs/dlp-security-functional-spec-ru.md`
|
||||
- `docs/dlp-gap-analysis.md`
|
||||
- `docs/dlp-production-plan-windows-10-19.md`
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
Если старые документы расходятся с этим файлом по адресам или runtime-ролям, для текущей эксплуатации приоритет у этого файла.
|
||||
|
||||
Связанная security-основа: `docs/DETMIR_THREAT_MODEL_RU.md` фиксирует текущую
|
||||
Связанная security-основа: `docs/THREAT_MODEL_RU.md` фиксирует текущую
|
||||
операционную модель угроз. Это рабочая модель для платформы операционного
|
||||
контроля и технического аудита, а не формальная сертификационная модель ФСТЭК.
|
||||
|
||||
Связанное продуктовое позиционирование:
|
||||
`docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` фиксирует безопасный
|
||||
`docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` фиксирует безопасный
|
||||
заход для реестра российского ПО: AWatch-rus как платформа операционного контроля и
|
||||
управления ИТ-инфраструктурой, с ориентиром на класс `09.10`, без заявления
|
||||
сертифицированной DLP/SIEM/EDR/XDR/СЗИ.
|
||||
@@ -422,8 +422,8 @@ Telegram bot `DetMirAuto` обязан покрывать:
|
||||
| `SECURITY.md` | security findings по risky фазам |
|
||||
| `UAT.md` | операторская приемка |
|
||||
| `docs/runbook.md` | живая эксплуатация |
|
||||
| `docs/DETMIR_THREAT_MODEL_RU.md` | рабочая модель угроз и границы security-позиционирования |
|
||||
| `docs/DETMIR_RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` | стратегия позиционирования для реестра российского ПО |
|
||||
| `docs/THREAT_MODEL_RU.md` | рабочая модель угроз и границы security-позиционирования |
|
||||
| `docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md` | стратегия позиционирования для реестра российского ПО |
|
||||
| `docs/ADMIN_GUIDE_RU.md` | руководство администратора |
|
||||
| `docs/OPERATOR_GUIDE_RU.md` | руководство оператора |
|
||||
| `docs/INSTALL_RU.md` | установка и первичная проверка |
|
||||
@@ -22,7 +22,7 @@
|
||||
Система не является полноценной DLP-платформой enterprise-класса с нативной аутентификацией, RBAC, аппаратной изоляцией и криптографической подписью политик. Это важно учитывать при ИБ-оценке.
|
||||
|
||||
Текущая модель угроз для всего контура AWatch-rus зафиксирована отдельно:
|
||||
`docs/DETMIR_THREAT_MODEL_RU.md`. В ней DLP-функции рассматриваются как часть
|
||||
`docs/THREAT_MODEL_RU.md`. В ней DLP-функции рассматриваются как часть
|
||||
платформы операционного контроля и технического аудита, а не как заявление о
|
||||
сертифицированной DLP/СЗИ.
|
||||
|
||||
@@ -604,7 +604,7 @@ python3 scripts/dlp-admin-cli.py cases list --limit 50
|
||||
|
||||
## 21. Связанные документы
|
||||
|
||||
- `docs/DETMIR_THREAT_MODEL_RU.md`
|
||||
- `docs/THREAT_MODEL_RU.md`
|
||||
- `docs/dlp-policy-engine.md`
|
||||
- `docs/dlp-integrations.md`
|
||||
- `docs/dlp-enforcement.md`
|
||||
|
||||
@@ -22,3 +22,44 @@ AWatch-rus.
|
||||
|
||||
Pilot v1 можно показывать заказчику с понятным списком готовых возможностей,
|
||||
ограничений и smoke-проверок.
|
||||
|
||||
---
|
||||
|
||||
## Выполнение
|
||||
|
||||
Статус: выполнено как часть Pilot v1 freeze.
|
||||
|
||||
Что закреплено:
|
||||
|
||||
- роли `executive`, `manager`, `security`, `forensics`, `admin`;
|
||||
- серверные role gates для Pilot v1 API;
|
||||
- Executive, Workforce, Security и Forensics portal views;
|
||||
- Pilot v1 acceptance/evidence документация;
|
||||
- demo/runbook слой для контролируемого показа;
|
||||
- browser-level conformance smoke для ключевых представлений.
|
||||
|
||||
Ключевые артефакты:
|
||||
|
||||
- `docs/PILOT_V1_RU.md`;
|
||||
- `docs/PILOT_V1_ACCEPTANCE_CHECKLIST_RU.md`;
|
||||
- `docs/PILOT_V1_EVIDENCE_RU.md`;
|
||||
- `docs/PILOT_VALIDATION_CHECKLIST_RU.md`;
|
||||
- `docs/DEMO_RUNBOOK_RU.md`;
|
||||
- `docs/BROWSER_CONFORMANCE_RU.md`;
|
||||
- `scripts/detmir-portal-tabs-smoke.mjs`;
|
||||
- `scripts/browser-conformance-smoke.mjs`;
|
||||
- `scripts/pilot-validation-smoke.mjs`.
|
||||
|
||||
Проверки:
|
||||
|
||||
- `node scripts/pilot-validation-smoke.mjs`;
|
||||
- `node scripts/detmir-portal-tabs-smoke.mjs` на локальном портале;
|
||||
- `node scripts/browser-conformance-smoke.mjs` на локальном портале;
|
||||
- `git diff --check`.
|
||||
|
||||
Известные ограничения:
|
||||
|
||||
- production acceptance требует отдельной live-проверки на стенде заказчика;
|
||||
- screenshots из `artifacts/browser-smoke/` являются runtime artifacts и не
|
||||
коммитятся;
|
||||
- новые collectors и новая функциональность в freeze-фазе не добавляются.
|
||||
|
||||
@@ -381,3 +381,72 @@ Smoke должен проверять:
|
||||
7. Результаты команд проверки.
|
||||
8. Результат smoke.
|
||||
9. Известные ограничения
|
||||
|
||||
---
|
||||
|
||||
## Выполнение
|
||||
|
||||
Статус: выполнено для Pilot v1 production-hardening слоя портала.
|
||||
|
||||
Краткое описание:
|
||||
|
||||
- добавлены production endpoints `/healthz`, `/readyz`, `/version`, `/metrics`;
|
||||
- добавлены request id / correlation id headers;
|
||||
- добавлены structured JSON HTTP logs;
|
||||
- добавлены bounded query/body limits для тяжелых API;
|
||||
- добавлена валидация production-конфигурации;
|
||||
- role gates сохранены и проверяются smoke;
|
||||
- pfSense остается `contract_only`, без заявления ingestion/SIEM.
|
||||
|
||||
Ключевые файлы:
|
||||
|
||||
- `adk-rust/crates/detmir-portal/src/production/`;
|
||||
- `adk-rust/crates/detmir-portal/src/main.rs`;
|
||||
- `docs/PRODUCTION_READINESS_RU.md`;
|
||||
- `scripts/awatch-production-hardening-smoke.mjs`.
|
||||
|
||||
Endpoints:
|
||||
|
||||
- `GET /healthz`;
|
||||
- `GET /readyz`;
|
||||
- `GET /version`;
|
||||
- `GET /metrics`;
|
||||
- защищенные Pilot v1 API: `/api/reports`, `/api/executive`,
|
||||
`/api/workforce`, `/api/security`, `/api/forensics`, `/api/ueba`,
|
||||
`/api/pfsense`, `/api/workforce/kpi/explain`.
|
||||
|
||||
Лимиты и защита:
|
||||
|
||||
- max request body size;
|
||||
- max/default page size;
|
||||
- max report date range;
|
||||
- request timeout и slow request logging threshold;
|
||||
- отказ `400` для слишком большого `page_size` или диапазона отчета;
|
||||
- отказ `413` для слишком большого body;
|
||||
- отказ `403` по role gate.
|
||||
|
||||
Метрики:
|
||||
|
||||
- `awatch_http_requests_total`;
|
||||
- `awatch_http_request_duration_seconds`;
|
||||
- `awatch_reports_generated_total`;
|
||||
- `awatch_ingestion_records_total`;
|
||||
- `awatch_ingestion_rejected_total`;
|
||||
- `awatch_role_denied_total`;
|
||||
- `awatch_readyz_status`.
|
||||
|
||||
Проверки:
|
||||
|
||||
- `cargo fmt --all --check`;
|
||||
- `cargo clippy --all-targets --all-features -- -D warnings`;
|
||||
- `cargo test --all`;
|
||||
- `cargo build --release`;
|
||||
- `AWATCH_PORTAL_SMOKE_URL=http://127.0.0.1:8720 node scripts/awatch-production-hardening-smoke.mjs`;
|
||||
- `git diff --check`.
|
||||
|
||||
Известные ограничения:
|
||||
|
||||
- production-hardening smoke не заменяет live acceptance;
|
||||
- `/readyz` отражает только реально настроенные зависимости;
|
||||
- contract-only интеграции не считаются работающими сборщиками;
|
||||
- freeze-фаза допускает только исправление дефектов и уточнение документации.
|
||||
|
||||
@@ -309,4 +309,72 @@ docs/EXPLAINABLE_KPI_RU.md
|
||||
5. Добавленные UI-блоки.
|
||||
6. Добавленные тесты.
|
||||
7. Результаты проверок.
|
||||
8. Известные ограничения.
|
||||
8. Известные ограничения.
|
||||
|
||||
---
|
||||
|
||||
## Выполнение
|
||||
|
||||
Статус: выполнено для Pilot v1.
|
||||
|
||||
Краткое описание:
|
||||
|
||||
- добавлен explainability-контракт Workforce KPI;
|
||||
- добавлен endpoint `GET /api/workforce/kpi/explain`;
|
||||
- добавлена детерминированная rule-based модель факторов;
|
||||
- добавлен confidence level `high` / `medium` / `low`;
|
||||
- UI показывает блок `Почему такой индекс активности?`;
|
||||
- Markdown-отчет содержит explainability-раздел;
|
||||
- OpenAPI и TypeScript contracts включают explain model;
|
||||
- employee-level детализация не добавлена без отдельного безопасного контракта.
|
||||
|
||||
Ключевые файлы:
|
||||
|
||||
- `adk-rust/crates/detmir-portal/src/workforce_kpi_explain.rs`;
|
||||
- `adk-rust/crates/detmir-portal/src/static/app.js`;
|
||||
- `adk-rust/crates/detmir-portal/src/contracts/openapi.json`;
|
||||
- `adk-rust/crates/detmir-portal/src/contracts/typescript.d.ts`;
|
||||
- `docs/EXPLAINABLE_KPI_RU.md`.
|
||||
|
||||
API endpoint:
|
||||
|
||||
- `GET /api/workforce/kpi/explain`.
|
||||
|
||||
Модель explainability:
|
||||
|
||||
- `kpi_score`;
|
||||
- `confidence`;
|
||||
- `coverage`;
|
||||
- `factors`;
|
||||
- `top_applications`;
|
||||
- `warnings`;
|
||||
- `recommendations`.
|
||||
|
||||
Минимальные факторы:
|
||||
|
||||
- `productive_activity`;
|
||||
- `business_app_usage`;
|
||||
- `idle_time`;
|
||||
- `afterhours_activity`;
|
||||
- `remote_session_activity`;
|
||||
- `data_coverage`;
|
||||
- `missing_data`;
|
||||
- `trend_change`.
|
||||
|
||||
Проверки:
|
||||
|
||||
- unit tests для explainability-модели и confidence;
|
||||
- role-filtering smoke;
|
||||
- markdown/report smoke;
|
||||
- `cargo fmt --all --check`;
|
||||
- `cargo clippy --all-targets --all-features -- -D warnings`;
|
||||
- `cargo test --all`;
|
||||
- `cargo build --release`;
|
||||
- portal smoke.
|
||||
|
||||
Известные ограничения:
|
||||
|
||||
- не используется ML, LLM или predictive scoring;
|
||||
- KPI не является HR-дисциплинарной оценкой;
|
||||
- персональная explainability-модель в Pilot v1 не включена;
|
||||
- качество объяснения зависит от свежести и полноты источников.
|
||||
|
||||
@@ -278,4 +278,82 @@ docs/RISK_NARRATIVE_RU.md
|
||||
6. Обновления report/OpenAPI/TypeScript.
|
||||
7. Добавленные тесты.
|
||||
8. Результаты fmt/clippy/test/build/smoke.
|
||||
9. Известные ограничения.
|
||||
9. Известные ограничения.
|
||||
|
||||
---
|
||||
|
||||
## Выполнение
|
||||
|
||||
Статус: выполнено для Pilot v1.
|
||||
|
||||
Краткое описание:
|
||||
|
||||
- добавлен rule-based Risk Narrative layer;
|
||||
- добавлен endpoint `GET /api/risk/narrative`;
|
||||
- risk score связывает Workforce KPI, Explainable KPI, UEBA, coverage,
|
||||
security correlation, incident candidates и pfSense `contract_only`
|
||||
limitation;
|
||||
- Executive UI показывает блок `Риск-нарратив`;
|
||||
- Security UI проверяет ИБ-релевантную связь рисков и активности;
|
||||
- Markdown-отчет содержит раздел `## Риск-нарратив`;
|
||||
- OpenAPI и TypeScript contracts обновлены;
|
||||
- создана отдельная документация `docs/RISK_NARRATIVE_RU.md`.
|
||||
|
||||
Ключевые файлы:
|
||||
|
||||
- `adk-rust/crates/detmir-portal/src/risk_narrative.rs`;
|
||||
- `adk-rust/crates/detmir-portal/src/static/app.js`;
|
||||
- `adk-rust/crates/detmir-portal/src/contracts/openapi.json`;
|
||||
- `adk-rust/crates/detmir-portal/src/contracts/typescript.d.ts`;
|
||||
- `docs/RISK_NARRATIVE_RU.md`;
|
||||
- `scripts/browser-conformance-smoke.mjs`;
|
||||
- `scripts/detmir-portal-tabs-smoke.mjs`.
|
||||
|
||||
Risk scoring rules:
|
||||
|
||||
- `0-24` - `low`;
|
||||
- `25-49` - `guarded`;
|
||||
- `50-74` - `medium`;
|
||||
- `75-89` - `high`;
|
||||
- `90-100` - `critical`.
|
||||
|
||||
Сигналы:
|
||||
|
||||
- low Workforce KPI;
|
||||
- low KPI confidence;
|
||||
- low agent coverage;
|
||||
- increased UEBA severity;
|
||||
- incident candidates count;
|
||||
- high security correlation;
|
||||
- missing data;
|
||||
- afterhours/remote activity;
|
||||
- pfSense `contract_only` limitation.
|
||||
|
||||
UI-блоки:
|
||||
|
||||
- Executive: `Риск-нарратив`, `Почему`, `Подтверждения`, `Дальше`,
|
||||
`Ограничения`;
|
||||
- Security: `Связь рисков и активности`, `Требует проверки`,
|
||||
`Рекомендуемые действия ИБ`;
|
||||
- Forensics: расследования, timeline, материалы расследования и аудит.
|
||||
|
||||
Проверки:
|
||||
|
||||
- unit tests для risk narrative scenarios;
|
||||
- OpenAPI/TypeScript contract smoke;
|
||||
- `node scripts/browser-conformance-smoke.mjs`;
|
||||
- `node scripts/detmir-portal-tabs-smoke.mjs`;
|
||||
- `cargo fmt --all --check`;
|
||||
- `cargo clippy --all-targets --all-features -- -D warnings`;
|
||||
- `cargo test --all`;
|
||||
- `cargo build --release`;
|
||||
- `git diff --check`.
|
||||
|
||||
Известные ограничения:
|
||||
|
||||
- Risk Narrative не является ML/LLM/predictive analytics;
|
||||
- Risk Narrative не подтверждает нарушение без ручной проверки;
|
||||
- нет auto-remediation;
|
||||
- pfSense не заявляется как ingestion/SIEM, пока это не пройдет отдельную
|
||||
приемку;
|
||||
- live customer-stand validation остается отдельным шагом Demo Freeze v1.
|
||||
|
||||
+1
-1
@@ -539,7 +539,7 @@ detmir-win-shell
|
||||
|
||||
Канонический документ:
|
||||
|
||||
- `docs/DETMIR_POWERSHELL_MCP_REMOTE_RU.md`
|
||||
- `docs/POWERSHELL_MCP_REMOTE_RU.md`
|
||||
|
||||
Правило:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Ты — виртуальный помощник технической поддержки DetMir.
|
||||
Ты — виртуальный помощник технической поддержки AWatch-rus.
|
||||
|
||||
Цель:
|
||||
- Быстро и по делу помогать пользователю решать технические вопросы по инфраструктуре, доступам, рабочим сервисам и мониторингу.
|
||||
|
||||
Reference in New Issue
Block a user