Руководство по началу работы
Версия Termit: 2.1
Аннотация
В этом документе описаны шаги по началу работы с системой терминального доступа «Термит» на примере развертывания брокера под управлением РЕД ОС 7.3.2 и установки компонентов на терминальный сервер под управлением Linux и Windows.
1. Введение
Термит — это система терминального доступа (СТД). Предназначена для организации удаленного доступа конечных пользователей к приложениям, опубликованным на терминальных серверах. Пользователи получают защищенный доступ к установленным администраторами ресурсам с учетом назначенных прав доступа и текущей нагрузки на серверы.
Возможности СТД «Термит»:
-
поддержка терминальных серверов на базе операционных систем Windows и Linux;
-
совместное использование пользователями ресурсов с минимальными усилиями на администрирование и развертывание;
-
безопасный доступ к централизованно развернутым приложениям;
-
публикация рабочего стола и приложений.
1.1. Термины и определения
Термин | Определение |
---|---|
Агент |
Приложение для удаленного мониторинга и управления терминальным сервером. Устанавливается на терминальный сервер |
Брокер |
Компонент системы, который аутентифицирует пользователей, передает им списки доступных приложений, позволяет администраторам настраивать серверы, группы и приложения. Поддерживается несколько брокеров, что обеспечивает отказоустойчивость |
Группа доступа приложения |
Пользователи, которые состоят в группе LDAP и могут запускать приложение. Поддерживаются вложенные группы |
Группа серверов |
Ферма терминальных серверов. С помощью группы серверов можно балансировать нагрузку и объединять их по настройкам и приложениям, которые эти серверы запускают. Группы серверов нужны для обеспечения отказоустойчивости |
Двусторонний буфер обмена |
Набор функций и сообщений, который позволяет передавать данные между клиентской машиной и терминальной сессией |
Пользователи |
Сотрудники предприятий, внешние пользователи, которые могут запускать приложение, и администраторы, которые могут настраивать СТД «Термит» |
Приложение |
Программное обеспечение, которое запускается на терминальном сервере. Интерфейс отображается локально на компьютере пользователя |
Рабочий стол |
Экранная рабочая область, аналогичная локальному рабочему столу. Состоит из рабочей области и панели задач |
Терминальная сессия |
Пользовательский сеанс. Сессия начинается, когда пользователь запустил приложение. И завершается, когда пользователь закрыл приложение. Администратор может завершить сессию принудительно |
Терминальный сервер |
Сервер, на котором запускается программное обеспечение, например 1С, браузер или офисный пакет приложений |
1.2. Ограничения и особенности
Ниже приведены ограничения и особенности СТД «Термит».
-
Не работают пароли на русском языке при подключении к терминальным серверам на Linux.
-
При запуске некоторые приложения (например, Firefox) на Windows Server RDS 2012 R2 могут сразу закрываться после старта сессии. Проблема будет решена в следующем релизе.
-
Количество серверов должно быть не меньше количества приложений, одновременно запускаемых пользователем. Это ограничение действует только для RDP.
-
Путь к перенаправляемой директории не должен содержать кириллицу при использовании клиента на РЕД ОС. Это необходимо для корректной работы перенаправления дисков.
-
Переподключение сессий на клиенте Linux не работает, если приложение (remote app) было запущено с клиента Windows. И также переподключение сессий на клиенте Windows не работает, если приложение (remote app) было запущено с клиента Linux. Это ограничение действует только для RDP-сессий.
-
Симлинки в подключаемых дисках не работают.
-
Для X2Go подключение USB-флеш-накопителя в качестве подключаемого диска не работает.
-
Сессия на вышедшем из строя терминальном сервере отображается в том же статусе, в каком находилась на момент аварийного отключения терминального сервера. Закрыть сессию, имевшую статус «Активная» или «Отключенная» на момент аварийного отключения сервера, без включения терминального сервера невозможно.
2. Рекомендуемые требования к окружению
В этом разделе приведены рекомендуемые системные и сетевые требования для установки СТД «Термит».
2.1. Системные требования
Компонент | Требования |
---|---|
Брокер |
|
Терминальный сервер (Linux) |
|
Терминальный сервер (Windows) |
|
Среда рабочего стола терминального сервера (Linux) |
MATE |
База данных |
PostgreSQL 11 и выше |
Клиентская машина |
|
Служба каталогов |
|
Подробнее о системных требованиях смотрите в Руководстве по установке. |
2.2. Сетевые требования
Источник | Назначение | Протокол | Порт | Описание |
---|---|---|---|---|
Брокер |
База данных |
TCP |
5432 |
Связь с сервером баз данных PostgreSQL |
Служба каталогов |
TCP |
389 |
LDAP |
|
Терминальный сервер |
TCP |
8443 |
Связь: |
|
TCP |
8443 |
Связь: |
||
TCP |
9100 |
Связь: |
||
Межсервисная коммуникация |
TCP |
9090 |
Связь: |
|
Межсервисная коммуникация |
TCP |
443 |
Связь: |
|
Клиент |
Терминальный сервер (Linux) |
TCP |
22 |
SSH подключение к терминальному серверу |
Терминальный сервер (Windows) |
TCP |
3389 |
RDP подключение к терминальному серверу |
Подробнее о сетевых требованиях смотрите в Руководстве по установке. |
3. Подготовка окружения
Для подготовки окружения:
-
Разверните минимум четыре виртуальные машины (ВМ):
-
для терминального сервера под управлением Windows или Linux в зависимости от требований;
-
для брокера под управлением РЕД ОС. На этой ВМ будет устанавливаться сервис;
-
для сервера баз данных;
-
клиентскую машину.
-
-
Проверьте доступ к службе каталогов AD и PostgreSQL.
-
Проверьте с помощью команд
nslookup
,ping
, что брокер зарегистрирован на DNS-сервере и доступен. В выводе команды не должно быть ошибок. -
Добавьте терминальный сервер в домен службы каталогов.
-
В каталоге пользователей создайте сервисную учетную запись для синхронизации объектов из службы каталогов. Обязательно отключите опцию «User must change password at next logon» и включите «Password never expires».
-
В каталоге пользователей создайте три группы, например «termit admins», «termit helpdesk» и «termit users».
-
В каталоге пользователей добавьте в состав групп, созданных на предыдущем шаге, учетные записи пользователей для взаимодействия с СТД «Термит».
После подготовки окружения перейдите к настройке межсетевого экрана.
4. Настройка межсетевого экрана
4.1. Linux
Для проверки настроек межсетевого экрана (МСЭ) на каждом из серверов, выполните команду:
sudo systemctl status firewalld.service
Если в выводе команды отображается информация, как на изображении ниже, то дальнейшие шаги по настройке межсетевого экрана можно пропустить, так как он выключен.
В случае если вывод команды отличается, то необходима дополнительная конфигурация межсетевого экрана. Для этого:
-
Определите активную зону МСЭ с помощью команды:
firewall-cmd --get-default-zone
-
Добавьте правила по списку портов в необходимую активную зону с помощью команды:
sudo firewall-cmd --zone=%Активная_Зона% --permanent --add-port=%Порт%/tcp
Где:
-
%Активная_Зона% — текущая активная зона из шага 1.
-
%Порт% — необходимый порт. Список портов смотрите в разделе Сетевые требования.
Например:
sudo firewall-cmd –zone=public --permanent --add-port=5432/tcp
-
Подробнее о настройке МСЭ можно прочесть на официальном сайте РЕД ОС. |
Далее перейдите к установке брокера.
4.2. Windows
Чтобы брокер смог подключаться к агенту на терминальном сервере Windows, необходимо настроить межсетевой экран на сервере:
-
Откройте любым способом Монитор брандмауэра Защитника Windows в режиме повышенной безопасности.
-
Выберите Правила для входящих подключений.
-
Нажмите Создать правило.
-
На вкладке Тип правила активируйте опцию Для порта.
-
Нажмите Далее.
-
На вкладке Протокол и порты оставьте Протокол TCP по умолчанию. В параметре Определенные локальные порты: укажите «8443». Полный список портов смотрите в разделе Сетевые требования.
-
Нажмите
. -
На вкладке Имя задайте имя, например «Termit Agent».
Можно создать правило в межсетевом экране с помощью PowerShell:
|
Далее перейдите к установке брокера.
5. Установка брокера
Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
|
-
Чтобы установить Docker, Docker Compose, выполните команду:
sudo dnf install docker-ce docker-ce-cli docker-compose
-
Чтобы установленные компоненты добавить в автозагрузку, выполните команду:
sudo systemctl enable docker --now
-
Скопируйте дистрибутив на сервер.
-
Распакуйте архив с помощью команды:
unzip termit-2.1.*-*.zip
-
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
-
Запустите скрипт:
sudo ./install.sh install
-
Введите пароль администратора системы (суперпользователь).
-
Укажите имя узла брокера. Имя может быть любым, например «broker.example.com».
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of a new cluster 2. Add a new node to existing cluster Enter 1 or 2»
Укажите «1».
-
Введите адрес FQDN брокера (инсталляция Standalone), например «broker.example.com». Портал будет доступен по этому адресу.
-
Появится сообщение:
Do you want to connect to existing database or create a new one? (1/2) . Connect to existing database . Create a new database Enter 1 or 2?
-
Если вы хотите подключиться к существующей базе данных (БД), то:
-
Укажите «1».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Если вы хотите создать новую базу данных (БД), то:
-
Укажите «2».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя новой БД.
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен при установке новых брокеров.
Для подтверждения успешной операции перейдите на страницу, например «broker.example.com», и проверьте, что брокер доступен и отображается страница аутентификации.
|
Подробнее о добавлении дополнительного брокера и об установке балансировщика нагрузки можно прочесть в Руководстве по установке.
Далее перейдите к настройке брокера.
6. Настройка брокера
В этом разделе описано, как создать сервер и группу серверов, настроить LDAP, добавить роли и опубликовать приложение.
6.1. Создание сервера
Чтобы создать новый сервер:
-
В браузере, в адресной строке введите адрес брокера, например https://broker.example.com.
-
Введите в окне аутентификации:
-
Учетная запись — admin.
-
Пароль — admin.
-
-
Нажмите Войти.
-
На Портале администрирования в левом меню выберите раздел Серверы.
-
В правом верхнем углу нажмите Новый сервер.
-
На вкладке Новый терминальный сервер:
-
Адрес — укажите DNS-адрес терминального сервера.
-
Тип — выберите операционную систему Linux или Windows.
-
-
Нажмите Далее.
-
На вкладке Группа терминальных серверов группу выбирать не нужно, так как она еще не создана.
-
Нажмите Далее.
-
На вкладке Подтверждение информации проверьте информацию о сервере и нажмите Создать.
-
Скопируйте указанный скрипт в надежное место. Он понадобиться после установки ПО на терминальном сервере..
Агент будет установлен и зарегистрирован на терминальном сервере.
В этом скрипте содержится секрет, используемый для аутентификации агента на сервере только во время установки. В случае потери скрипта необходимо удалить сервер и заново развернуть его.
Созданный сервер появится в списке со статусом «Включен». Далее перейдите к настройке протокола LDAP.
6.2. Настройка LDAP
СТД «Термит» получает всю информацию о пользователях, группах и их связи из LDAP-каталогов.
Чтобы настроить LDAP:
-
В левом меню выберите раздел Настройки.
-
Наведите указатель мыши на Настройки LDAP и нажмите .
-
Включите LDAP используется.
-
Задайте параметры для подключения:
-
Базовое уникальное имя. Например, для домена example.com: «DC=example,DC=com»;
-
Имя пользователя. Например, для домена example.com: CN=termitsvc,CN=users,DC=example,DC=com;
-
Пароль — пароль от сервисной учетной записи;
-
Период синхронизации (минуты).
-
-
Нажмите Далее.
-
Чтобы добавить сервер LDAP, нажмите .
-
Укажите адрес, порт и протокол.
-
Нажмите
. -
На вкладке Подтверждение информации проверьте информацию о сервере LDAP и соединение.
При успешном соединении появится сообщение «Проверка соединения прошла успешна».
-
Нажмите Сохранить.
-
Чтобы синхронизировать данные LDAP, наведите указатель мыши на Настройки LDAP и нажмите . Состояние синхронизации LDAP и СТД «Термит» можно посмотреть в разделе Журнал событий.
LDAP настроен. Перейдите к добавлению ролей.
6.3. Добавление ролей
Вы можете добавить следующие роли:
-
Администраторы. Администраторы могут полностью контролировать систему, например, управлять серверами, пользователями и приложениями.
-
Служба поддержки. Служба поддержки может просматривать настройки, информацию о серверах и сессиях в разделе Обзор, журнал событий, список сессий, завершать сессии и блокировать пользователей. Выполняет функцию L1 технической поддержки.
-
Пользователи. У пользователей есть учетные записи, с помощью которых они имеют доступ к СТД «Термит». Только пользователи могут запускать приложения.
Чтобы добавить роли:
-
В левом меню выберите раздел Настройки.
-
Перейдите на вкладку Роли.
-
Наведите указатель мыши на Администраторы и нажмите .
-
Нажмите .
-
Добавьте группы из каталога пользователей для роли администраторов. Можно добавить несколько групп. Поддерживаются вложенные группы.
-
Нажмите
.
Для ролей Служба поддержки и Пользователи повторите действия из шагов 3-6. Далее перейдите к созданию группы серверов.
6.4. Создание группы серверов
Чтобы создать группу серверов:
-
В левом меню выберите раздел Группы серверов.
-
В правом верхнем углу нажмите Новая группа.
-
На вкладке Основные настройки:
-
Имя — укажите название группы.
-
Тип — выберите операционную систему Linux или Windows.
-
(Опционально) Описание — добавьте описание группы серверов.
-
-
Нажмите Далее.
-
На вкладке Терминальные серверы выберите из списка сервер, который создали ранее.
-
Нажмите Далее.
-
На вкладке Балансировка терминальных серверов оставьте значение весов по умолчанию. Подробнее о балансировке серверов.
-
На вкладке Таймауты сессий оставьте значения по умолчанию.
-
Нажмите Далее.
-
На вкладке Подтверждение информации проверьте информацию о группе серверов и нажмите Создать.
Созданная группа появится в списке. Далее перейдите к публикации приложения.
6.5. Публикация приложения
Чтобы опубликовать приложение:
-
В левом меню выберите раздел Приложения.
-
Нажмите Добавить приложение.
-
На вкладке Основные настройки задайте параметры:
-
Имя — название приложения, например «Блокнот».
-
(Опционально) Наименование у пользователя — название приложения, которое будет отображаться у пользователя, например «Блокнот».
-
Операционная система — выберите Linux или Windows.
-
Тип — выберите Приложение.
-
Команда для запуска — команда для запуска Укажите полный путь к файлу приложения, например
C:\Program Files\Microsoft VS Code\Code.exe
.Короткую команду можно использовать, если:
-
она позволяет запустить приложение напрямую на терминальном сервере;
-
расположение приложения добавлено в переменную среды
PATH
, напримерnotepad.exe
.
-
-
(Опционально) Версия — версия приложения.
-
(Опционально) Описание — описание приложения.
-
-
Нажмите Далее.
-
На вкладке Группа терминальных серверов выберите группу серверов для приложения, которую создали ранее.
-
Нажмите Далее.
-
На вкладке Группы доступа приложения добавьте группу:
-
Нажмите и выберите из списка группу, которая будет иметь доступ к этому приложению.
-
Нажмите Сохранить.
-
-
Нажмите Далее.
-
На вкладке Подтверждение информации проверьте информацию о приложении и нажмите Создать.
После добавления приложение появится в списке со статусом «Вкл.».
При публикации рабочего стола на сервере под управлением Windows необходимо прописать командную строку (она будет игнорироваться), например «explorer.exe». |
Далее перейдите к установке компонентов на терминальный сервер.
7. Установка ПО на терминальный сервер
Перед установкой агента на терминальный сервер необходимо установить ПО на терминальный сервер. |
7.1. Linux
Ниже описано, как установить Java 11, X2Go и агент на терминальный сервер.
-
В файле конфигурации
sshd (/etc/ssh/sshd_config)
, в параметреX11Forwarding
, укажите значение «yes». -
Чтобы установить Java 11 на терминальный сервер, выполните команду:
sudo dnf install java-11-openjdk
-
Чтобы изменить версию Java, используемую по умолчанию, выполните команду:
sudo alternatives --config java
И выберите пункт меню, соответствующий Java 11.
-
Чтобы установить X2Go server на терминальный сервер, выполните команду:
sudo dnf install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver x2goagent -y
-
Установите агент, используя скрипт, полученный при создании сервера.
Далее перейдите к установке клиента.
7.2. Windows
Ниже описано, как добавить роль, изменить политики, установить OpenJDK 11 и агент на терминальный сервер.
Для Windows Server 2012R2 и Windows Server 2016 (редакции ниже 1803) необходимо:
|
-
Активируйте роль «Remote Desktop Session Host» («Узел сеансов удаленных рабочих столов»):
-
Откройте
. -
В правом верхнем углу нажмите Управление.
-
Выберите Добавить роли и компоненты.
-
Нажмите Далее.
-
На вкладке Тип установки оставьте по умолчанию опцию Установка ролей и компонентов.
-
Нажмите Далее.
-
На вкладке Выбор сервера оставьте по умолчанию Выберите сервер из пула серверов.
-
Нажмите Далее.
-
На вкладке Роли сервера активируйте опцию Службы удаленных рабочих столов.
-
Нажмите
. -
На вкладке Службы ролей активируйте опцию Remote Desktop Session Host (Узел сеансов удаленных рабочих столов) и нажмите Добавить компоненты.
-
Нажмите
.После установки и добавления роли перезагрузите ВМ.
-
-
Включите политику «Разрешить удаленный запуск любых программ» и выключите политику «Ограничить пользователей служб удаленных рабочих столов одним сеансов служб удаленных рабочих столов»:
-
Откройте консоль MMC.
-
В левом верхнем углу нажмите Файл и выберите Добавить или удалить оснастку.
-
В доступных оснастках выберите Редактор объектов групповой политики.
-
В параметре Объект групповой политики оставьте по умолчанию Локальный компьютер.
-
Нажмите
. -
Раскройте Политика «Локальный компьютер».
-
Раскройте
. -
Выберите
. -
Нажмите два раза правой кнопкой мыши на политику «Разрешить удаленный запуск любых программ».
-
Активируйте опцию Включено и нажмите ОК.
-
Нажмите два раза правой кнопкой мыши на политику «Ограничить пользователей служб удаленных рабочих столов одним сеансов служб удаленных рабочих столов».
-
Активируйте опцию Отключено и нажмите ОК.
-
Откройте
cmd.exe
и примените политики с помощью командыgpupdate /force
или перезагрузите сервер.После успешной операции в выводе команды появится сообщение «Computer Policy update has completed successfully».
-
-
Добавьте «Разрешить доменным пользователям подключаться по RDP»:
-
Удобным способом откройте Управление компьютером.
-
Выберите Локальные пользователи и группы.
-
Выберите
. -
Двойным кликом мыши нажмите на Пользователи удаленного рабочего стола.
-
Нажмите Добавить.
-
В поле Введите имена выбираемых объектов (примеры): введите Пользователи домена.
-
Нажмите
.
-
-
Загрузите OpenJDK 11 и выполните шаги по установке. На шаге Custom Setup включите установку переменной окружения JAVA_HOME:
-
Установите агент, используя скрипт, полученный при создании сервера.
Далее перейдите к установке клиента.
8. Установка клиента
Чтобы установить клиент:
Windows
-
В левом меню выберите раздел Скачать клиент.
-
Скачайте Термит клиент для Windows 7/8.1 или Термит клиент для Windows 10/11 и установите его.
MacOS
-
Скачайте Термит клиент для Mac OS и выполните шаги по установке.
-
Скачайте Клиент X2Go для Mac OS, соответствующий вашей ОС, и выполните шаги по установке.
-
Скачайте XQuartz и выполните шаги по установке.
Перед запуском клиента в настройках необходимо разрешить использование СТД «Термит». Для этого выберите в меню | , затем в боковом меню нажмите Конфиденциальность и безопасность, прокрутите вниз до параметра Разрешить использование приложений, загруженных из: и выберите App Store и от подтвержденных разработчиков.
Linux
- Astra Linux
-
-
Скачайте Термит клиент для Linux deb.
-
Установите FreeRDP:
-
Измените параметры файла
sources
с помощью команды:sudo mcedit /etc/apt/sources.list
-
Укажите пароль.
-
Измените параметры файла
sources
и сохраните.В большинстве дистрибутивов Astra Linux исходный файл sources.list
содержит только репозиторий на CD/DVD для установки с диска. Для использования дополнительных репозиториев Astra Linux добавьте ресурсы с официального сайта Astra Linux в файлsources.list
. -
Обновите репозиторий с помощью команды:
sudo apt update
-
Установите FreeRDP:
sudo apt install freerdp2-x11
-
Установите клиент Термит:
sudo apt install ./termit-desktop-2.1.*-amd64.deb
Где:
./termit-desktop-2.1.*-amd64.deb
— название файла.
-
-
- РЕД ОС
-
-
Скачайте Термит клиент для Linux rpm и выполните шаги по установке.
-
Установите FreeRDP:
-
Обновите репозиторий с помощью команды:
sudo dnf update
-
Установите FreeRDP:
sudo dnf install freerdp-krb
-
Установите клиент Термит:
sudo dnf install ./termit-desktop-2.1.*-amd64.rpm
Где:
./termit-desktop-2.1.*-amd64.rpm
— название файла.
-
-
После успешной установки клиент будет запущен. Далее запустите приложение.
9. Запуск приложения
Чтобы запустить приложение:
-
Запустите клиент Термит.
Если корневой сертификат отсутствует в системе, то запустите клиент с параметром:
--ignore-certs
-
Укажите адрес сервера, по которому доступна СТД «Термит», и нажмите Подключиться.
-
Введите имя пользователя и пароль от доменной учетной записи.
-
Нажмите Войти.
-
Перейдите в раздел Приложения.
-
На вкладке Все категории выберите приложение и нажмите .
Откроется интерфейс приложения.
10. Подключение ресурсов
В этом разделе описано, как подключить буфер обмена, принтер, смарт-карты, диски и звук удаленного рабочего стола.
10.1. Буфер обмена, принтер и смарт-карты
В разделе Настройки выполните следующие действия:
-
Наведите указатель мыши на Локальные устройства и ресурсы и нажмите :
-
Чтобы включить общий буфер обмена для копирования материалов, активируйте опцию Общий буфер обмена.
-
Если вы хотите печатать на принтер, который подключен к локальному ПК, то активируйте опцию Доступ к принтерам локального компьютера.
-
Если вы хотите подписывать документы в терминальной сессии (RDP) с использованием локальных смарт-карт, то активируйте опцию Перенаправление смарт-карт.
-
-
Нажмите Обновить.
10.2. Диски
Если необходимо перенести, например, документы с локального компьютера на терминальную сессию, можно подключить диск. Для этого:
-
Наведите указатель мыши на Подключаемые диски и нажмите .
-
Нажмите .
-
Чтобы добавить диск, в параметре Расположение нажмите .
-
Нажмите
.
10.3. Звук удаленного рабочего стола
Чтобы включить воспроизведение звука удаленного рабочего стола:
-
Наведите указатель мыши на Звук удаленного рабочего стола и нажмите .
-
Включите Воспроизведение звука удаленного рабочего стола.
-
Нажмите Обновить.
Эта настройка также влияет на перенаправление звука с локального компьютера в сессию.