fix(security): harden diagnostics storage boundary

This commit is contained in:
2026-09-07 19:52:11 +05:00
parent af9f476658
commit a3445f79c5
12 changed files with 562 additions and 37 deletions
+7 -1
View File
@@ -749,7 +749,7 @@ hy2xs-orchestrator reconfigure \
| `hy2xs-orchestrator reconfigure --dry-run` | Проверить конфиг без применения |
| `hy2xs-orchestrator reconfigure --apply` | Применить runtime‑конфигурацию |
| `hy2xs-orchestrator repair --allow-partial-state` | Довести до конца незавершённую установку **текущего поколения** |
| `hy2xs-orchestrator diagnostics collect` | Собрать diagnostic bundle в `/var/log/hy2xs/diagnostics` |
| `hy2xs-orchestrator diagnostics collect` | Собрать diagnostic bundle в `/var/lib/hy2xs/diagnostics` |
| `hy2xs-orchestrator redact-config` | Отредактировать секреты в env/yaml перед публикацией логов |
`repair` без `--allow-partial-state` работает только поверх полностью успешной
@@ -771,6 +771,12 @@ hy2xs-orchestrator diagnostics collect \
декодируется с заменой и не попадает в архив; вместо него записывается
безопасная причина пропуска.
Архив создаётся в `/var/lib/hy2xs/diagnostics` с режимом `0600`. Этот каталог
принадлежит `root:root`, имеет режим `0700` и отделён от
`HY2XS_LOG_DIR`, которым владеет сервисный пользователь `hy2xs-admin`.
Оркестратор отказывает, если каталог подменён symlink, имеет другого владельца
или ослабленные права. Незавершённый staging-каталог после упаковки удаляется.
## Проверка безопасности после установки
Минимальный набор проверок: