Security FAQ
Ответы на типичные вопросы security review: что выполняется на хосте, какой трафик создаётся, как устроена цепочка поставки и что делать с токенами. Для деталей по конкретным темам см. egress-only модель и какие данные видит сервер.
Что выполняется на моём хосте?
Один автономный бинарник, собранный с .NET NativeAOT: без установленного рантайма .NET и без лишних библиотек. Форматы поставки — Docker (distroless-образ), скрипт установки, systemd-пакет, Windows MSI, macOS PKG и Helm chart.
Какой сетевой трафик создаёт агент?
Только исходящий HTTPS:443 — к API Flaree, к get.flaree.ru (автообновление, отключается) и к вашим целям проверок. Входящих подключений нет; локальные сокеты (Prometheus 9090, heartbeat 9091, OTLP 4318) привязаны только к 127.0.0.1. Подробности — в egress-only модели.
С какими правами работает процесс?
Минимальными, которые позволяет платформа:
| Платформа | Пользователь | Ограничения |
|---|---|---|
| Linux (systemd) | flaree — создаёт установщик | NoNewPrivileges, без лишних capabilities |
| Docker | непривилегированный UID | distroless-образ без shell |
| macOS | _flaree (LaunchDaemon) | без интерактивной оболочки |
| Windows | LocalService | без SeImpersonate |
| Kubernetes | runAsNonRoot, read-only FS | egress через NetworkPolicy |
Агент никогда не требует root.
Может ли агент выполнять код с сервера?
Нет. С бэкенда приходит декларативный список заданий: тип проверки, интервалы, таймауты, параметры. Набор типов зафиксирован в коде агента — полей вида command или script в протоколе нет.
Как защищена цепочка поставки?
- Скрипт установки с
get.flaree.ru/install.shпроверяет GPG-подпись и SHA-256 бинарника до установки. - Автообновление сверяет SHA-256 из подписанного манифеста перед заменой бинарника; несовпадение прерывает обновление и откатывает staging-файл.
- Windows MSI подписан Authenticode EV, macOS PKG — Developer ID с нотарификацией Apple.
- SBOM (SPDX и CycloneDX) публикуется с каждым релизом — можно скармливать своему SCA-сканеру вместо слепого анализа бинарника.
Как хранится токен агента?
Токен показывается в дашборде один раз при создании и не восстанавливается. На хосте он живёт в env-переменной или agent.yaml (рекомендуемые права 0600); в state.json пишется только SHA-256 хеш. Бэкенд также хранит только хеш.
Как отозвать или ротировать токен?
Ротация: дашборд → Agents → агент → Rotate token. Новый токен показывается один раз — обновите его на хосте и перезапустите сервис. Старый токен инвалидируется сразу: агент со старым токеном получит 401 и завершится с кодом 77.
Отзыв: удалите агента в дашборде — все последующие запросы с его токеном получают 401.
Для крупных парков автоматизируйте ротацию через ваш secret store (Vault, Kubernetes Secret) — например, раз в 90 дней.
Есть ли аудит?
Да. Операции с токенами и другие значимые события пишутся в audit log дашборда (Settings → Audit log); срок хранения зависит от тарифа. На стороне агента при FLAREE_AGENT_LOG_FORMAT=json события жизненного цикла (регистрация, синхронизация конфига, обновление, завершение) выходят структурированными — их удобно отправлять в SIEM.
Куда сообщить об уязвимости?
Пишите на security@flaree.ru. Первичный ответ — в течение двух рабочих дней.