Утилита termidesk-config

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

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

  • в интерфейсе командной строки перейти в каталог /opt/termidesk/sbin/:

cd /opt/termidesk/sbin/
  • выполнить запуск:

sudo ./termidesk-config
image
Рисунок 1. Интерфейс утилиты 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);

  • «Режим работы узла»: позволяет задать режим работы (параметр TERMIDESK_FARM_MODE):

    • «Диспетчер»: режим работы для фермы «Универсального диспетчера»;

    • «Агрегатор»: режим работы для фермы «Агрегатора»;

      Установка «Агрегатора» должна производиться на узле, отличном от «Диспетчера».

      Ранее установленный «Диспетчер» нельзя перенастроить на использование «Агрегатора».

  • «Роли узла (сервера)»: позволяет изменить роли, которые запускаются на узле (параметр NODE_ROLES). Доступные роли:

    • «Портал администратора»;

    • «Портал пользователя»;

    • «Менеджер рабочих мест»;

    • «Брокер сообщений»;

  • «Задание имени службам узла»: позволяет задать уникальное имя узла для его идентификации (параметр 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);

    • «Пространство имён» - пространство имени, заданного на OpenBao (параметр SECRETS_OPENBAO_NAMESPACE);

  • «Задание ключа DJANGO»: позволяет переопределить значение ключа DJANGO (параметр DJANGO_SECRET_KEY), создаваемого на этапе установки. Переопределение ключа может понадобиться при его компрометации;

  • «Защита подключения к СУБД»: позволяет выбрать тип подключения к СУБД (параметр 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). При запросе пароль задается в открытом виде;

  • «Настройка параметров клиента TermidesMQ»: позволяет настроить параметры клиентской части TermideskMQ для высокодоступной конфигурации:

    • «Идентификатор клиента»: идентификатор пула очередей сообщений (параметр TMQ_CLIENT_ID);

    • «Таймаут ожидания ответа от узла, мс»: время ожидания ответа от узла кластера TermideskMQ (параметр TMQ_TIMEOUT_AWAIT_SENDING_MESSAGE);

    • «Количество попыток запросов к узлу»: количество попыток выполнения запроса или отправки сообщение к узлу кластера TermideskMQ (параметр TMQ_PUT_RETRY_COUNT);

  • «Настройки подключения к 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);

  • «Аудит обращений к анонимным эндпоинтам API»: позволяет включить или отключить запись событий аудита с анонимным пользователем в БД (параметр INTERNAL_AUDIT);

  • «Задание токена проверки состояния служб»: позволяет переопределить значение токена проверки состояния служб (параметр HEALTH_CHECK_ACCESS_KEY). Переопределение токена может понадобиться при его компрометации;

  • «Задание токена проверки метрик служб»: позволяет переопределить значение токена проверки метрики служб (параметр METRICS_ACCESS_KEY). Переопределение токена может понадобиться при его компрометации;

  • «Изменение GID встроенных администраторов»: позволяет назначить идентификатор группы, использующегося для встроенного домена. Изменение идентификатора может понадобиться, если встроенная в ОС группа администраторов отличается от astra-admin (1001) или если нужно предоставить права администрирования Termidesk группе непривилегированных пользователей;

  • «Язык сервера по умолчанию»: язык сервера по умолчанию согласно ISO-639-1 (параметр LANGUAGE_CODE);

  • «Настройки агрегатора»: позволяет переопределить настройки портала «Агрегатор»:

    • «Путь к файлу с сопоставлением имён узлов и FQDN» - путь к файлу mapping.yaml, содержащему сопоставление между именами узлов (NODE_NAME) «Агрегатора» и их полным доменным именем (FQDN);

  • «Режим mTLS сервера Termidesk»: режим mTLS для взаимодействия между компонентами Termidesk (параметр MTLS_MODE);

  • «Подключения mTLS»: сценарий взаимодействия между компонентами Termidesk по mTLS (параметр MTLS_CONNECTIONS);

  • «Настройки Брокера сообщений (экспериментальный)»: позволяет переопределить настройки экспериментального «Брокера сообщений TermideskMQ»:

    • «Адрес для подключений»: IP-адрес прослушивания входящих подключений для «Брокера сообщений TermideskMQ» (параметр TMQ_BASE_ADDRESS);

    • «Базовый порт для подключений»: базовый номер порта «Брокера сообщений TermideskMQ» для незащищенного подключения (параметр TMQ_BASE_PORT).

  • «Перезапуск служб» - позволяет выполнить перезапуск служб 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_CA);

    • «Сертификат 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).