Архитектура и безопасность связи
RoutineOps позиционируется как полностью самодостаточная (self-hosted) система MDM/RMM. В отличие от многих аналогов, использующих HTTP/REST, здесь реализован постоянный канал связи на базе gRPC и mTLS. Агент аутентифицируется клиентским сертификатом, который сервер выпускает при энролменте. Это позволяет устройствам работать через интернет без необходимости настройки VPN.
Безопасность обновлений обеспечивается подписью релизов алгоритмом ed25519 с проверкой хеша sha256, что защищает от отката версий и подмены бинарных файлов. Агент может блокировать устройство (полноэкранный overlay с паролем) даже в офлайн-режиме.
Технический стек и требования
Решение построено на Go (монолитный сервер и агент) и PostgreSQL 16. Для очередей задач используется Redis с библиотекой Asynq. Веб-интерфейс написан на React + TypeScript. Развертывание осуществляется через Docker Compose, что упрощает эксплуатацию.
| Компонент | Технология / Детали |
|---|---|
| Сервер | Go (монолит), PostgreSQL 16, Redis + Asynq |
| Агент | Go, gRPC + mTLS, самообновление |
| Веб-интерфейс | React + TypeScript (Vite), Nginx |
| Мин. ресурсы | 1 vCPU, 2 GB RAM, 20 GB SSD (до 50 устройств) |
| Порты | 80/443 (веб/enrollment), 50051 (gRPC) |
Ключевые функции управления
Система поддерживает инвентаризацию (CPU, RAM, диск, IP, серийные номера, список ПО), группировку устройств и запуск скриптов по расписанию (cron) или событиям. Администраторы могут настраивать политики «allowed/forbidden» для ПО и отслеживать комплаенс (Pass/Fail) в реальном времени.
Важной особенностью является встроенная система ролевого доступа (RBAC) с ролями it_admin и viewer, а также журнал аудита действий с настраиваемым периодом хранения (по умолчанию 365 дней). Пользователи могут запрашивать админ-права прямо из системного трея.
Enterprise-функции и планы
Базовая версия открыта на GitHub. Enterprise-редакция (доступна по запросу) добавляет:
- Управление ключами восстановления FileVault (macOS).
- Принудительное шифрование дисков.
- Удаление ПО через интерфейс.
- Мультитенантность, SSO/OIDC, MFA, SCIM и экспорт в SIEM (в разработке).
- Удаленный доступ к рабочему столу (в планах).
Для получения Enterprise-лицензии или сообщения об ошибках автор рекомендует обращаться на charmander020104@gmail.com или в Telegram.
Источник: Github ↗
