Руководство по началу работы
Версия Система терминального доступа "Термит": 2.0
Аннотация
В этом документе описано, как подготовить окружение для системы терминального доступа "Термит", установить Java 11 и X2Go на терминальный сервер под управлением РЕД ОС 7.3.2, установить и настроить брокер под управлением РЕД ОС 7.3.2.
1. Введение
"Термит" — это система терминального доступа (СТД). Предназначена для организации удаленного доступа конечных пользователей к приложениям, опубликованным на терминальных серверах. Пользователи получают защищенный доступ к установленным администраторами ресурсам с учетом назначенных прав доступа и текущей нагрузки на серверы.
Преимущества СТД "Термит":
-
безопасный доступ к централизованно развернутым приложениям;
-
совместное использование пользователями ресурсов с минимальными усилиями на администрирование и развертывание;
-
простой поиск для запуска нужных приложений.
1.1. Ключевые компоненты
Название компонента | Описание |
---|---|
Агент |
Приложение для удаленного мониторинга и управления терминальным сервером. Устанавливается на терминальный сервер |
Балансировщик нагрузки |
Внешний компонент, который распределяет нагрузку между брокерами и реализует отказоустойчивость |
Брокер |
Компонент системы, который идентифицирует пользователей, передает им списки доступных приложений, позволяет администраторам настраивать серверы, группы и приложения. Поддерживается несколько брокеров, что обеспечивает отказоустойчивость |
Группа доступа приложения |
Пользователи, которые состоят в группе LDAP и могут запускать приложение. Поддерживаются вложенные группы |
Группа серверов |
Ферма терминальных серверов. С помощью группы серверов можно балансировать нагрузку и объединять их по настройкам и приложениям, которые эти серверы запускают. Группы серверов нужны для обеспечения отказоустойчивости |
Двусторонний буфер обмена |
Набор функций и сообщений, который позволяет передавать данные между клиентской машиной и терминальной сессией |
Пользователи |
Сотрудники предприятий, внешние пользователи, которые могут запускать приложение, и администраторы, которые могут настраивать СТД "Термит" |
Приложение |
Программное обеспечение, которое запускается на терминальном сервере. Интерфейс отображается локально на компьютере пользователя |
Рабочий стол |
Экранная рабочая область, аналогичная локальному рабочему столу. Состоит из рабочей области и панели задач |
Терминальная сессия |
Пользовательский сеанс. Сессия начинается, когда пользователь запустил приложение. И завершается, когда пользователь закрыл приложение. Администратор может завершить сессию принудительно |
Терминальный сервер |
Сервер, на котором запускается программное обеспечение, например 1С, браузер или офисный пакет приложений |
1.2. Ограничения и особенности
-
Не поддерживается кириллица в имени Base DN сервера LDAP, в имени и пароле сервисной учетной записи.
-
Поддержка терминальных серверов на базе ОС Windows будет доступна в следующем релизе.
-
Нельзя изменить тип группы серверов после создания.
-
Сервер может входить только в одну группу серверов.
-
Поддержка монитора с разрешением 4К.
-
Возможность развертывания компонентов на физических и виртуальных серверах.
1.3. Архитектура
Ниже на схеме представлен процесс работы СТД "Термит".
- Аутентификация
-
-
Пользователь запускает десктоп-клиент. Далее вводит адрес брокера.
-
Пользователь вводит имя доменной учетной записи и пароль.
-
Брокер проверяет эти данные на сервере LDAP.
-
Брокер возвращает десктоп-клиенту токен для аутентификации в REST API.
-
- Получение списка приложений
-
-
Десктоп-клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя (сравнивая его группы с теми, которые назначены на приложения) и отдает список доступных приложений.
-
- Старт сессии
-
-
Пользователь запускает нужное приложение (например, калькулятор). Десктоп-клиент отправляет брокеру запрос на старт новой терминальной сессии.
-
Брокер выбирает терминальный сервер, который может обслужить запрос.
-
Брокер создает сессию в БД и отдает десктоп-клиенту профиль подключения, включающий в себя адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
-
Клиент X2Go стартует сессию на терминальном сервере. В процессе старта клиент X2Go запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Клиент X2Go настраивает перенаправление звука, файловой системы, печати и запускает калькулятор в сессии.
-
На стороне терминального сервера агент Термит завершает процесс создания сессии (уведомляет брокер о том, что создана сессия с X2Go ID. Далее происходит синхронизация этого ID c ID из БД).
-
Сессия готова к работе.
-
2. Рекомендуемые требования к окружению
В этом разделе приведены рекомендуемые системные и сетевые требования для установки СТД "Термит".
2.1. Системные требования
Компонент | Требования |
---|---|
Брокер |
|
Терминальный сервер |
|
Среда рабочего стола терминального сервера |
|
База данных |
|
Клиентская машина |
|
Служба каталогов |
|
2.2. Сетевые требования
Источник | Назначение | Протокол | Порт | Описание |
---|---|---|---|---|
Брокер |
База данных |
TCP |
5432 |
Связь с сервером баз данных PostgreSQL |
Служба каталогов |
TCP |
389 |
LDAP |
|
Терминальный сервер |
TCP |
8443 |
Связь: |
|
TCP |
8443 |
Связь: |
||
TCP |
9100 |
Связь: |
||
Балансировщик нагрузки |
TCP |
443 |
Связь: |
|
TCP |
8080 |
Связь: |
||
Межсервисная коммуникация |
TCP |
9090 |
Связь: |
|
Шлюз удаленного рабочего стола |
Терминальный сервер |
TCP |
22 |
SSH подключение к терминальному серверу |
Служба каталогов |
TCP |
389 |
LDAP |
|
Клиент |
Шлюз удаленного рабочего стола |
TCP |
22 |
SSH подключение к терминальному серверу |
Терминальный сервер |
TCP |
22 |
SSH подключение к терминальному серверу без использования компонента шлюз |
|
Балансировщик нагрузки |
TCP |
443 |
HTTPS подключение к брокеру |
3. Проверка настроек межсетевого экрана
Чтобы проверить настройки межсетевого экрана (МСЭ) на каждом из серверов, выполните команду:
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. Подготовка окружения
Для подготовки окружения:
-
Разверните минимум четыре виртуальные машины (ВМ):
-
для брокера под управлением РЕД ОС. На этой ВМ будет устанавливаться сервис;
-
для сервера баз данных;
-
для терминального сервера под управлением РЕД ОС;
-
клиентскую машину.
-
-
Проверьте доступ к службе каталогов и PostgreSQL.
-
Проверьте с помощью команд
nslookup
,ping
, что брокер зарегистрирован на DNS-сервере и доступен. В выводе команды не должно быть ошибок. -
Добавьте терминальный сервер в домен службы каталогов.
-
В каталоге пользователей создайте сервисную учетную запись для синхронизации объектов из службы каталогов. Обязательно отключите опцию "User must change password at next logon" и включите "Password never expires".
-
В каталоге пользователей создайте три группы, например "termit admins", "termit helpdesk" и "termit users".
-
В каталоге пользователей добавьте в состав групп, созданных на предыдущем шаге, учетные записи пользователей для взаимодействия с СТД "Термит".
5. Установка брокера
Для установки брокера на подготовленную ВМ под управлением РЕД ОС выполните следующие действия:
Запуск команд выполняется от учетной записи, имеющей повышенные привилегии sudo. |
-
Чтобы установить Docker, Docker Compose, выполните команду:
sudo dnf install docker-ce docker-ce-cli docker-compose
-
Чтобы установленные компоненты добавить в автозагрузку, выполните команду:
sudo systemctl enable docker --now
-
Скопируйте дистрибутив на сервер.
-
При необходимости выдайте права на запуск скрипта с помощью команды:
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 new cluster 2. Add new node to existing cluster Enter 1 or 2"
Укажите "1".
-
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например "broker.example.com". Портал будет доступен по этому адресу.
-
Укажите имя хоста базы данных (БД), например "db.example.com".
-
Укажите порт "5432".
-
Укажите имя БД, например "example".
-
Укажите имя пользователя БД, например "termit".
-
Введите пароль для БД.
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен при установке новых брокеров.
Для подтверждения успешной операции перейдите на страницу "broker.example.com" и проверьте, что брокер доступен и отображается страница аутентификации.
|
Подробнее о добавлении дополнительного брокера и об установке балансировщика нагрузки можно прочесть в "Руководстве по установке".
6. Настройка брокера
В этом разделе описано, как настроить LDAP и роли, создать сервер и группу серверов и опубликовать приложение.
6.1. Настройка LDAP
СТД "Термит" поддерживает передачу данных по протоколу LDAP. Поэтому вся информация о пользователях, группах и их связи в режиме синхронизации берется из данных используемой службы каталогов по протоколу LDAP.
Для настройки LDAP выполните следующие действия:
-
В браузере, в адресной строке введите адрес брокера, например https://broker.example.com.
-
Введите в окне аутентификации и нажмите Войти:
-
Учетная запись — admin.
-
Пароль — admin.
-
-
В левом меню выберите раздел Настройки.
-
Наведите указатель мыши на Настройки LDAP и нажмите .
-
Включите LDAP используется.
-
Задайте параметры для подключения:
-
Базовое уникальное имя. Например, для домена example.com: "DC=example,DC=com";
-
Имя пользователя. Например, для домена example.com: CN=termitsvc,CN=users,DC=example,DC=com;
-
Пароль — пароль от сервисной учетной записи;
-
Период синхронизации (минуты).
-
-
Нажмите Далее.
-
Чтобы добавить сервер LDAP, нажмите .
-
Укажите адрес, порт и протокол.
-
Нажмите
. -
На вкладке Подтверждение информации проверьте информацию о сервере LDAP и соединение.
При успешном соединении появится сообщение "Проверка соединения прошла успешна".
-
Нажмите Сохранить.
Состояние синхронизации LDAP и СТД "Термит" можно посмотреть в разделе Журнал событий.
6.2. Настройка ролей
Можно настроить следующие роли:
-
Администраторы. Администраторы могут полностью контролировать систему, например, управлять серверами, пользователями и приложениями.
-
Служба поддержки. Служба поддержки может просматривать настройки, информацию о серверах и сессиях в разделе Обзор, журнал событий, список сессий, завершать сессии и блокировать пользователей. Выполняет функцию L1 технической поддержки.
-
Пользователи. У пользователей есть учетные записи, с помощью которых они имеют доступ к СТД "Термит". Только пользователи могут запускать приложения.
Для настройки ролей выполните следующие действия:
-
В левом меню выберите раздел Настройки.
-
Перейдите на вкладку Роли.
-
Наведите указатель мыши на Администраторы и нажмите .
-
Нажмите .
-
Добавьте группы из каталога пользователей для роли администраторов. Можно добавить несколько групп. Поддерживаются вложенные группы.
-
Нажмите
.
Для ролей Служба поддержки и Пользователи повторите действия из шагов 3-6.
Далее создайте терминальный сервер.
6.3. Создание сервера
Для создания сервера выполните следующие действия:
-
На Портале администрирования в левом меню выберите раздел Серверы.
-
В правом верхнем углу нажмите Новый сервер.
-
На вкладке Новый терминальный сервер:
-
Адрес — укажите DNS-адрес терминального сервера.
-
Тип — выберите операционную систему Linux.
-
-
Нажмите Далее.
-
На вкладке Группа терминальных серверов группу выбирать не нужно, так как она еще не создана. Нажмите Далее.
-
На вкладке Подтверждение информации проверьте информацию о сервере и нажмите Создать.
-
Чтобы установить агент на терминальный сервер, выполните указанный скрипт в консоли терминального сервера.
Агент будет установлен и зарегистрирован на терминальном сервере.
В этом скрипте содержится секрет, используемый для аутентификации агента на сервере только во время установки. В случае потери скрипта необходимо удалить сервер и заново развернуть его.
Созданный сервер появится в списке. Далее создайте группу серверов.
6.4. Создание группы серверов
Для создания группы серверов выполните следующие действия:
-
В левом меню выберите раздел Группы серверов.
-
В правом верхнем углу нажмите Новая группа.
-
На вкладке Основные настройки:
-
Имя — укажите название группы.
-
Тип — выберите операционную систему Linux.
-
(Опционально) Описание — добавьте описание группы серверов.
-
-
Нажмите Далее.
-
На вкладке Терминальные серверы выберите из списка сервер, который создали ранее.
-
Нажмите Далее.
-
На вкладке Балансировка терминальных серверов оставьте значение весов по умолчанию. Подробнее о балансировке серверов.
-
Нажмите Далее.
-
На вкладке Подтверждение информации проверьте информацию о группе серверов и нажмите Создать.
Созданная группа появится в списке. Далее необходимо добавить приложение.
6.5. Публикация приложения
Для публикации приложения выполните следующие действия:
-
В левом меню выберите раздел Приложения.
-
Нажмите Добавить приложение.
-
На вкладке Основные настройки задайте параметры:
-
Имя — название приложения, например "Калькулятор".
-
(Опционально) Наименование у пользователя — название приложения, которое будет отображаться у пользователя, например "Калькулятор".
-
Тип — выберите Приложение.
-
Команда для запуска — команда для запуска приложения, например
mate-calc
. -
(Опционально) Версия — версия приложения.
-
(Опционально) Описание — описание приложения.
-
-
Нажмите Далее.
-
На вкладке Группа терминальных серверов выберите группу серверов для приложения, которую создали ранее.
-
Нажмите Далее.
-
На вкладке Группы доступа приложения добавьте группу:
-
Нажмите и выберите из списка группу, которая будет иметь доступ к этому приложению.
-
Нажмите Сохранить.
-
-
Нажмите Далее.
-
На вкладке Подтверждение информации проверьте информацию о приложении и нажмите Создать.
После добавления приложение появится в списке со статусом "Вкл.". Далее необходимо перейти к настройке клиента и запуску приложения.
7. Установка на терминальный сервер
-
Чтобы установить 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
-
Установите агент, используя скрипт, полученный при создании сервера в консоли администратора СТД "Термит".
8. Установка клиента
Для установки клиента выполните следующие действия:
-
В браузере, в адресной строке введите адрес, по которому доступна СТД "Термит", например https://broker.example.com.
-
Введите имя пользователя и пароль.
Пользователь входит под доменной учетной записью.
-
Нажмите Войти.
-
Выберите операционную систему:
Windows
-
Скачайте Термит клиент для Windows и выполните шаги по установке.
-
Скачайте Клиент X2Go для MS Windows и выполните шаги по установке.
MacOS
-
Скачайте Термит клиент для Mac OS и выполните шаги по установке.
-
Скачайте Клиент X2Go для Mac OS, соответствующий вашей ОС, и выполните шаги по установке.
-
Скачайте XQuartz и выполните шаги по установке.
Перед запуском клиента в настройках необходимо разрешить использование СТД "Термит". Для этого выберите в меню , затем в боковом меню нажмите Конфиденциальность и безопасность, прокрутите вниз до параметра Разрешить использование приложений, загруженных из: и выберите App Store и от подтвержденных разработчиков.Linux
- Astra Linux
-
-
Скачайте Термит клиент для Linux deb и выполните шаги по установке.
-
Чтобы установить клиент X2Go из репозитория, выполните команду:
sudo apt install x2goclient
-
- РЕД ОС
-
-
Скачайте Термит клиент для Linux rpm и выполните шаги по установке.
-
Чтобы установить клиент X2Go из репозитория, выполните команду:
sudo dnf install x2goclient
-
-
9. Использование клиента
Выполните следующие действия:
-
Запустите клиент Термит.
Если доверенный сертификат не установлен в систему, то запустите клиент с параметром:
--ignore-certs
-
Укажите адрес, по которому доступна СТД "Термит", и нажмите Подключиться.
-
Введите в параметрах:
-
Учетная запись — имя пользователя.
-
Пароль — пароль.
-
-
Нажмите Войти.
На странице Мои приложения отображается добавленное приложение.
-
Чтобы запустить приложение, нажмите .
-
Введите пароль от вашей учетной записи и нажмите Ок.
Через 10-15 секунд появится интерфейс приложения.
10. Подключение ресурсов
10.1. Буфер обмена и принтер
В разделе Настройки выполните следующие действия:
-
Наведите указатель мыши на Локальные устройства и ресурсы и нажмите :
-
Чтобы включить буфер обмена для копирования материалов, в параметре Общий буфер обмена выберите из списка Двусторонний буфер обмена.
-
Чтобы подключить принтер, включите Доступ к принтерам локального компьютера.
-
-
Нажмите Обновить.
10.2. Диски
Если необходимо перенести, например, документы с локального компьютера на терминальную сессию, можно подключить диск. Для этого:
-
Наведите указатель мыши на Подключаемые диски и нажмите .
-
Нажмите .
-
Чтобы добавить диск, в параметре Расположение нажмите .
-
Нажмите
.
10.3. Звук удаленного рабочего стола
Для включения воспроизведения звука удаленного рабочего стола выполните следующие действия:
-
Наведите указатель мыши на Звук удаленного рабочего стола и нажмите .
-
Включите Воспроизведение звука удаленного рабочего стола.
-
Нажмите Обновить.
Эта настройка также влияет на перенаправление звука с локального компьютера в сессию.