Обзор cервера RuDesktop¶
RuDesktop – программный комплекс с функционалом UEM, позволяющий получать доступ к удалённым рабочим столам, управлять конфигурациями компьютеров, получать информацию о состоянии операционных систем.
Функционал программы дорабатывается и расширяется. В текущей версии реализовано:
Управление удалёнными рабочими столами с необходимым набором настроек.
Использование сервера в закрытых и открытых сетях.
Удалённая установка и удаление пакетов.
Получение информации о системе, установленном оборудовании и программном обеспечении на рабочих станциях.
Загрузка файлов на удалённый компьютер.
Удалённое выполнение команд.
Управление правами пользователей.
Архитектура сервера и клиента¶
RuDesktop это клиент-серверное приложение.
Сервер
Сервер предназначен для обеспечения удалённых подключений к рабочим столам, управления политиками, задачами и правами доступа.
Устанавливается на Debian или Ubuntu.
Хранит данные в СУБД PostgreSQL. Веб-сервер Nginx.
Используются технологии Ansible, Rust, Python, YAML, шифрование TLS. По умолчанию, слушает 443 порт.
Для управления сервером используется веб-интерфейс.
Клиент
Клиент — это приложение в пользовательским интерфейсом, устанавливаемая в систему как служба или запускаемая без установки (портабельная версия).
Инициирует и управляет удалёнными подключениями к рабочим столам. Позволяет авторизоваться на сервере, получать доступ к адресной книге.
Клиент подключается к серверу по протоколу HTTPS (WebSocket), порт 443 по умолчанию. Сервер передает и получает данные по этому каналу.
При запуске сеанса управления, делается попытка подключения в LAN, потом NAT hole punching и далее сервер.
В случае прямого подключения, используется TCP порт 21115.
Функция поиска клиентов в локальной сети использует UDP порт 21116.
Для установки требуются права администратора (локального, доменного или root).
Клиент работает на Windows (x32,x64 Win7 SP1 и выше), Linux (Deb,RPM, Astra Linux, RedOs, AltLinux), MacOs (Mojave 10.4 и выше), Android (Lollipop 5.1 и выше).
Системные требования для установки сервера¶
Минимальные требования:
2 GB ОЗУ
1 ядро процессора, диск 20 Гб
Канал связи из расчёта 1 Мбит на одно подключение к удалённому рабочему столу.
Пример конфигурации для управления 10000 компьютерами и 100 одновременных подключений к удалённым столам:
8 Gb ОЗУ
4 ядра процессора
100 Гб диск
100 Мбит/c
Установка сервера¶
Добавляем репозиторий, публичный ключ, обновляем пакеты. Для этого последовательно вводим в терминале:
wget -qO - http://rudesktop.ru/repos/standalone/rudesktop.gpg | sudo apt-key add -
echo "deb https://rudesktop.ru/repos/standalone standalone non-free" | sudo tee /etc/apt/sources.list.d/rudesktop.list
sudo apt-get update && sudo apt-get upgrade
Далее устанавливаем сервер.
На Ubuntu 20.04 и Debian 11:
sudo apt-get install rudesktop-server
На Astra Linux и старые Ubuntu, Debian:
sudo apt-get install rudesktop-server-astra
В процессе установки будет запрошена лицензия (можно просто нажать enter и ввести лицензию позже в личном кабинете) и адрес сервера (ip или dns-имя сервера).
После установки сервера требуется создать администратора веб-консоли.
Выполните команду:
rude createsuperuser
Сервер установлен. Введите в браузере ip или доменное имя сервера, для авторизации используйте данные администратора веб-консоли.
Примечание
Для установки на Astra Linux требуется наличие пакетов nginx
и python3.7
.
Если их нет в вашем дистрибутиве, перед установкой добавьте репозиторий Astra Linux Orel, выполнив следующие команды:
echo "deb https://dl.astralinux.ru/astra/frozen/2.12_x86-64/2.12.44/repository stable main contrib non-free" | sudo tee /etc/apt/sources.list.d/astra-orel.list
sudo apt udpate && sudo apt upgrade
Лицензирование локального сервера¶
При использовании локального сервера лицензируются устройства, подключенные к серверу.
В рамках набора управляемых устройств нет ограничений на количество пользователей и одновременных подключений.
Приобретение лицензии¶
Нажимаем «Купить» на главной странице сайта RuDesktop.ru

Заполняем необходимые поля и указываем параметры лицензии.

Нажимаем «Запросить коммерческое предложение». С вами свяжется наш отдел продаж для оформления платёжных документов.
Ввод лицензии¶
Есть возможность ввести лицензию при установке сервера:

Это не обязательно, можно просто нажать «Enter». Ввести лицензию возможно после установки в веб-интерфейсе сервера.
Через браузер по ip входим в веб-интерфейсе сервера. Для входа используем данные администратора.
Логин и пароль администратора создаётся командой rude createsuperuser при установке сервера.
Вводим лицензию в разделе «лицензия»:

Лицензия активирована. В разделе «лицензия» отображаются параметры вашей лицензии.
Офлайн-активация лицензии¶
Если сервер находится в закрытой сети, вы можете запросить лицензию по электронной почте.
Скопируйте «Запрос активации» и отправьте его вместе с информацией о вашем заказе (ключ лицензии) на sales@rudesktop.ru
В ответном письме вы получите текст лицензии.
Вставьте полученный текст в поле «Текст лицензии» и нажмите «Активировать»

Лицензия активирована. В разделе «лицензия» отображаются параметры вашей лицензии.
Установка и настройка клиентских приложений для работы с сервером¶
Выберите способ установки.
Установка скриптом:
Войдите в веб-интерфейс сервера и скачайте установочный файл или скрипт для нужной ОС:

На Windows ответьте утвердительно при скачивании и запуске .MSI файла. Адрес сервера будет содержаться в имени MSI-файла.
На других системах введите в терминале:
sh [путь до скрипта]
Скрипт содержит команды для скачивания и установки пакета для работы с сервером.
Установка пакета клиента RuDesktop.
Для Linux, после установки пакета требуется задать переменную окружения RUDESKTOP_DOMAIN, т.к. по умолчанию приложение будет настроено на облачный сервер 1.rz.rudesktop.ru
Пример для Linux RPM:
sudo RUDESKTOP_DOMAIN=АДРЕС_СЕРВЕРА:ПОРТ rpm -U --force /ПУТЬ/rudesktop-amd64.rpm
Пример для Linux DEB:
sudo RUDESKTOP_DOMAIN=АДРЕС_СЕРВЕРА:ПОРТ dpkg -i /ПУТЬ/rudesktop-amd64.deb
Предупреждение
При установке пакета без ключей и последующем указанием адреса сервера в пункте меню «Сервер для подключения» возможно использовать только подключение к удалённым рабочим столам, функционал UEM (управление конфигурацией ПК) доступен не будет.
Web - интерфейс сервера¶
Главная страница

Введите в браузере ip или доменное имя сервера, для авторизации используйте данные администратора веб-консоли, созданные командой rude createsuperuser при установке.
Панель «Установка клиентов» Позволяет загружать скрипты и файлы для первоначальной установки агентов. Скрипты включают в себя команды для загрузки пакета и настройки его для работы с вашим сервером. Для установки под Windows необходимо ответить утвердительно на предупреждение системы безопасности. Для установки на Linux-системах выполните команду
sh [путь до скрипта]
Графическая диаграмма, показывающая соотношение установленных систем на компьютерах сети вашего сервера.
Графическая диаграмма, показывающая соотношение компьютеров сети вашего сервера, находящихся в сети.
Графическая диаграмма, показывающая соотношение типов подключения в сети вашего сервера.
Панель быстрого доступа к подменю интерфейса.
«Последние действия» - показывает последние действия администратора на сервере.
Меню управления сервером. Содержит ряд подменю для управления сервером и удалёнными ПК:
Компьютеры - содержит список устройств, подключенных к серверу. Меню «действия» позволяет начать сеанс подключения без действий на удалённом ПК, так же просмотреть сессии, логи задач и связи конкретного компьютера.
![]()
Мосты - содержит список используемых адресов сервера.
Сессии - все соединения всех ПК фиксируются в этом разделе.
Задачи – задачи, исполняемые или уже исполненные на устройствах. Задача содержит политики, список ПК для исполнения, настройки периодичности исполнения.
Логи – история выполнения задач, содержат ошибки при их наличии.
Политики содержат в себе инструкции для исполнения на удалённых ПК. Политики исполняются при помощи задач.
Для создания политик можно воспользоваться готовыми шаблонами или создать «пользовательскую».
В текущей версии реализованы шаблоны для автоматического обновления клиентов rudesktop, выполнения команд на удалённом ПК, загрузке файлов, инвентаризации ПО и оборудования, удаления и установке пакетов.

Инвентаризация содержит список ресурсов ваших пк - оборудование и программное обеспечение. Список изменяется при выполнении политики «инвентаризация».

Адресная книга - позволяет редактировать список устройств в адресной книге. Теги объединяют устройства из адресной книги в группы.
Пользователи - этот пункт позволяет управлять правами пользователей, присваивая группу. Группа пользователей – набор прав.

Конфигурация - настройки конфигурации сервера.

Аудит - Раздел Аудит содержит информацию о всех HTTP запросах, входах администраторов в систему, изменении объектов сервера.

Управление правами¶
При использовании локального сервера, есть возможность управлять правами пользователей. Для этого выберите пользователя и в закладке «Права доступа» укажите нужную группу или права.

По умолчанию, уже созданы стандартные группы доступа. При необходимости, создайте свою группу. Перейдите в раздел «Группы» и нажмите «Добавить».

Укажите название, выберите нужные права.
Есть возможность указать группу Active Directory, пользователи автоматически будут попадать в создаваемую группу (требуется настройка авторизации через Active Directory в разделе «настройки»).
Права доступа настраиваются как для пользователей, так и для компьютеров (ID), при авторизации в программе эти права суммируются.
Динамические группы.¶
Динамическая группа - совокупность компьютеров, объединённая по какому-то признаку. Маски динамических групп можно увидеть в разделе «Динамические группы». В стандартной поставке содержаться маски для разделения компьютеров по подсетям и семействам ОС, но вы можете добавить свою, нажав на кнопку «Добавить динамическую группу».

Динамическая группа - незаменимый механизм при управлении конфигурациями большого парка устройств. Есть возможность указать конкретную динамическую группу при создании задачи.
UEM. Управление конфигурациями компьютеров. Задачи и политики¶
UEM (Unified Endpoint Management) - набор технологий, используемый для защиты и управления широкого спектра устройств и операционных систем из единой консоли.
Многообразие программных и аппаратных платформ порождает ряд проблем управления компьютерами и устройствами в корпоративной среде. RuDesktop UEM позволяет унифицировать управление программным обеспечением и оборудованием рабочих мест конечных пользователей.
Для управления конфигурациями устройств RuDesktop UEM использует технологии Ansible. Ansible – система управления конфигурациями с использованием декларативного языка разметки для описания конфигураций.
RuDesktop UEM управляет работой Ansible на рабочих станциях как в локальных сетях, так и в сети Интернет.
В стандартной поставке сервера содержится набор стандартных политик, которые помогут достать необходимой конфигурации рабочей станции:

Для более тонкой настройки, есть возможность составить пользовательсткую политику.
Создание политики¶
В стандартной поставке сервера RuDesktop UEM уже содержится набор политик для управления конфигурациями. Пользователю потребуется выбрать политику и указать параметры. Для создания политики перейдите в раздел «Политики» и нажмите добавить:

Выберите одну из стандартных политик RuDesktop UEM.

Заполните параметры политики. Параметром может быть путь, файл, установочный пакет или что-то другое. Например, у политики «Загрузка файла» следующие параметры: Название, Файл, Путь.

Нажмите «Сохранить». Политика создана. При исполнении описанной политики выбранный файл будет загружен на удалённый компьютер по указанному пути.
Есть возможность запустить политику в терминале и просматривать лог исполнения в реальном времени. Возможно просмотреть историю изменения политики, логи, управлять графиком исполнения.

Выбор стандартных политик расширяется. Держите версию сервера в актуальном состоянии для доступа к максимальному функционалу RuDesktop UEM.
Пользовательская политика¶
Пользователь RuDesktop, создавая политику, формирует сценарий (плейбук) в формате YAML с описанием требуемого состояния конфигурации управляемого устройства.
Плейбук содержит наименование модуля Ansible, алгоритм и параметры исполнения.
В закладке «Политика» запрашиваются параметры, в закладке «Данные» показывает текущее состояние переменных, закладка «Шаблон» содержит код плейбука Ansible.
Пример кода плейбука для загрузки файла:

RuDesktop UEM даёт возможность использовать как стандартные виды политик, так и создавать пользовательские на основе стандартных.
Создадим свою первую пользовательскую политику.
Добавляем стандартную политику.
В закладке «шаблон» выбираем «Создать шаблон на его основе» или «Создать новый пустой шаблон».
Вводим название шаблона и нажимаем «Создать».

Перед нами окно редактирования шаблона. Приведём текст шаблона к следующему виду:

- name: hello RuDesktop! # Наименование политики
hosts: all # Политика применится на всех устройствах
vars_prompt: # Блок описания параметров
- name: parameters # Имя переменной, содержащей параметр
prompt: Сообщение # Отображаемое наименование переменной
help: Сообщение для пользователя удалённого компьютера # подсказка
required: yes # Параметр обязателен для заполнения
tasks:
- ansible.builtin.shell: # Обращение к модулю
cmd: 'echo {{ parameters }} >> hello.txt' # запуск команды
when: ansible_os_family != "Windows" # не для Windows
# для Windows используется другой модуль:
- ansible.windows.win_shell: 'echo {{ parameters }} >> C:\Windows\Temp\hello.txt'
when: ansible_os_family == "Windows" #для Windows
При исполнении политики, на удалённом компьютере создастся файл C:WindowsTemphello.txt с содержанием, указанным в параметре «Сообщение».

В закладке «Политика» заполняем параметры и нажимаем сохранить. Пользовательская политика RuDesktop UEM создана.
- Пользовательская политика RuDesktop UEM – мощный инструмент для тонкой настройки конфигураций управляемых устройств.
Для справки по Ansible рекомендуем воспользоваться документацией:
https://docs.ansible.com/ansible/latest/getting_started/get_started_playbook.html
Желаем успехов в создании пользовательских политик RuDesktop UEM.
Задачи. Управление исполнением политик¶
Задачи RuDesktop UEM используются для управления выполнением политик. Выполнение задач возможно на устройствах с приложением RuDesktop, установленным особым образом.
Установка и настройка клиентских приложений для работы с сервером RuDesktop UEM:
https://rudesktop.ru/static/help/html/docs/server.html#id7
Подключение уже установленного клиента к серверу RuDesktop UEM:
https://rudesktop.ru/static/help/html/docs/server.html#id10
При установке приложения обычным образом с последующим указанием сервера для подключения в интерфейсе программы, доступен только функционал управления удалённым рабочим столом.
Устройство, подключенное к серверу RuDesktop UEM, содержит пароль в соответствующем поле в списке компьютеров:

Создадим задачу, содержащую политику «Загрузка файла».
Указываем наименование задачи, период запуска, выделяем галочкой нужную задачу.
Задача может содержать несколько политик, в этом случае, политики выполняются последовательно.
Порядок выполнения политик можно поменять при помощи мыши.

Параметры политики:

В закладке «Компьютеры» выбираем целевой компьютер.
В закладке «Группы» есть возможность указать группу компьютеров для массового применения политик.

Нажимаем «Сохранить». Задача создана и сохранена в списке раздела «Задачи».
Запуск возможен как в окне редактирования, так и из списка по кнопке «запустить».

Успешное завершение задачи выглядит так:

При выполнении задачи возникли ошибки:

Логи выполнения задач¶
Конфигурация компьютера изменена в соответствии с требованиями политики:

Конфигурация компьютера уже соответствует требованиям политики (Нужный файл уже загружен, пакет уже установлен и т.п.):

Лог содержит ошибку:

Пример содержания лога с ошибкой:

Примеры использования стандартных политик¶
Политики содержат в себе инструкции для исполнения на удалённых ПК. Политики исполняются при помощи задач.
Для создания политик можно воспользоваться готовыми шаблонами или создать «пользовательскую».
В текущей версии реализованы шаблоны для автоматического обновления клиентов rudesktop, выполнения команд на удалённом ПК, загрузке файлов, инвентаризации ПО и оборудования, удаления и установке пакетов.

Рассмотрим практические примеры применения каждой из политик.
Автоматическое обновление¶
Позволяет обновить программу-клиент на удаленной машине до последней версии.
Создаем политику «Автоматическое обновление».
У политики нет параметров, вводим только наименование:

Создаём задачу для управления созданной политикой «обновление приложения RuDesktop».

В открывшемся меню задаем название задачи, можно выбрать периодичность выполнения (Однократно по умолчанию).
А также можно задать время следующего запуска.

Выделяем галочкой управляемую политику:

Во вкладке «Компьютеры» выбираем устройства, на которых необходимо выполнить задачу.
После того, как будут заданы необходимые параметры исполняемой задачи нажимаем «Сохранить». Запускаем задачу.
Задача выполнена! ПО RuDesktop на компьютере обновлена до последней версии.
Выполнить команду¶
Позволяет удаленно выполнить команду на управляемом компьютере.
Создадим политику «Выполнить команду», укажем необходимую команду в меню управления политикой.
Для примера рассмотрим создание пустого текстового файла.
Вводим название, команду, нажимаем «Сохранить».

Создаем задачу (Задачи - Добавить задачу), выбираем созданную политику, компьютеры, на которых задача должна исполняться, нажимаем “Сохранить”.
Задача создана и отображается в списке:

Запускаем задачу.

Задача выполнена. Файл создан.
Проверим результат.

Загрузка файлов¶
Позволяет скачать файл на управляемые устройства.
Создаём соответствующую политику.
Называем новую политику “Загрузка тестового файла”.
Добавляем искомый файл в пункте «Файл».
Указываем путь до папки на удалённом устройстве, в которую будет загружен файл.

Сохраняем, добавляем задачу (Задачи - Добавить задачу). Выбираем период выполнения, компьютеры на которые необходимо скачать файл. Нажимаем Сохранить.

Запускаем задачу. Ждем несколько секунд (время исполнения зависит от размера файла и количества компьютеров, в данном примере 1 компьютер и небольшой документ).
Задача выполнена, файл загружен.

Проверим результат.

Инвентаризация¶
Проверяет наличие ПО и оборудования на устройствах вашей сети.
Создаём политику «Инвентаризация».
Потребуется ввести только наименование политики.

Создаём задачу («Задачи» – «Добавить Задачу»).
Задаем название, периодичность выполнения, выбираем ранее созданную политику инвентаризации и компьютеры, на которых задача должна исполняться.
Нажимаем «Сохранить».

Запускаем задачу.

Задача выполнена.

Результат работы политики находится в разделе «Инвентаризация»

Политика установки пакета¶
Позволяет устанавливать пакеты MSI, DEB, RPM, EXE с нужными параметрами и ключами.
Создаём политику «Установка 7z.msi».
Указываем ключи для «тихой установки»: /quiet /norestart.
Ключи могут быть различными, уточняйте у производителя ПО.
Поле «Пакет» содержит product_id пакета. В случае с .msi, это поле заполняется автоматически.

Создаём соответствующую задачу.

Указываем целевой компьютер. Сохраняем и запускаем задачу. ПО установлено:

Политика удаления пакета создаётся и применяется аналогично:

Если у программы есть команда для удаления, указываем её в соответствующем поле.
Пример команды для удаления: «C:Program Files[Название ПО]Uninstall.exe»
Часто задаваемые вопросы¶
Смена ip сервера¶
Для смены или добавления альтернативного IP адреса сервера введите в терминале:
rude install АДРЕС_СЕРВЕРА1:ПОРТ АДРЕС_СЕРВЕРА2:ПОРТ
Смена ip адреса с удалением локальных настроек и настроек веб сервера:
rude reinstall АДРЕС_СЕРВЕРА1:ПОРТ АДРЕС_СЕРВЕРА2:ПОРТ
Подключение уже установленного клиента к другому серверу¶
При изменении ip сервера требуется переподключить клиентское приложение.
Проблема решается переустановкой с правильными параметрами или одноразовым запуском программы с параметром
rudesktop --rz host:port (два минуса перед rz)
Для Windows, запустите командную строку (пуск – выполнить – CMD). Введите в командной строке:
"C:\Program Files\RuDesktop\"rudesktop.exe --rz АДРЕС_СЕРВЕРА:ПОРТ
Запуск, остановка, перезапуск сервера RuDesktop¶
Выполните в терминале сервера:
sudo rude start
sudo rude stop
sudo rude restart
Бэкап базы данных¶
Для сохранения состояния базы данных воспользуйтесь процедурами backup/restore. Рекомендуем проводить бэкап перед обновлениями сервера или системы.
Убедитесь, что на диске достаточно свободного места и выполните в терминале:
rude backup /ПУТЬ/ИМЯ_ФАЙЛА
Для восстановления:
rude restore /ПУТЬ/ИМЯ_ФАЙЛА
Смена или добавления альтернативного IP адреса сервера¶
После смены ip адреса сервера выполните в терминале сервера
rude install АДРЕС_СЕРВЕРА1:ПОРТ АДРЕС_СЕРВЕРА2:ПОРТ
Теперь ваш сервер доступен на других адресах. Требуется переустановка клиентов с правильными параметрами.
Смена ip адреса с удалением локальных настроек и настроек веб сервера¶
rude reinstall АДРЕС_СЕРВЕРА1:ПОРТ АДРЕС_СЕРВЕРА2:ПОРТ
Теперь ваш сервер доступен на других адресах. Требуется переустановка клиентов с правильными параметрами.
Логирование действий администратора в Syslog для интеграции со сторонними сервисами¶
интерфейс сторонними сервисами, например, SIEM - системами, требуется логировать события Rudesktop в syslog в формате CEF.
Делаем следующие настройки:
Настраиваем rsyslogd-сервер на прием данных по протоколу TCP
в /etc/rsyslog.conf раскомментируем:
# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
в конец файла добавляем:
*.* @127.0.0.1
Перезапускаем сервис rsyslogd
sudo systemctl restart rsyslog
В /usr/share/rudesktop/localsettings.py вносим следующие параметры:
SYSLOG_HOST = 'localhost'
SYSLOG_PORT = 514
Перезагружаем сервер Rudesktop:
rude restart
Действия администратора логируются в syslog в CEF формате:

Техническая поддержка.¶
Обратитесь в «техническую поддержку» при возникновении вопросов или ошибок.

Задайте вопрос, и мы ответим в ближайшее время.

Время работы технической поддержки – ежедневно с 8.00 до 20.00 МСК. Обращения рассматриваются в течение суток.