Threat model IOBackup Agent (рабочая версия)

Угроза Impact Mitigation today Planned Severity
Утечка job YAML Компрометация структуры бэкапа Храните ACL на /etc/iobackup; не кладите inline секреты Шифрование at rest файлов конфигурации High
Утечка overlay secrets Компрометация ключей доступа к БД/Object storage Маска в API экспорте (job.SanitizeForAPI), не логируйте сырое содержимое mTLS между control-plane и agent Critical
Кража state.db (bolt) История job/run/пути артефактов Права 0600, offline backup Шифрование bolt High
Доступ к API агента Запуск/отмена job, чтение метаданных Bearer token (internal/api/auth.go), loopback default read-only токены Critical
Чтение capabilities / facts / health (0.17-fix.70) Раскрытие топологии (hostname, ОС, список провайдеров, redacted путей, какие CLI найдены) Те же ACL и токен, что и для остального API; пути в JSON basename-redacted отдельный read-only scope в central server Medium
Подмена webhook URL Exfiltration событий TLS на receiver; валидируйте целевой хост Request signing Medium
Логи провайдеров Утечка DSN/CLI аргументов internal/redact + JSONLine logger Расширенные шаблоны для docker runner High
Локальные staging файлы Утечка дампов Права на каталог staging, очистка после run FIPS Medium
Персональные данные в артефактах Регуляторный риск Политика хранения, classification labels Client-side encryption High
Offline spool + central readiness (v0.50.x+) Exfiltration через export/backfill или forged heartbeat Запись только redacted JSON; export allow-list; diagnostics без raw tokens Central server RBAC (вне репозитория) High
Operator include_payload=true Раскрытие сохранённых метаданных команд Только at-rest redacted payloads; gate на list API Policy per-role Medium

Рекомендации по правам

Encryption

Client-side streaming encryption ships behind feature gates (docs/features/encryption/encryption.md). Manifests and public JSON must not contain raw key material; loss-of-key is an operational incident (no «recovery» of ciphertext without backups of keys).

Webhook и export (0.17-fix.50+)