Security final pass (v0.54.0): operator
checklist
docs/features/encryption/security-final-checklist.md;
threat model refresh
docs/features/encryption/security-threat-model.md.
Техническая модель угроз и поверхности атаки: security-threat-model.md.
redact.RedactAny; политика
policy.* управляет включением
snapshot/manifest/paths/labels (см.
docs/features/observability/webhooks.md).ExportPolicy.IncludePaths на агенте
(docs/reference/job-format-v1.md).executed_job_snapshot в
run хранится sanitized (без значений секретов).docs/reference/manifest-schema.md.docs/reference/capabilities.md).*_path файлы (токены, ключи)
— операционный hardening; агент отклоняет group/world-readable секретные
файлы (internal/fsperm,
internal/agent/dependencies.go). Полная матрица edge cases
— см.
docs/features/encryption/security-final-checklist.md.features.encryption /
features.envelope_encryption
(docs/features/encryption/encryption.md,
internal/encryption); ключи только через refs, не inline в
git.Ниже — готовые минимальные профили запуска
iobackup-agent для разных контуров.
Для приватной сети/VPN, когда агент доступен только из trusted-сегмента.
Рекомендуется:
Пример запуска:
export IOBACKUP_API_TOKEN="change_me"
./iobackup-agent \
-listen 10.10.0.12:8735 \
-auth-enabled \
-auth-token-env IOBACKUP_API_TOKEN \
-auth-allow-metrics-unauth=false \
-rate-limit-enabled \
-rate-limit-rps 20 \
-rate-limit-burst 40 \
-rate-limit-by-ip=trueКогда API доступен извне через reverse proxy / ingress.
Рекомендуется:
/metrics — только через auth.Пример запуска (TLS на агенте):
export IOBACKUP_API_TOKEN="change_me"
./iobackup-agent \
-listen 0.0.0.0:8735 \
-tls-cert-file /etc/iobackup/tls/server.crt \
-tls-key-file /etc/iobackup/tls/server.key \
-auth-enabled \
-auth-token-env IOBACKUP_API_TOKEN \
-auth-allow-metrics-unauth=false \
-rate-limit-enabled \
-rate-limit-rps 10 \
-rate-limit-burst 20 \
-rate-limit-by-ip=trueДля высокозащищенного контура (service-to-service), где каждый клиент имеет свой сертификат.
Рекомендуется:
iobackup.Пример запуска:
export IOBACKUP_API_TOKEN="change_me"
./iobackup-agent \
-listen 10.10.0.12:8735 \
-tls-cert-file /etc/iobackup/tls/server.crt \
-tls-key-file /etc/iobackup/tls/server.key \
-tls-client-ca-file /etc/iobackup/tls/clients-ca.crt \
-auth-enabled \
-auth-token-env IOBACKUP_API_TOKEN \
-auth-allow-metrics-unauth=false \
-rate-limit-enabled \
-rate-limit-rps 15 \
-rate-limit-burst 30 \
-rate-limit-by-ip=trueIOBACKUP_API_TOKEN по регламенту.600, владелец service
user.agent.db хранить на защищенном
диске/разделе.401/429 и failed webhook/backup
метрики.