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

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

sudo apt -y install termidesk-vdi
BASH

где:

-y - ключ для пропуска подтверждения установки.

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

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

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

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

Компонент «Шлюз» устанавливается из пакета termidesk-gateway. Для установки или обновления «Шлюза» следует обратиться к подразделам Установка Шлюза и Обновление Шлюза документа СЛЕТ.10001-01 90 05 «Руководство администратора. Настройка компонента «Шлюз».

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

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

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

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

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

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

Для всех узлов фермы 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. Подключение может выполняться по протоколу HTTPS, если OpenBao настроен соответствующим образом. В этом случае на следующем шаге будет открыт диалог настройки путей к сертификатам;

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

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

Настройка подключения к OpenBao
  • после настройки способа хранения паролей нужно выбрать протокол, который будет использоваться при подключении к БД. При выборе значения «Открытый, без защиты» защищенное соединение при подключении к БД использоваться не будет;

Выбор протокола для подключения к БД
  • при выборе защищенного подключения к БД или к OpenBao станет доступен раздел «Настройка сертификатов», в котором можно определить пути к сертификатам и ключам:  
    • «Сертификат 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 и нужно настроить защищенное подключение к нему;
    • «Осн. серт. для расшифровки 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. Явно задавать путь следует только при использовани внешнего хранилища;
  • для продолжения установки нажать экранную кнопку [Далее];

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

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

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

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

Ввод параметров подключения к СУБД
  • выбрать протокол, который будет использоваться при подключении к RabbitMQ. При выборе значения «Disable» защищенное соединение при подключении к RabbitMQ использоваться не будет;

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

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

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

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

Установка «Агрегатора» должна производиться на отдельном узле, отличном от «Портала администратора» и/или «Портала пользователя». Информация по выбору ролей при установке приведена в документе СЛЕТ.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.

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

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

После установки параметры могут быть изменены через файл /etc/opt/termidesk-vdi/termidesk.conf (см. подраздел Параметры конфигурирования компонентов «Универсальный диспетчер», «Менеджер рабочих мест» документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса») или через утилиту termidesk-config (см. подраздел Утилита termidesk-config документа СЛЕТ.10001-01 90 02 «Руководство администратора. Настройка программного комплекса»).

После успешного завершения установки на узел может быть установлен компонент «Шлюз» (termidesk-gateway). В распределенном варианте этот компонент устанавливается на отдельный узел.