Перейти к основному содержимому
Версия: Next

QMClient: команды, задачи и least-privilege на хосте

Формальный чеклист для runbook (аудит «остатка» из обзора экосистемы).

Поверхность агента

  • Бинарь qmclient обычно устанавливается под /opt/qmclient с конфигом qmclient.conf (см. README QMClient).
  • Агент выполняет команды, запрошенные с QMServer / QMAdmin (супервизия, установка ядра, SteamCMD и т.д.). Каждая новая команда в продукте должна сопровождаться оценкой: нужны ли root, сетевой доступ, запись вне каталога инстанса.

Политика на хосте

ПрактикаЗачем
Отдельный UNIX-пользователь для игрового сервераОграничить ущерб при компрометации мода/плагина.
Firewall только необходимые порты (Minecraft, SSH с allowlist)Снижение сканирования и латерального движения.
Не хранить enrollment и токены в world-доступных каталогахКонверт только в root-only конфиге.
Регулярные обновления ОС и ограничение sudoБазовая гигиена для долгоживущих нод.

Операционный аудит

  1. Перечислите сценарии: --supervise, --upgrade, установка NeoForge/Vanilla, отчёты.
  2. Для каждого: какие пути на диске, какие внешние URL, требуется ли root.
  3. Зафиксируйте в внутренней wiki минимально необходимые права и процедуру отзыва доступа (ротация enrollment).

Подробности конверта и границ доверия — в README репозитория QMClient и в SECURITY смежных сервисов.