feat(portal): make UEBA risk policy configurable

This commit is contained in:
igor04091968
2026-06-03 18:00:08 +03:00
parent 2cb2260bb2
commit c2e2f64c08
8 changed files with 395 additions and 43 deletions
+18 -4
View File
@@ -106,16 +106,30 @@ PDF-экспорт выполняется штатной печатью брау
заменяются на `Сотрудник N` и `EMPLOYEE-N`. Live-режим без query-флага
сохраняет реальные имена для внутреннего коммерческого контура DetMir.
### UEBA risk scoring
### UEBA-compatible rule-based risk scoring v1
DetMir Workforce/Security формирует read-only UEBA score для руководителя и ИБ:
DetMir Workforce/Security формирует read-only UEBA-compatible rule-based score
для руководителя и ИБ:
- `risk_score`: сумма reason points, capped at 100;
- `risk_level`: `normal`, `low`, `medium`, `high`;
- `reasons`: DLP WARN/FAIL, open review queue, evidence, off-hours/weekend
insights, просадки/аномалии Workforce, приложения без явного
- `confidence`: доверие к расчету; evidence и screenshot повышают confidence,
но не добавляют risk score сами по себе;
- `risk_sources`: типы источников, которые дали risk reasons;
- `baseline_status`: статус baseline-модели, сейчас
`portfolio_only_no_per_user_baseline`;
- `policy_version`: версия risk policy;
- `calculated_from`: список источников, участвовавших в расчете;
- `reasons`: DLP WARN/FAIL, open review queue, off-hours/weekend insights,
просадки/аномалии Workforce, приложения без явного
`application_weights` правила.
Веса настраиваются через YAML policy:
- пример: `configs/detmir-ueba-risk-policy.example.yaml`;
- runtime-файл: `/etc/detmir-portal-ueba-policy.yaml`;
- env-путь: `DETMIR_PORTAL_UEBA_POLICY_PATH`.
Важно: текущий UEBA слой только ранжирует риск и объясняет причины. Он не
выполняет pfSense/NAC/SOAR actions и не меняет сетевые политики.
+7 -4
View File
@@ -30,8 +30,9 @@ baseline и раздела `Phase 8: Post-MVP Enhancements`.
- UI tab: `Отчеты`;
- отчет содержит KPI для владельца/руководителя: worktime users, active time,
active applications, DLP WARN/FAIL, evidence screenshots/items, open issues;
- отчет содержит read-only UEBA risk score: `score`, `level`, `reasons`,
формула `sum(reason_points) capped at 100`;
- отчет содержит read-only UEBA-compatible rule-based risk scoring v1: `score`,
`level`, `confidence`, `risk_sources`, `baseline_status`, `policy_version`,
`calculated_from`, `reasons`;
- отчет и вкладка `Руководитель` показывают `Индекс активности` как
proxy `активное время / плановое рабочее время`;
- отчет поддерживает `Взвешенную активность` при наличии
@@ -61,8 +62,10 @@ baseline и раздела `Phase 8: Post-MVP Enhancements`.
- для демо/экспертных PDF и Markdown добавлен режим обезличивания:
`?anonymize=1` на `/api/reports` и `/api/workforce/policy/explain`, плюс
кнопка `Демо без имен` во вкладке `Отчеты`;
- UEBA score виден в KPI, отдельной секции отчета, Markdown и PDF; слой не
выполняет pfSense/NAC/SOAR actions;
- UEBA score виден в KPI, отдельной секции отчета, Markdown и PDF; веса
настраиваются в `/etc/detmir-portal-ueba-policy.yaml`; evidence используется
как confidence, а не как отдельный risk reason; слой не выполняет
pfSense/NAC/SOAR actions;
- вкладка `Руководитель` получает этот блок через легкий endpoint
`/api/workforce/policy/explain`, без загрузки полного `/api/reports`;
- contract легкого endpoint защищен unit-тестом