MultiAgent хранит чувствительные данные всей инфраструктуры: SSH-ключи серверов, пароли агентов, токены реестров и API-ключи. Эта страница — о том, как всё это защищено, как настроено резервное копирование и как устроены лицензии.
Шифрование секретов
Все секреты шифруются на хранении симметричным шифрованием AES-256-GCM. 32-байтный ключ лежит в /data/keys/management-secret.key — внутри volume MultiAgent, вне базы данных. Что защищено:
- SSH-пароли и приватные ключи серверов (включая учётные данные proxy jump);
- пароли Postgres и Forgejo на серверах;
- токены реестров образов (Registry Auth);
- пароли менеджеров агентов и переменные-секреты окружений и инструментов.
Аутентификация пользователей — JWT-токены со сроком 90 дней, подписанные отдельным ключом из /data/keys. Все действия API требуют аутентификации; анонимны только страница входа и endpoint’ы триггеров.
Безопасность вебхуков
Endpoint триггера менеджера не раскрывает существование менеджера: запрос с неверным токеном получает 404, как будто адреса не существует. Токен длинный и случайный, его можно сменить кнопкой Rotate token. Подробнее — в разделе Менеджеры.
Резервное копирование
На каждом сервере MultiAgent поднимает rsyncd-контейнер с пятью read-only модулями: агенты, данные, проекты, инструменты и Forgejo. Ваши машины-бэкаперы забирают данные по rsync по расписанию — типичной nightly-задачей:
# nightly backup of all server data
rsync -avz rsync://backup@server-host:873/data/ /backups/server-host/data/
rsync -avz rsync://backup@server-host:873/projects/ /backups/server-host/projects/
Сам MultiAgent бэкапится вместе с volume /data: база, ключи шифрования и лицензия лежат там же. Подробнее о структуре данных — в инструкции по установке.
Лицензии агентов
Раздел «Лицензии» — центральное хранилище лицензионных ключей Pastukhov Agent. Ключ проверяется при добавлении, шифруется на хранении и никогда не возвращается из API — интерфейс показывает только распарсенные метаданные (тип, владелец, срок). Один ключ назначается любому числу агентов и автоматически попадает в их переменную AGENT_LICENSE при развёртывании. Лицензия, назначенная хотя бы одному агенту, не удалится, пока её не отсоединить.
Лицензирование MultiAgent
Сам MultiAgent распространяется с 30-дневным триалом, встроенным в Docker-образ. Лицензия загружается через переменную MULTIAGENT_LICENSE или файлом в /data; работает офлайн. Типы лицензий и цены — на странице Лицензирование.