Неавтоматизированная установка Termidesk

Для установки фермы Termidesk с использованием псевдографического интерфейса нужно:

sudo apt install termidesk-vdi
BASH

При установке пакета termidesk-vdi возможно активировать режим отладки через переменную окружения TDSK_PKG_DEBUG=1.

Одним из параметров службы termidesk-vdi (/lib/systemd/system/termidesk-vdi.service) является EnvironmentFile, задающий дополнительные аргументы функционирования, перечисленные в файле /etc/default/termidesk-vdi.local (см. подраздел Файл /etc/default/termidesk-vdi.local).

В зависимостях пакета установки termidesk-vdi есть:

  • служба ведения журналов syslog-ng. Работа с другими службами ведения журналов не гарантируется;
  • пакет libpython3.11 для ОС Astra Linux Special Edition 1.8, предоставляющий возможность установить Termidesk в ОС с минимальной конфигурацией (без графического интерфейса ОС).

Перед обновлением ОС или службы syslog-ng рекомендуется создать резервную копию файла syslog-ng.conf. В случае обновления ОС или службы syslog-ng без предварительного создания резервной копии файла, может потребоваться переустановка Termidesk для восстановления его корректной работы.

Начиная с Termidesk версии 6.1 компонент «Шлюз» (пакет termidesk-gateway) более не входит в поставку. Для использования «Шлюза» следует установить программу для электронной вычислительной машины «Балансировщик нагрузки Термидеск Коннект» (Termidesk Connect).

В процессе установки нужно:

Для переключения между экранными кнопками [Ок] и [Отмена] в псевдографическом интерфейсе используется клавиша <Tab>.

  • ввести домен по умолчанию для работы Kerberos-аутентификации. Ввод домена можно пропустить, оставив поле ввода пустым и нажав экранную кнопку [Ok];

Запрос настроек по умолчанию для Kerberos-аутентификации
  • ознакомиться с лицензионным соглашением и нажать экранную кнопку [Далее];

Лицензионное соглашение
  • нажать экранную кнопку [Да] для принятия условий лицензионного соглашения и продолжения установки или экранную кнопку [Нет] в случае отказа, при этом установка прервется;

Принятие условий лицензионного соглашения
  • после принятия условий лицензионного соглашения настроить расположение каталогов для файлов Termidesk:
    • «Место расположений конфигурации»: каталог, в котором будет расположен файл termidesk.conf;
    • «Место хранения журналов»: каталог, в котором будут расположены файлы журналов;
    • «Расположение шаблонов syslog/logrotate»: каталог, в котором будут распололжены шаблоны для настройки регистрации событий и журналирования;

Каталог, в котором будут расположены файлы Termidesk, должен обладать свойствами:

  • права на каталог: rwxr-x--- (750);
  • владелец каталога: root:termidesk.

Настройка расположения каталогов
  • далее задать уникальное имя узла для его идентификации. Это требуется для однозначной идентификации узлов, в частности, узлов «Агрегатора» во время балансировки подключений к ним;

Следует задавать уникальное имя узла понятным и отражающим его роль, например «AdminPortal-01», «UserPortal-01».

По умолчанию для заполнения параметра используется заданный в системе hostname и буквенно-числовой идентификатор.

Настройка уникального имени узла
  • далее выбрать способ хранения паролей подключения к СУБД и брокеру сообщений:

Для всех узлов фермы Termidesk должен выбираться единый способ хранения и единое хранилище (в случае выбора способа «hvac»).

    • «config» (по умолчанию) - пароли будут храниться в преобразованном виде в файле /etc/opt/termidesk-vdi/termidesk.conf;
    • «hvac» (рекомендуемый способ для безопасного хранения) - для хранения паролей будет использоваться хранилище паролей OpenBao или Hashicorp Vault (хранилище должно быть заранее создано и настроено). Подробная информация по этому способу хранения паролей приведена в подразделе Хранение чувствительной информации с выбранным способом хранения «hvac» документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса»;
    • «openbao» (экспериментальный) - для хранения паролей будет использоваться хранилище паролей OpenBao (хранилище должно быть заранее создано и настроено). При этом пароли располагаются внутри хранилища, имена контейнеров хранения генерируются автоматически;

Выбор способа хранения паролей
  • при выборе хранения паролей «openbao» или «hvac» нужно задать параметры подключения к хранилищу и параметры, настроенные непосредственно на хранилище:
    • «URL хранилища» - IP-адрес или FQDN узла и порт с установленным хранилищем OpenBao. Формат: http://<IP-адрес>:8200 или http://<FQDN>:8200;

Хранилище паролей OpenBao должно быть реализовано в отказоустойчивом варианте, иначеTermidesk не будет работать в период простоя узлов OpenBao.

    • «Версия API OpenBao» - установленная версия API на OpenBao (1 или 2);
    • «Путь к токену доступа к хранилищу» - путь к файлу с токеном доступа к OpenBao;
    • «Роль доступа к секретам Termidesk» - роль, настроенная на OpenBao, имеющая доступ к логинам и паролям;
    • «ИД роли доступа, заданной выше» - идентификатор роли доступа;
    • «Путь к логину/паролю СУБД» - путь, настроенный на OpenBao для хранения логина и пароля СУБД;
    • «Путь к логинам/паролям RabbitMQ» - путь, настроенный на OpenBao для хранения логинов и паролей RabbitMQ;
    • «Путь к другим секретам Termidesk» - путь, настроенный на OpenBao для хранения других логинов и паролей Termidesk;
    • «Время кеширования паролей, сек» - время (в секундах) хранения пароля, полученного от OpenBao, во внутренней памяти;
    • «Период проверки токена доступа, с» - интервал (в секундах) проверки актуальности токена;
    • «Обновлять токен до его устар., с» - оставшееся время (в секундах) актуальности токена, по достижении которого он будет обновлен;
    • «Время жизни токена, сек» - время актуальности (в минутах) одноразового токена;

Настройка подключения к OpenBao
  • подключение может выполняться по протоколу HTTPS, если OpenBao настроен соответствующим образом. Для подключения по HTTPS нужно нажать экранную кнопку [Сертификаты] и определить пути к сертификатам и ключам (параметры «Сертификат OpenBao mTLS», «Секр. ключ OpenBao mTLS», «Серт. промеж. ЦС OpenBao mTLS»);

Доступный список сертификатов:  

  • «Сертификат Health Check»: путь к сертификату SSL/TLS для защищенного подключения к API проверки состояния;
  • «Секр. ключ Health Check»: путь к ключу SSL/TLS для защищенного подключения к API проверки состояния;
  • «Сертификат Postgres mTLS»: путь к сертификату SSL/TLS для защищенного подключения к СУБД;
  • «Секр. ключ Postgres mTLS»: путь к ключу SSL/TLS для защищенного подключения к СУБД;
  • «Серт. промеж. ЦС Postgres mTLS»: путь к промежуточному сертификату центра сертификаци (ЦС) SSL/TLS для защищенного подключения к СУБД;
  • «Сертификат OpenBao начального mTLS»: путь к сертификату SSL/TLS для начального защищенного подключения к OpenBao. Задается, если выбран способ хранения паролей через OpenBao и нужно настроить защищенное подключение к нему. Путь должен указывать на сертификат, размещенный на файловой системе узла;
  • «Секр. ключ OpenBao начального mTLS»: путь к ключу SSL/TLS для начального защищенного подключения к OpenBao. Задается, если выбран способ хранения паролей через OpenBao и нужно настроить защищенное подключение к нему. Путь должен указывать на ключ, размещенный на файловой системе узла;
  • «Серт. промеж. ЦС OpenBao нач. mTLS»: путь к промежуточному сертификату ЦС SSL/TLS для начального защищенного подключения к OpenBao. Задается, если выбран способ хранения паролей через OpenBao и нужно настроить защищенное подключение к нему. Путь должен указывать на сертификат, размещенный на файловой системе узла;
  • «Путь к серт. для втор. mTLS c OpenBao» путь к клиентскому сертификату SSL/TLS для вторичного защищенного подключения к OpenBao. Задается, если выбран способ хранения паролей через OpenBao и нужно настроить вторичное защищенное подключение к нему. Путь должен указывать на место хранения в OpenBao;
  • «Осн. серт. для расшифровки JWT-токена»: путь к сертификату для получения значения JWT-токена портала «Агрегатор». Задается, если устанавливается «Портал администратора» и (или) «Портал пользователя», который затем будет подключен как узел в портале «Агрегатор»;
  • «Рез. серт. для расшифровки JWT-токена»: путь к резервному сертификату для получения значения JWT-токена портала «Агрегатор». Задается, если устанавливается «Портал администратора» и (или) «Портал пользователя», который затем будет подключен как узел в портале «Агрегатор»;
  • «Секр. ключ для подписи JWT-токена»: путь к закрытому ключу для подписи JWT-токена портала «Агрегатор». Задается только в случае, если устанавливаются роли «Агрегатор администратора» и (или) «Агрегатор пользователя»;
  • «Сертификат для подключения к серверу RA»: путь к серверному сертификату SSL/TLS для проверки подключения к «Удаленному помощнику»;
  • «Сертификат RabbitMQ mTLS»: путь к клиентскому сертификату mTLS для защищенного подключения к RabbitMQ;
  • «Секр. ключ RabbitMQ mTLS»: путь к клиентскому ключу mTLS  для защищенного подключения к RabbitMQ;
  • «Серт. ЦС RabbitMQ mTLS»: путь к корневому сертификату ЦС mTLS для защищенного подключения к RabbitMQ;
  • «Публичный ключ ws-proxy»:  путь к открытому ключу id_rsa.pub. Явно задавать путь следует только при использовании внешнего хранилища;
  • «Секретный ключ ws-proxy»: путь к закрытому ключу id_rsa. Явно задавать путь следует только при использовании внешнего хранилища;
  • «Клиентский сертификат mTLS»: путь к клиентскому сертификату mTLS для защищенного подключения. Используется для взаимной аутентификации сервера Termidesk с другими компонентами;
  • «Клиентский секр.ключ mTLS»: путь к клиентскому ключу mTLS  для защищенного подключения. Используется для взаимной аутентификации сервера Termidesk с другими компонентами;
  • «Клиентский серт. ЦС mTLS»: путь к корневому сертификату ЦС mTLS для защищенного подключения. Используется для взаимной аутентификации сервера Termidesk с другими компонентами;
  • «Файл с доверенными сертификатами»: путь к файлу с доверенным корневым сертификатом. Задается для настройки работы с сертификатами собственных ЦС.

Справочная информация по работе с диалогом добавления сертификата доступна по экранной кнопке [Справка] при выборе нужного пункта из списка.

Конфигурация сертификатов и ключей
  • после настройки способа хранения паролей нужно выбрать протокол, который будет использоваться при подключении к серверу СУБД:
    • при выборе значения «Открытый, без защиты» защищенное соединение при подключении к серверу СУБД использоваться не будет;

Выбор протокола для подключения к СУБД
    • при выборе защищенного подключения нужно нажать экранную кнопку [Сертификаты] и определить пути к сертификатам и ключам (параметры «Сертификат Postgres mTLS», «Секр. ключ Postgres mTLS», «Серт. промеж. ЦС Postgres mTLS»);
  • для продолжения установки нажать экранную кнопку [Далее];
  • выбрать тип установки СУБД:
    • «Отдельно стоящий сервер»: подключение производится к отдельному серверу СУБД;
    • «Кластер СУБД»: подключение производится к кластеру СУБД;

При выборе типа установки СУБД «Кластер СУБД» можно задать до трех узлов СУБД, к которым будет подключаться Termidesk. При этом предполагается, что порт, имя БД, имя пользователя и его пароль идентичны для всех узлов.

Выбор типа установки СУБД
  • заполнить параметры подключения к СУБД:

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

    • «Адрес СУБД»: IP-адрес или FQDN узла с установленной СУБД (в случае локальной установки 127.0.0.1);
    • «Адрес СУБД (узел 2)»: IP-адрес или FQDN дополнительного узла СУБД (необязательный параметр, при необходимости может быть задан только для кластера СУБД);
    • «Адрес СУБД (узел 3)»: IP-адрес или FQDN дополнительного узла СУБД (необязательный параметр, при необходимости может быть задан только для кластера СУБД);
    • «Порт СУБД»: номер порта, используемого для соединения с сервером СУБД (стандартный порт 5432);
    • «Имя базы данных»: наименование БД (termidesk, параметр задавался при создании БД);
    • «Имя пользователя»: имя пользователя БД для подключения к ней (termidesk, параметр задавался при создании БД);
    • «Пароль»: пароль для подключения к БД (ksedimret, параметр задавался при создании БД);
    • «Время жизни подключения, с»: максимально допустимое время (в секундах) существования одного подключения к БД;
    • «Кол-во задач на подключение»: количество фоновых задач, которое может быть выполнено в рамках одного подключения к БД;
    • «Таймаут подключения к СУБД, с»: время ожидания (в секундах) подключения к БД;
  • нажать экранную кнопку [Тест] для проверки подключения, ознакомиться с результатом тестирования подключения и для продолжения установки нажать экранную кнопку [Далее];

Для корректной работы кнопки [Тест] требуется наличие установленных утилит psql и expect.

Ввод параметров подключения к СУБД

В Termidesk версии 6.1 установка брокера сообщений TermideskMQ поддерживается в экспериментальном режиме (установка происходит на этапе выбора ролей узла далее). 

Одновременное использование RabbitMQ и TermideskMQ в рамках одной фермы не поддерживается. Рекомендуется удалить RabbitMQ или отключить службу rabbitmq-server, если будет использоваться TermideskMQ.

    • при выборе значения «Disable» защищенное соединение при подключении использоваться не будет;
    • при выборе защищенного подключения нужно нажать экранную кнопку [Сертификаты] и определить пути к сертификатам и ключам (параметры «Сертификат RabbitMQ mTLS», «Секр. ключ RabbitMQ mTLS», «Серт. ЦС RabbitMQ mTLS»);

Выбор протокола для подключения к брокеру сообщений
  • настроить подключение к брокеру сообщений. Для этого выбрать в следующем окне пункт «Empty» и нажать экранную кнопку [Выбрать]. Необходимо задать хотя бы одно подключение. Если не будет задано ни одно подключение, то при нажатии на кнопку [Далее] произойдет возврат в диалог настройки подключений;

Экранная форма начала настройки подключения к брокеру сообщений
  • выполнить настройку подключения к брокеру сообщений, заполнив параметры:

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

    • «Протокол (amqp/tmqp)»: протокол подключения к брокеру сообщений. Следует назначить: «amqp» для RabbitMQ, «tmqp» для TermideskMQ;
    • «Адрес сервера»: IP-адрес или FQDN узла с установленным брокером сообщений (в случае локальной установки 127.0.0.1);
    • «Порт сервера»: номер порта, используемого для соединения с брокером сообщения (стандартный порт: 5672 для RabbitMQ, 5555 для TermideskMQ);
    • «Виртуальный хост»: виртуальный узел, к которому будет производиться подключение (termidesk);
    • «Имя пользователя»: имя пользователя для подключения (termidesk);
    • «Пароль»: пароль для подключения (ksedimret);
  • нажать экранную кнопку [ОК] для продолжения установки;

Настройка подключения к брокеру сообщений
  • в следующем окне отобразится информация о настроенном подключении. При необходимости можно добавить до трех экземпляров брокера сообщений для подключения, выбрав пустые строки «Empty» и повторив ввод параметров подключения. Для продолжения установки следует нажать экранную кнопку [Далее];

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

Отображение параметров подключения к брокеру сообщений
  • затем выбрать устанавливаемую роль:

Установка «Агрегатора»:

  • должна производиться на отдельном узле, отличном от «Портала администратора» и/или «Портала пользователя». Информация по выбору ролей при установке приведена в документе СЛЕТ.10001-01 90 08 «Руководство администратора. Установка и настройка портала «Агрегатор»;
  • не предусмотрена в рамках лицензии Termidesk Terminal.

При комплексной установке Termidesk необходимо выбрать роли:

  • «Портал администратора»;
  • «Портал пользователя» (опционально, если нужно активировать все доступные функции);
  • «Менеджер рабочих мест».

Если не выбрать ни одного компонента, то ни одна служба Termidesk запущена не будет. 

    • «Портал администратора (ADMIN)»: установится компонент «Универсальный диспетчер» с «Порталом администратора». «Портал администратора» предоставляет интерфейс для управления Termidesk и интерфейс swagger для доступа к ограниченному списку модулей документации по командам REST API («auth», «discover», «health», «agent», «webui»). После установки будет запущена служба termidesk-vdi;
    • «Портал пользователя (USER)»: установится компонент «Универсальный диспетчер» с «Порталом пользователя». «Портал пользователя» предоставляет пользовательский интерфейс Termidesk и интерфейс swagger для доступа к ограниченному списку модулей документации по командам REST API («auth», «discover», «health», «client», «wsproxy», «agent»). Интерфейс управления Termidesk будет недоступен. После установки будет запущена служба termidesk-vdi. При выборе и роли «Портал администратора», и роли «Портал пользователя» будут доступны функции обоих вариантов, при этом активируется доступ ко всем модулям документации по командам REST API, предоставляемым интерфейсом swagger;
    • «Агрегатор администратора (AGGR_ADM)»: установится компонент «Универсальный диспетчер» с порталом «Агрегатор администратора». Портал «Агрегатор администратора» предоставляет интерфейс для управления объединенными ресурсами (фермами) Termidesk и интерфейс swagger для доступа к ограниченному списку модулей документации по командам REST API. После установки будет запущена служба termidesk-vdi;
    • «Агрегатор пользователя (AGGR_USR)»: установится компонент «Универсальный диспетчер» с порталом «Агрегатор пользователя». Портал «Агрегатор пользователя» предоставляет пользовательский интерфейс для подключения к фермам Termidesk и интерфейс swagger для доступа к ограниченному списку модулей документации по командам REST API. После установки будет запущена служба termidesk-vdi. При выборе и роли «Агрегатор администратора», и роли «Агрегатор пользователя» будут доступны функции обоих вариантов, при этом активируется доступ ко всем модулям документации по командам REST API, предоставляемым интерфейсом swagger;
    • «Менеджер рабочих мест (CELERYMAN)»: установится компонент «Менеджер рабочих мест», после установки будут запущены службы termidesk-celery-beat, termidesk-celery-worker;
    • «Брокер сообщений (TMQ)»: установится брокер сообщений TermideskMQ (экспериментальный). После установки будет запущена служба termidesk-tmq;
  • если для установки выбрана роль «Брокер сообщений (TMQ)», то необходимо задать настройки брокера сообщений TermideskMQ:
    • «Базовый порт для подключений»: базовый номер порта TermideskMQ для незащищенного подключения (стандартный порт: 5555). Для TermideskMQ будет зарезервирован указанный порт, а также два последующих: например 5555, 5556, 5557;
    • «Интервал проверки недоставленных сообщений»: интервал проверки (в секундах) недоставленных (потерянных) сообщений.

После установки Termidesk необходимо:

  • скорректировать файл конфигурации веб-сервера /etc/apache2/apache2.conf. Для этого нужно найти и раскомментировать строку с параметром AstraMode, далее присвоить данному параметру значение off, точно соблюдая отступы и пробелы в файле:
# Astra security mode
#
AstraMode off
BASH
  • затем перезапустить веб-сервер: 
sudo systemctl restart apache2
BASH
  • если при установке было задано использование хранилище паролей, то необходимо выполнить запуск служб Termidesk вручную:
sudo systemctl start termidesk-vdi.service termidesk-celery-beat.service termidesk-celery-worker.service
BASH
  • если в инфраструктуре Termidesk будет использоваться портал «Агрегатор» («Агрегатор администратора» и/или «Агрегатор пользователя»), нужно обязательно задать на узле компонента «Универсальный диспетчер» («Портал пользователя» или «Портал универсальный») сертификат для расшифровки JWT-токена. Сертификат может быть задан через файл /etc/opt/termidesk-vdi/termidesk.conf (параметры AGGREGATOR_JWT_SSL_CERT и AGGREGATOR_JWT_SSL_CERT_SECOND) или через утилиту termidesk-config.

После установки параметры могут быть изменены:

  • через файл termidesk.conf (см. подраздел Конфигурационный файл termidesk.conf документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса»);
  • (предпочтительный способ) через утилиту termidesk-config (см. подраздел Утилита termidesk-config документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса»).