RoutineOps 2.4.6
Первый публично оформленный выпуск RoutineOps. Крупный релиз: два раунда
состязательного ревью агента, массовый энроллмент, вывод устройств из эксплуатации,
расширенная инвентаризация и переоформленный веб-интерфейс.
Версия единая для сервера, веб-интерфейса и агента.
Английская версия списка изменений — CHANGELOG.en.md.
Обновление с 2.4.5
cd ~/RoutineOps
./update.shupdate.sh снимает бэкап базы, тянет релиз, пересобирает стек (миграции накатываются
до старта сервера, fail-closed) и заново публикует агентов. Парк обновится сам —
по умолчанию в течение 6 часов. Ручных действий не требуется.
Установка с нуля — ./install.sh, см. README.
Установщики (RoutineOps-agent.msi, RoutineOps-agent.pkg) едут в исходниках и
раскладываются по releases/ самим install.sh/update.sh — отдельно скачивать
их из этого релиза не нужно. Бинари агентов собираются и подписываются на вашем
сервере его собственным ключом релизов.
Безопасность
- Блокировка устройства: устаревшее подтверждение блокировки, доставленное агентом
после снятия, больше не воскрешает желаемое состояние «заблокировано» без пароля.
Раньше устройство могло числиться заблокированным в панели, оставаясь полностью
рабочим, и расхождение не было видно оператору. - Блокировка устройства: память о локальном снятии блокировки перенесена в защищённый
каталог состояния. В каталоге, доступном пользователю на запись, она позволяла
бессрочно подавлять повторную блокировку. - Блокировка устройства: команда с невалидным хешем пароля отклоняется агентом —
раньше такая команда давала блокировку, которую нельзя снять без сети. - Каталог состояния службы на Windows защищён admin-only списком доступа с проверкой
подмены каталога через точку повторного разбора (junction). - Блокировка устройства: устаревший отчёт о снятии, доставленный агентом из очереди
после того, как была выдана НОВАЯ блокировка, больше не отменяет её. Раньше
устройство, вернувшееся из офлайна, молча снимало с себя свежую блокировку. - Блокировка устройства: отказ применить блокировку больше не остаётся незамеченным
агентом — состояние откатывается, попытка повторяется, отказ пишется в журнал.
Раньше единичный сбой записи на диск подавлял блокировку бессрочно. - Определение пользователя за консолью на Linux больше не принимает сеанс без
физического места (ssh, cron) за локальный вход. - Результат задачи, доставленный в обход очереди, больше не теряется молча: агент
проверяет подтверждение сервера. - Закрыты 16 находок аудита готовности агента к парку в 1000+ машин и 17 находок
трёх раундов состязательного ревью поверх него.
Известные ограничения
- Windows, блокировка устройства. Локальный пользователь, имеющий доступ к файлу
состояния блокировки, может снять её без пароля и подавить повторную блокировку до
вмешательства оператора. Каталог этого файла намеренно доступен пользователю на
запись — через него работают экран блокировки и значок в трее. Исправление
требует переработки этого канала на Windows и запланировано на 2.4.7. - Отказ применения блокировки виден не везде. Если агент не смог поднять замок,
он повторяет попытку и пишет отказ в свой журнал, но в панели это пока не
отражается отдельным состоянием — планируется в 2.4.7. - Обновление с 2.4.5 в момент активной блокировки. Если сотрудник снял
блокировку локально, а сервер ещё не получил отчёт об этом, и ровно в этот момент
приезжает обновление, устройство может быть заблокировано повторно. Окно узкое,
состояние самовосстанавливается, как только сервер получает отчёт. Выбрано
сознательно: лишняя блокировка предпочтительнее потерянной.
Энроллмент
- Массовый энроллмент: один токен на партию устройств вместо токена на устройство.
- Очередь одобрения: устройство, заявившееся на энроллмент, ждёт решения оператора.
Повторный энроллмент больше не проводит отклонённое или заблокированное устройство
в рабочий статус в обход одобрения. - Экран энроллмента в веб-интерфейсе: очередь одобрения, выпуск массового токена,
единая карта статусов устройства.
Устройства
- Вывод из эксплуатации (decommission): серверная команда полного самоудаления агента
— снятие службы, разоружение защиты от вмешательства, удаление состояния и бинаря.
Статус переводится в терминальный только после подтверждения от агента. - Инвентаризация расширена: модель процессора, серийный номер, время загрузки,
свободное место, пользователь за консолью и другие поля. - Поля инвентаря стали «липкими»: единичный сбой опроса больше не затирает ранее
собранное значение пустым. - Самоудаление агента по команде оператора.
Задачи и скрипты
- Результаты разовых задач переживают перезапуск агента и обрыв связи (устойчивая
очередь на диске). - Задачи, застрявшие в состоянии «принята», закрываются по таймауту, а поздний
результат больше не подменяет уже закрытую задачу молча. - Ограничение числа одновременно исполняемых скриптов на устройстве.
- Скрипт, оставивший после себя фоновый процесс, больше не подвешивает канал задач.
Интеграции и API
- Сервисные API-токены для автоматизации (выпуск и отзыв — только человеком).
- Устойчивое соединение с Telegram при частичной блокировке провайдером.
Веб-интерфейс
- Интерфейс переоформлен: тёмная тема liquid-glass на всех страницах и во всех
элементах — панели, формы, таблицы, диалоги. - Навигация сгруппирована: обзор, алерты, журнал, затем хосты, управление, настройки.
- Правила соответствия: разрез «прошло/не прошло» по устройствам, честная форма
создания правила. - Дашборд: таксономия событий, распределение по операционным системам, контраст
текста приведён к уровню AA, счётчик алертов считает подтверждённые корректно.
Установка и пакеты
- Пакеты
.debи.rpmдля агента на Linux. - Файлы окружения с переводами строк Windows больше не ломают установку на Unix.
Enterprise
- [Enterprise] Лицензирование: ядро проверки, серверная выдача прав, страница
«Лицензия» в веб-интерфейсе, автономный вендорский CLI выпуска лицензий.
Срок действия проверяется в момент операции, а не фоновым тиком. - [Enterprise] FileVault: закрыты находки ревью механизма отзыва и эскроу
ключей восстановления.
Совместимость
- Обновление с 2.4.5 не требует ручных действий: миграции базы накатываются при
запуске, состояние агента переносится автоматически.