RMMZit

Self-hosted удалённый рабочий стол и удалённый терминал для ИТ-поддержки

Как с RMMZit помогать пользователям и чинить компьютеры из браузера: удалённый рабочий стол, терминал, файлы, процессы, службы, реестр и запланированные задания — через консоль на вашем собственном сервере, без программ на вашей стороне и без открытых портов на их стороне.

О чём это руководство

RMMZit — бесплатный инструмент с открытым исходным кодом (AGPLv3) для удалённого мониторинга и управления (RMM). Удалённый доступ — его часть: любой компьютер с агентом RMMZit можно открыть из веб-консоли для сеанса удалённого рабочего стола, терминала или файлового менеджера. Размещённые у поставщика инструменты удалённой поддержки, такие как TeamViewer или AnyDesk, держат сервис за вас; RMMZit вы размещаете сами — консоль работает на вашем сервере, а сеансы идут между вашим сервером и вашими агентами.

Что понадобится

  • Работающий сервер RMMZit — если его ещё нет, см. руководство по установке.
  • Компьютеры с агентом RMMZit: Windows 10 / 11 или Windows Server 2016 и новее (64-бит) либо Linux с systemd (x86-64 или ARM64).
  • Учётная запись с ролью Администратор или Техник. Техник видит только тех клиентов, которыми ему разрешено управлять.
  • Современный веб-браузер. На компьютер техника ничего не устанавливается.

Как сеанс доходит до компьютера

У сервера два порта: консоль (веб-интерфейс и API, TCP 8443) и точка подключения агентов (TCP 8444). Агенты сами подключаются к порту агентов исходящим соединением, поэтому управляемым компьютерам не нужны ни открытые порты, ни проброс портов. Удалённый сеанс использует то же соединение: всё идёт через зашифрованное соединение агента и записывается в журнал аудита.

При регистрации агент запоминает отпечаток сертификата сервера, поэтому поддельный сервер не может его перехватить. Каждую команду из консоли сервер подписывает, а агент проверяет. Для компьютеров вне вашей сети откройте TCP 8444 на межсетевом экране и задайте публичный адрес для агентов в разделе Настройки → Сеть и доступ; порт консоли остаётся закрытым.

Запуск сеанса удалённого рабочего стола

  1. Откройте Устройства и щёлкните компьютер (поиск в шапке, Ctrl+K, находит его по имени, пользователю, IP-адресу и не только).
  2. Нажмите Удалённый рабочий стол — на странице устройства или в отдельном окне. Вы видите экран и управляете им мышью и клавиатурой.

В окне просмотра есть всё, что нужно для поддержки:

  • Клавиатура: щёлкните по экрану, чтобы печатать; клавиши уходят на удалённый компьютер с его собственной раскладкой. Отправить Ctrl+Alt+Del и Отправить текст (набирает текст, например длинный пароль) находятся на панели инструментов.
  • Полный экран: сочетания вроде Ctrl+W или клавиша Windows тоже уходят на удалённый компьютер; чтобы выйти из полного экрана, удерживайте Esc.
  • Качество: Быстрое, Сбалансированное или Чёткое, в зависимости от соединения.
  • Мониторы: один монитор или Все мониторы.
  • Экраны входа и UAC отображаются и доступны, так что можно войти в систему и подтвердить запросы администратора.

Что видит пользователь на другой стороне

Сеанс начинается сразу; пользователю не нужно его принимать. По умолчанию человек за компьютером, пока вы подключены, видит вверху экрана полосу с вашим именем. Сами вы эту полосу на изображении не видите.

Администратор может отключить полосу в разделе Настройки → Удалённый рабочий стол (Показывать уведомление на удалённом экране, пока подключён техник). Каждый сеанс в любом случае записывается в журнал аудита. Рекомендации RMMZit по безопасности советуют оставлять уведомление включённым, чтобы пользователи знали, когда кто-то подключён.

Расскажите пользователям и клиентам, как в вашей компании устроена удалённая поддержка — что техник может подключиться и что полоса показывает, кто это. Нужно ли что-то ещё, например письменное соглашение с клиентом, зависит от ваших договоров и местных правил.

Буфер обмена и копирование файлов

На компьютерах с Windows скопированный текст передаётся в обе стороны через Ctrl+C и Ctrl+V. Файлы, скопированные в вашем Проводнике, вставляются на удалённом компьютере через Ctrl+V. Файлы, скопированные на удалённом компьютере, предлагаются для скачивания (Скачать скопированные файлы), потому что браузер не может поместить файлы в ваш буфер обмена. Для копирования файлов через буфер обмена на компьютере с Windows должен быть выполнен вход пользователя.

Обмен через буфер можно отключить в разделе Настройки → Удалённый рабочий стол.

Удалённый терминал: PowerShell и root-оболочка

Терминал открывает оболочку устройства в браузере, без подключения к экрану — удобно для серверов и для быстрых исправлений, пока пользователь продолжает работать.

  • Linux: root-оболочка.
  • Windows: Windows PowerShell, запущенный от имени SYSTEM в псевдоконсоли. Нужен агент 0.12 или новее и Windows 10 1809 / Windows Server 2019 или новее.

Щёлкните в терминале, чтобы печатать; копируйте выделением текста, вставляйте через Ctrl+Shift+V или Отправить текст. Уход со страницы завершает оболочку и все запущенные ею программы. Начало и конец сеанса записываются в журнал аудита.

Для команд, которые вы запускаете часто или сразу на многих компьютерах, лучше использовать Скрипты: PowerShell, cmd, bash или sh, от имени SYSTEM или root, на одном устройстве, на многих или по расписанию, с сохранённым выводом каждого запуска.

Файлы, процессы, службы, реестр и задания

Многим задачам поддержки экран вообще не нужен. На странице устройства для них есть вкладки:

  • Файлы просматривает диски компьютера: загрузка файлов (до 4 ГБ), скачивание файлов, скачивание папки или выделения в ZIP, создание папок, переименование и удаление. Агент выполняет каждую файловую операцию от имени SYSTEM (Windows) или root (Linux).
  • Процессы показывает запущенные программы с памятью, потоками и сеансом и завершает процесс.
  • Службы показывает службы Windows или юниты systemd и запускает, останавливает или перезапускает их. Агент RMMZit защищает себя: его нельзя остановить или завершить из консоли.
  • Реестр (Windows, агенты 0.12 и новее) открывает раздел по пути или от корней HKLM, HKU, HKCR и HKCC; параметры и разделы можно добавлять, изменять и удалять. Корни, разделы прямо под ними и собственные ветви системы защищены. Реестры пользователей находятся в HKU (по их SID).
  • Запланированные задания (Windows, агенты 0.12 и новее) показывает задания Планировщика заданий; задание можно запустить, завершить, включить, отключить и удалить.

Кнопки питания на странице устройства перезагружают или выключают компьютер, сразу или с задержкой, с необязательным сообщением вошедшему пользователю.

Кто может подключаться и что записывается

Каждый входит под своей учётной записью с двухфакторным входом. Роли определяют, что кому можно:

  • Администратор — всё, включая пользователей и настройки (например, уведомление и буфер обмена); всегда видит всех клиентов.
  • Техник — управляет устройствами разрешённых клиентов: удалённый доступ, скрипты, обновления, программы, оповещения.
  • Только чтение — только просматривает разрешённых клиентов; без удалённого доступа и без скриптов.

Техники и пользователи с ролью «только чтение» получают доступ ко всем клиентам или только к некоторым. Учётные записи добавляются в разделе Пользователи или приходят из Active Directory / LDAP либо единого входа.

Журнал аудита показывает каждое изменение и каждое удалённое действие с пользователем, объектом и адресом: сеансы удалённого рабочего стола, сеансы терминала (начало и конец), каждую файловую операцию с вашим именем, каждое изменение реестра с заменённым значением, каждое действие с запланированным заданием. Записи связаны цепочкой хешей; консоль проверяет цепочку при каждом просмотре и сообщает, если запись была изменена или удалена. Отчёты для клиентов показывают работу техников из журнала аудита — сеансы удалённого рабочего стола и терминала, запущенные скрипты и файловые операции.

Сеть и безопасность

  • Держите консоль доступной только из ваших административных сетей; для доступа извне используйте VPN (например, WireGuard), а не открывайте порт консоли.
  • Открывайте порт агентов только там, где есть агенты, и задайте сети агентов, если все агенты приходят с известных адресов.
  • Дайте каждому человеку свою учётную запись с минимальной ролью и только нужными клиентами; отключайте учётные записи ушедших сотрудников.
  • Используйте сертификат, которому доверяют браузеры (Let's Encrypt или ваш собственный ЦС), в разделе Настройки → Сертификат.
  • Оставьте уведомление на удалённом экране включённым и время от времени просматривайте журнал аудита.

Терминал, скрипт или файловая операция выполняются с полными правами (SYSTEM или root). Кто может войти как техник, может изменять эти компьютеры — защищайте учётные записи соответственно.

Ограничения

  • Рабочие столы Linux: удалённый рабочий стол работает с X11 (Xorg). Wayland не позволяет фоновой службе видеть экран или управлять им: войдите там в сеанс X11 или используйте терминал. Без графического рабочего стола используйте терминал.
  • Буфер обмена и копирование файлов через удалённый рабочий стол работают с компьютерами Windows.
  • Терминал в Windows: агент 0.12 или новее и Windows 10 1809 / Windows Server 2019 или новее.
  • Реестр и запланированные задания: только Windows, агенты 0.12 и новее.
  • Загрузка в файловом менеджере: до 4 ГБ на файл.

Всё, что умеет RMMZit, — на странице возможностей; скачать его можно на странице загрузки, полное описание — в документации и на странице о безопасности. Чтобы установить сервер и первых агентов, следуйте руководству по установке. Вопросы можно задать в GitHub Discussions. Компании могут получить коммерческую поддержку от MaxZit (только на английском).