Утилита termidesk-config

Утилита termidesk-config используется для переопределения настроек, заданных на этапе установки, и вносит изменения в конфигурационный файл termidesk.conf (см. подраздел Конфигурационный файл termidesk.conf) и /etc/default/termidesk-vdi.local (см. подраздел Файл /etc/default/termidesk-vdi.local).

Для вызова утилиты следует:

  • в интерфейсе командной строки перейти в каталог /opt/termidesk/sbin/:
cd /opt/termidesk/sbin/
BASH
  • выполнить запуск:
sudo ./termidesk-config
BASH

Интерфейс утилиты termidesk-config

Доступны следующие функции утилиты:

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

  • «Настройка путей к журналам и конфигурации: позволяет настроить каталоги для хранения конфигурации Termidesk:
    • «Место расположений конфигурации»: каталог, в котором будет расположен файл termidesk.conf (параметр ETC файла /etc/default/termidesk-vdi.local);
    • «Место хранения журналов»: каталог, в котором будут расположены файлы журналов (параметр LOG_DIR);

Параметр LOG_DIR доступен для изменения как в пункте «Место хранения журналов», так и в пункте «Настройка журналирования» - «Место хранения журналов». В обоих случаях фактически меняется значение только в параметре LOG_DIR конфигурационного файла termidesk.conf.

    • «Расположение шаблонов syslog/logrotate»: каталог, в котором будут расположены шаблоны для настройки регистрации событий и журналирования (параметр TEMPLATES_DIR файла /etc/default/termidesk-vdi.local);
  • «Задание имени службам узла»: позволяет задать уникальное имя узла для его идентификации (параметр NODE_NAME);
  • «Выбор способа хранения паролей»: позволяет настроить способ хранения паролей подключения к СУБД и RabbitMQ (параметр SECRETS_STORAGE_METHOD):
    • «config» - пароли будут храниться в преобразованном виде в файле /etc/opt/termidesk-vdi/termidesk.conf;
    • «hvac» (рекомендуемый способ для безопасного хранения) - для хранения паролей будет использоваться хранилище паролей OpenBao или Hashicorp Vault (хранилище должно быть заранее создано и настроено);
    • «openbao» - для хранения паролей будет использоваться хранилище паролей OpenBao (хранилище должно быть заранее создано и настроено).

В случае выбора «openbao» необходимо выполнить настройку подключения к хранилищу через функцию «Настройка хранилища OpenBao»;

  • «Настройка хранилища OpenBao»: позволяет настроить параметры подключения к хранилищу и задать параметры, настроенные непосредственно на хранилище:
    • «URL хранилища» - IP-адрес или FQDN узла и порт с установленным хранилищем OpenBao (параметр SECRETS_OPENBAO_URL). Формат: http://<IP-адрес>:8200 или http://<FQDN>:8200. Подключение может выполняться по протоколу HTTPS, если OpenBao настроен соответствующим образом;
    • «Версия API OpenBao» - установленная версия API на OpenBao (параметр SECRETS_OPENBAO_KV_VERSION). Может принимать значения: «1» или «2»;
    • «Путь к токену доступа к хранилищу» -  путь к файлу с токеном доступа к хранилищу (параметр SECRETS_OPENBAO_TOKEN);
    • «Роль доступа к секретам Termidesk» - роль, настроенная на OpenBao, имеющая доступ к логинам и паролям (параметр SECRETS_OPENBAO_ROLE_NAME);
    • «ИД роли доступа, заданной выше» - идентификатор роли доступа  (параметр SECRETS_OPENBAO_ROLE_ID);
    • «Путь к логину/паролю СУБД» - путь, настроенный на OpenBao для хранения логина и пароля СУБД (параметр SECRETS_OPENBAO_DB_PATH);
    • «Путь к логинам/паролям RabbitMQ» - путь, настроенный на OpenBao для хранения логинов и паролей RabbitMQ (параметр SECRETS_OPENBAO_RABBITMQ_PATH);
    • «Путь к другим секретам Termidesk» - путь, настроенный на OpenBao для хранения других логинов и паролей Termidesk (параметр SECRETS_OPENBAO_TERMIDESK_PATH);
    • «Время кеширования паролей, сек» - время (в секундах) хранения пароля, полученного от OpenBao, во внутренней памяти (параметр SECRETS_OPENBAO_CACHE_LIFETIME);
    • «Период проверки токена доступа, с» - интервал (в секундах) проверки актуальности токена (параметр SECRETS_OPENBAO_WATCHDOG_INTERVAL);
    • «Обновлять токен до его устар., с» - оставшееся время (в секундах) актуальности токена, по достижении которого он будет обновлен (параметр SECRETS_OPENBAO_TTL_DEADLINE);
    • «Время жизни токена, сек» - время актуальности (в минутах) одноразового токена (параметр SECRETS_OPENBAO_WRAP_TTL);
  • «Выбор протокола подключения к СУБД»: позволяет выбрать протокол при подключении к СУБД (параметр DBSSL);
  • «Выбор типа установки СУБД»: позволяет выбрать тип СУБД, к которой будет подключаться Termidesk (параметр DB_CLUSTER_MODE);
  • «Настройка подключения к СУБД»: позволяет настроить параметры подключения к СУБД:
    • «Адрес СУБД» - IP-адрес или FQDN СУБД PostgreSQL (параметр DBHOST);
    • «Адрес СУБД (узел 2)»: IP-адрес или FQDN дополнительного узла СУБД (параметр DBHOST2);
    • «Адрес СУБД (узел 3)»: IP-адрес или FQDN дополнительного узла СУБД (параметр DBHOST3);
    • «Порт СУБД» - порт, который используется для соединения с сервером БД (параметр DBPORT);
    • «Имя базы данных» - имя БД (параметр DBNAME);
    • «Имя пользователя» - имя пользователя для подключения к БД (параметр DBUSER);
    • «Пароль» - пароль пользователя в открытом виде (параметр DBPASS);
    • «Время жизни подключения, с»: максимально допустимое время (в секундах) существования одного подключения к БД (параметр DB_CONN_MAX_AGE);
    • «Кол-во задач на подключение»: количество фоновых задач, которое может быть выполнено в рамках одного подключения к БД (параметр CELERY_DB_REUSE_MAX);
    • «Таймаут подключения к СУБД, с»: время ожидания (в секундах) подключения к БД (параметр DB_CONN_TIMEOUT);
  • «Выбор способа подключения к RabbitMQ/TermideskMQ»: позволяет выбрать протокол при подключении к брокеру сообщений (параметр RABBITMQ_SSL);
  • «Настройка подключения к RabbitMQ/TermideskMQ»: позволяет настроить параметры подключения к брокеру сообщений (параметр RABBITMQ_URL). При запросе пароль задается в открытом виде;
  • «Настройки подключения к Fluentd»: позволяет настроить параметры подключения к узлу «Ретранслятора»:
    • «Время кеширования хоста и порта, с»: время (в секундах) кеширования параметров подключения к узлу «Ретранслятора» (параметр FLUENTD_CACHE);
    • «Название таблицы в хранилище»: таблица хранения событий фермы Termidesk (параметр FLUENTD_TABLE);
    • «Время ожидания подключения, с»: время (в секундах) ожидания подключения к узлу «Ретранслятора» (параметр FLUENTD_LOGGER_TIMEOUT);
  • «Настройка журналирования»: позволяет настроить параметры журналирования, такие как:
    • «Адрес логгера» (параметр LOG_ADDRESS);
    • «Поток (facility) журнала» (параметр LOG_FACILITY);
    • «Место хранения журналов» (параметр LOG_DIR);
    • «Владелец файлов журналов» (параметр LOG_OWNER);
    • «Группа-владелец файлов журналов» (параметр LOG_GROUP);
    • «Права доступа к файлам журналов» (параметр LOG_PERM);
    • «Глубина хранения журналов, файлов» (параметр LOG_DEEP);
  • «Подробность отладочных сообщений в журналах»: позволяет выбрать уровень подробности отладочных сообщений (параметр LOG_LEVEL);
  • «Пересоздание ключа DJANGO»: позволяет переопределить значение ключа DJANGO (параметр DJANGO_SECRET_KEY), создаваемого на этапе установки. Переопределение ключа может понадобиться при его компрометации;
  • «Пересоздание токена проверки состояния служб»: позволяет переопределить значение токена проверки состояния служб (параметр HEALTH_CHECK_ACCESS_KEY). Переопределение токена может понадобиться при его компрометации;
  • «Пересоздание токена проверки метрик служб»: позволяет переопределить значение токена проверки метрики служб (параметр METRICS_ACCESS_KEY). Переопределение токена может понадобиться при его компрометации;
  • «Изменение GID встроенных администраторов»: позволяет назначить идентификатор группы, использующегося для встроенного домена. Изменение идентификатора может понадобиться, если встроенная в ОС группа администраторов отличается от astra-admin (1001) или если нужно предоставить права администрирования Termidesk группе непривилегированных пользователей;
  • «Настройки агрегатора»: позволяет переопределить настройки портала «Агрегатор»:
    • «Время кеширования иконок фондов, часов» - время жизни кеша иконок фондов (параметр AGGREGATOR_IMAGE_CACHE_LIFETIME_HOURS);
    • «Таймаут запросов Агрегатор → Диспетчеры, секунд» -  максимальное время ожидания (в секундах) HTTP-запросов «Агрегатора» (параметр AGGREGATOR_HTTP_TIMEOUT);
    • «Путь к файлу с сопоставлением имён узлов и FQDN» - путь к файлу mapping.yaml, содержащему сопоставление между именами узлов (NODE_NAME) «Агрегатора» и их полным доменным именем (FQDN); 
  • «Настройки Брокера сообщений (экспериментальный)»: позволяет переопределить настройки экспериментального брокера сообщений TermideskMQ:
    • «Адрес для подключений»: IP-адрес прослушивания входящих подключений для TermideskMQ (параметр TMQ_BASE_ADDRESS);
    • «Базовый порт для подключений»: базовый номер порта TermideskMQ для незащищенного подключения (параметр TMQ_BASE_PORT);
    • «Интервал проверки недоставленных сообщений»: интервал проверки (в секундах) недоставленных (потерянных) сообщений (параметр TMQ_CHECK_UNDELIVERED_MESSAGE_INTERVAL).
  • «Роли сервера»: позволяет изменить роли, которые запускаются на узле. Доступные роли: «Портал администратора», «Портал пользователя», «Менеджер рабочих мест», «Агрегатор администратора», «Агрегатор пользователя», «Брокер сообщений»;

Установка ролей «Агрегатор администратора» и (или) «Агрегатор пользователя» должна производиться на узле, отличном от «Портала администратора» и (или) «Портала пользователя», «Менеджера рабочих мест».

Смена ролей через функцию «Роли сервера» в этом случае не предусмотрена: нельзя ранее установленные «Портал администратора» и (или) «Портал пользователя» перенастроить на использование ролей «Агрегатор администратора» и (или) «Агрегатор пользователя».

  • «Перезапуск служб» - позволяет выполнить перезапуск служб Termidesk;
  • «Сертификаты» - позволяет выполнить настройку сертификатов и ключей:

Пункт «Серт. для расшифровки JWT-токена» настраивается только на узле с установленным «Универсальным диспетчером» («Портал администратора» и (или) «Портал пользователя») фермы Termidesk.

Пункт «Прив. ключ для подписи JWT-токена» настраивается только на узле портала «Агрегатор» («Агрегатор администратора» и (или) «Агрегатор пользователя»).

Оставшиеся пункты могут быть настроены на обоих узлах индивидуально.

    • «Cертификат Health Check» - путь к сертификату для защищенного подключения к API проверки состояния (параметр HEALTH_CHECK_CERT);
    • «Секр. ключ Health Check» - путь к ключу для защищенного подключения к API проверки состояния (параметр HEALTH_CHECK_KEY);
    • «Сертификат Postgres mTLS» - путь к сертификату для защищенного подключения к СУБД (параметр DBCERT);
    • «Секр. ключ Postgres mTLS» - путь к ключу для защищенного подключения к СУБД (параметр DBKEY);
    • «Серт. промеж. ЦС Postgres mTLS» - путь к корневому и промежуточным сертификатам mTLS для защищенного подключения к СУБД (параметр DBCHAIN);
    • «Сертификат OpenBao начального mTLS» - путь к сертификату для начального защищенного подключения к OpenBao (параметр SECRETS_OPENBAO_CLIENT_CERT);
    • «Секр. ключ OpenBao начального mTLS» - путь к ключу для начального защищенного подключения к OpenBao (параметр SECRETS_OPENBAO_CLIENT_KEY);
    • «Серт. промеж. ЦС OpenBao нач. mTLS» - путь к корневому и промежуточным сертификатам mTLS для начального защищенного подключения к OpenBao (параметр SECRETS_OPENBAO_SERVER_CERT);
    • «Путь к серт. для втор. mTLS c OpenBao»:  путь к клиентскому сертификату SSL/TLS для вторичного защищенного подключения к OpenBao (параметр SECRETS_OPENBAO_PKI_CERTS);
    • «Осн. серт. для расшифровки JWT-токена» - путь к сертификату для получения значения JWT-токена портала «Агрегатор» (параметр AGGREGATOR_JWT_SSL_CERT);
    • «Рез. серт. для расшифровки JWT-токена» - путь к резервному сертификату для получения значения JWT-токена портала «Агрегатор» (параметр AGGREGATOR_JWT_SSL_CERT_SECOND);
    • «Секр. ключ для подписи JWT-токена» - путь к  ключу для подписи JWT-токена портала «Агрегатор» (параметр AGGREGATOR_JWT_SSL_KEY);
    • «Сертификат для подключения к серверу RA» - путь к серверному сертификату SSL/TLS для проверки подключения к «Удаленному помощнику» (REMOTE_ASSISTANT_SERVER_CERT);
    • «Сертификат RabbitMQ mTLS» - путь к клиентскому сертификату SSL/TLS для защищенного подключения к RabbitMQ (CELERY_BROKER_CERT);
    • «Секр.ключ RabbitMQ mTLS» - путь к клиентскому ключу SSL/TLS  для защищенного подключения к RabbitMQ (CELERY_BROKER_KEY);
    • «Серт. ЦС RabbitMQ mTLS» - путь к корневому сертификату ЦС SSL/TLS для защищенного подключения к RabbitMQ (CELERY_BROKER_CA);
    • «Сертификат службы TermideskMQ»:  путь к серверному сертификату mTLS для TermideskMQ (параметр TMQ_SERVER_CERT);
    • «Секр. ключ службы TermideskMQ»: путь к ключу для серверного сертификата mTLS для TermideskMQ (параметр TMQ_SERVER_KEY);
    • «Серт. ЦС службы TermideskMQ»: путь к корневому сертификату mTLS для TermideskMQ (параметр TMQ_SERVER_CA);
    • «Публичный ключ ws-proxy»:  путь к открытому ключу id_rsa.pub. Явно задавать путь следует только при использовании внешнего хранилища (WSPROXY_PUB_KEY_FILE);
    • «Секретный ключ ws-proxy»: путь к озакрытому ключу id_rsa. Явно задавать путь следует только при использовании внешнего хранилища (WSPROXY_PRIV_KEY_FILE);
    • «Клиентский сертификат mTLS»: путь к клиентскому сертификату mTLS для защищенного подключения. Используется для взаимной аутентификации сервера Termidesk с другими компонентами (параметр MTLS_CLIENT_CERT);
    • «Клиентский секр.ключ mTLS»: путь к клиентскому ключу mTLS  для защищенного подключения. Используется для взаимной аутентификации сервера Termidesk с другими компонентами (параметр MTLS_CLIENT_KEY);
    • «Клиентский серт. ЦС mTLS»: путь к корневому сертификату ЦС mTLS для защищенного подключения. Используется для взаимной аутентификации сервера Termidesk с другими компонентами (параметр MTLS_CLIENT_CA);
    • «Файл с доверенными сертификатами»: путь к файлу с доверенным корневым сертификатом. Задается для настройки работы с сертификатами собственных ЦС (параметр REQESTS_CA_BUNDLE).