Обзор 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

../_images/slic4.png

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

../_images/slic5.png

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

Ввод лицензии

Есть возможность ввести лицензию при установке сервера:

../_images/slic1.png

Это не обязательно, можно просто нажать «Enter». Ввести лицензию возможно после установки в веб-интерфейсе сервера.

Через браузер по ip входим в веб-интерфейсе сервера. Для входа используем данные администратора.

Логин и пароль администратора создаётся командой rude createsuperuser при установке сервера.

Вводим лицензию в разделе «лицензия»:

../_images/slic2.png

Лицензия активирована. В разделе «лицензия» отображаются параметры вашей лицензии.

Офлайн-активация лицензии

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

Скопируйте «Запрос активации» и отправьте его вместе с информацией о вашем заказе (ключ лицензии) на sales@rudesktop.ru

В ответном письме вы получите текст лицензии.

Вставьте полученный текст в поле «Текст лицензии» и нажмите «Активировать»

../_images/slic3.png

Лицензия активирована. В разделе «лицензия» отображаются параметры вашей лицензии.

Установка и настройка клиентских приложений для работы с сервером

Выберите способ установки.

Установка скриптом:

Войдите в веб-интерфейс сервера и скачайте установочный файл или скрипт для нужной ОС:

../_images/install_client.png

На 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 - интерфейс сервера

Главная страница

../_images/server_main.png

Введите в браузере ip или доменное имя сервера, для авторизации используйте данные администратора веб-консоли, созданные командой rude createsuperuser при установке.

  1. Панель «Установка клиентов» Позволяет загружать скрипты и файлы для первоначальной установки агентов. Скрипты включают в себя команды для загрузки пакета и настройки его для работы с вашим сервером. Для установки под Windows необходимо ответить утвердительно на предупреждение системы безопасности. Для установки на Linux-системах выполните команду

sh [путь до скрипта]
  1. Графическая диаграмма, показывающая соотношение установленных систем на компьютерах сети вашего сервера.

  2. Графическая диаграмма, показывающая соотношение компьютеров сети вашего сервера, находящихся в сети.

  3. Графическая диаграмма, показывающая соотношение типов подключения в сети вашего сервера.

  4. Панель быстрого доступа к подменю интерфейса.

  5. «Последние действия» - показывает последние действия администратора на сервере.

  6. Меню управления сервером. Содержит ряд подменю для управления сервером и удалёнными ПК:

  • Компьютеры - содержит список устройств, подключенных к серверу. Меню «действия» позволяет начать сеанс подключения без действий на удалённом ПК, так же просмотреть сессии, логи задач и связи конкретного компьютера.

    ../_images/comp.png
  • Мосты - содержит список используемых адресов сервера.

  • Сессии - все соединения всех ПК фиксируются в этом разделе.

  • Задачи – задачи, исполняемые или уже исполненные на устройствах. Задача содержит политики, список ПК для исполнения, настройки периодичности исполнения.

  • Логи – история выполнения задач, содержат ошибки при их наличии.

  • Политики содержат в себе инструкции для исполнения на удалённых ПК. Политики исполняются при помощи задач.

Для создания политик можно воспользоваться готовыми шаблонами или создать «пользовательскую».

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

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

../_images/invent.png
  • Адресная книга - позволяет редактировать список устройств в адресной книге. Теги объединяют устройства из адресной книги в группы.

  • Пользователи - этот пункт позволяет управлять правами пользователей, присваивая группу. Группа пользователей – набор прав.

../_images/users.png
  • Конфигурация - настройки конфигурации сервера.

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

../_images/audit.png

Управление правами

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

../_images/prava1.png

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

../_images/prava2.png

Укажите название, выберите нужные права.

Есть возможность указать группу Active Directory, пользователи автоматически будут попадать в создаваемую группу (требуется настройка авторизации через Active Directory в разделе «настройки»).

Права доступа настраиваются как для пользователей, так и для компьютеров (ID), при авторизации в программе эти права суммируются.

Динамические группы.

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

../_images/dinamicGroup.png

Динамическая группа - незаменимый механизм при управлении конфигурациями большого парка устройств. Есть возможность указать конкретную динамическую группу при создании задачи.

UEM. Управление конфигурациями компьютеров. Задачи и политики

UEM (Unified Endpoint Management) - набор технологий, используемый для защиты и управления широкого спектра устройств и операционных систем из единой консоли.

Многообразие программных и аппаратных платформ порождает ряд проблем управления компьютерами и устройствами в корпоративной среде. RuDesktop UEM позволяет унифицировать управление программным обеспечением и оборудованием рабочих мест конечных пользователей.

Для управления конфигурациями устройств RuDesktop UEM использует технологии Ansible. Ansible – система управления конфигурациями с использованием декларативного языка разметки для описания конфигураций.

RuDesktop UEM управляет работой Ansible на рабочих станциях как в локальных сетях, так и в сети Интернет.

В стандартной поставке сервера содержится набор стандартных политик, которые помогут достать необходимой конфигурации рабочей станции:

../_images/uem2.png

Для более тонкой настройки, есть возможность составить пользовательсткую политику.

Создание политики

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

../_images/uem1.png

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

../_images/uem2.png

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

../_images/uem3.png

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

Есть возможность запустить политику в терминале и просматривать лог исполнения в реальном времени. Возможно просмотреть историю изменения политики, логи, управлять графиком исполнения.

../_images/uem231.png

Выбор стандартных политик расширяется. Держите версию сервера в актуальном состоянии для доступа к максимальному функционалу RuDesktop UEM.

Пользовательская политика

Пользователь RuDesktop, создавая политику, формирует сценарий (плейбук) в формате YAML с описанием требуемого состояния конфигурации управляемого устройства.

Плейбук содержит наименование модуля Ansible, алгоритм и параметры исполнения.

В закладке «Политика» запрашиваются параметры, в закладке «Данные» показывает текущее состояние переменных, закладка «Шаблон» содержит код плейбука Ansible.

Пример кода плейбука для загрузки файла:

../_images/uem4.png

RuDesktop UEM даёт возможность использовать как стандартные виды политик, так и создавать пользовательские на основе стандартных.

Создадим свою первую пользовательскую политику.

Добавляем стандартную политику.

В закладке «шаблон» выбираем «Создать шаблон на его основе» или «Создать новый пустой шаблон».

Вводим название шаблона и нажимаем «Создать».

../_images/uem5.png

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

../_images/uem6.png
- 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 с содержанием, указанным в параметре «Сообщение».

../_images/uem7.png

В закладке «Политика» заполняем параметры и нажимаем сохранить. Пользовательская политика 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, содержит пароль в соответствующем поле в списке компьютеров:

../_images/uem8.png

Создадим задачу, содержащую политику «Загрузка файла».

Указываем наименование задачи, период запуска, выделяем галочкой нужную задачу.

Задача может содержать несколько политик, в этом случае, политики выполняются последовательно.

Порядок выполнения политик можно поменять при помощи мыши.

../_images/uem9.png

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

../_images/uem10.png

В закладке «Компьютеры» выбираем целевой компьютер.

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

../_images/uem11.png

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

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

../_images/uem12.png

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

../_images/uem13.png

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

../_images/uem14.png

Логи выполнения задач

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

../_images/uem15.png

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

../_images/uem16.png

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

../_images/uem17.png

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

../_images/uem18.png

Примеры использования стандартных политик

Политики содержат в себе инструкции для исполнения на удалённых ПК. Политики исполняются при помощи задач.

Для создания политик можно воспользоваться готовыми шаблонами или создать «пользовательскую».

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

../_images/uem19.png

Рассмотрим практические примеры применения каждой из политик.

Автоматическое обновление

Позволяет обновить программу-клиент на удаленной машине до последней версии.

Создаем политику «Автоматическое обновление».

У политики нет параметров, вводим только наименование:

../_images/uem20.png

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

../_images/uem21.png

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

../_images/uem22.png

А также можно задать время следующего запуска.

../_images/uem23.png

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

../_images/uem24.png

Во вкладке «Компьютеры» выбираем устройства, на которых необходимо выполнить задачу.

../_images/uem25.png

После того, как будут заданы необходимые параметры исполняемой задачи нажимаем «Сохранить». Запускаем задачу.

../_images/uem26.png

Задача выполнена! ПО RuDesktop на компьютере обновлена до последней версии.

Выполнить команду

Позволяет удаленно выполнить команду на управляемом компьютере.

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

Для примера рассмотрим создание пустого текстового файла.

Вводим название, команду, нажимаем «Сохранить».

../_images/uem27.png

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

../_images/uem28.png

Задача создана и отображается в списке:

../_images/uem29.png

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

../_images/uem30.png

Задача выполнена. Файл создан.

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

../_images/uem31.png

Загрузка файлов

Позволяет скачать файл на управляемые устройства.

Создаём соответствующую политику.

Называем новую политику “Загрузка тестового файла”.

Добавляем искомый файл в пункте «Файл».

Указываем путь до папки на удалённом устройстве, в которую будет загружен файл.

../_images/uem32.png

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

../_images/uem33.png

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

../_images/uem34.png

Задача выполнена, файл загружен.

../_images/uem35.png

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

../_images/uem36.png

Инвентаризация

Проверяет наличие ПО и оборудования на устройствах вашей сети.

Создаём политику «Инвентаризация».

Потребуется ввести только наименование политики.

../_images/uem37.png

Создаём задачу («Задачи» – «Добавить Задачу»).

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

Нажимаем «Сохранить».

../_images/uem38.png

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

../_images/uem39.png

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

../_images/uem40.png

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

../_images/uem41.png

Политика установки пакета

Позволяет устанавливать пакеты MSI, DEB, RPM, EXE с нужными параметрами и ключами.

Создаём политику «Установка 7z.msi».

Указываем ключи для «тихой установки»: /quiet /norestart.

Ключи могут быть различными, уточняйте у производителя ПО.

Поле «Пакет» содержит product_id пакета. В случае с .msi, это поле заполняется автоматически.

../_images/uem42.png

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

../_images/uem43.png

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

../_images/uem44.png

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

../_images/uem45.png

Если у программы есть команда для удаления, указываем её в соответствующем поле.

Пример команды для удаления: «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 формате:

../_images/syslog.png

Техническая поддержка.

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

../_images/support_server.png

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

../_images/help.png

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