Установка и настройка

Важно

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

Режим суперпользователя:

sudo -i

Установка

Для Linux

Внимание

Имеется поддержка аутентификации пользователя с использованием смарт-карты. Подробнее тут.

Важно

Для корректной работы функционала перенаправления USB-устройств необходимо выполнить дополнительную настройку.

Важно

При переходе с версии клиента 2.6, 2.7 или 2.8 на версию 2.8.3, необходимо удалить каталог ${HOME}/.tionix-vdi-client с параметрами клиента, иначе возникнет проблема с запуском xfreerdp.

RPM-пакет

Установите модуль TIONIX.VDIclient:

yum -y install tionix-vdi-client

DEB-пакет

  1. Подключите в системный каталог /etc/apt/sources.list репозиторий с DEB-пакетами:

    deb [trusted=yes] http://deb-repo.tionix.ru/stable tionix x.x
    

    Где: x.x - номер необходимой версии клиента.

    Подсказка

    Для установки последней разрабатываемой версии модуля укажите репозиторий:

    deb [trusted=yes] http://deb-repo.tionix.ru/release tionix-rc x.x
    

    Где: x.x - номер необходимой версии клиента.

  2. Обновите список репозиториев:

    apt-get update
    
  3. Установите модуль TIONIX.VDIclient:

    apt install tionix-vdi-client
    

Для Windows

Установка VDI клиента при помощи установщика

  1. Перейдите по сcылкe в репозиторий с дистрибутивами клиента.

  2. Выберите совместимую с операционной системой версию клиента:

    ../../../_images/VDI_files_tionix.png

    Перечень клиентов

  3. Перейдите в каталог с выбранной версией:

    ../../../_images/VDI_files_tionix_client.png

    Перечень клиентов

  4. Скачайте и запустите установочную программу TIONIX.VDIclient.2.9.0x64.Setup.exe.

  5. Выберите язык установки:

    ../../../_images/VDI_install_language.png

    Окно выбора языка

  6. Ознакомьтесь с программным продуктом:

    ../../../_images/VDI_copyright.png

    Окно с информацией о модуле

  7. Выберите директорию для установки:

    ../../../_images/VDI_directory.png

    Окно выбора директории для установки приложения

  8. Выберите папку в меню «Пуск»:

    ../../../_images/VDI_start_directory.png

    Окно выбора директории для ярлыка приложения

  9. Подтвердите параметры установки:

    ../../../_images/VDI_start_install.png

    Окно запуска установки

    После успешной установки в окне завершения по умолчанию установлен флаг запуска программы:

    ../../../_images/VDI_finish_install.png

    Окно завершения установки

    Установите необходимое значение и завершите установку кнопкой «Завершить».

Запуск VDI клиента без процедуры установки

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

  1. Перейдите по ссылкe в репозиторий с дистрибутивами клиента.

  2. Выберите совместимую с операционной системой версию клиента:

    ../../../_images/VDI_files_tionix.png

    Перечень клиентов

  3. Перейдите в каталог с выбранной версией:

    ../../../_images/VDI_files_tionix_client.png

    Перечень клиентов

  4. Скачайте и распакуйте архив TIONIX.VDIclient.1.30.0x64.zip в необходимую директорию.

  5. Перейдите в директорию распакованного архива и запустите файл tionix_vdi_client.exe:

    ../../../_images/VDI_catalog_vdi_client.png

    Директория файлов с приложением

Подсказка

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

Для MacOS

  1. Перейдите на страницу «Расположение пакетов модулей TIONIX» и выберите репозиторий с необходимой версией клиента.

  2. Скачайте и смонтируйте (двойной клик по имени файла) DMG образ клиента.

  3. Скопируйте смонтируемое приложение в папку «Программы»/«Applications» на свой жесткий диск:

    ../../../_images/macos_applications.png

    Перемещение в «Программы»/«Applications»

    После этого можно демонтировать виртуальный диск (нажав треугольник напротив имени диска) и удалить DMG файл.

Настройка

Настройка окружения на Alt Linux p9

Для корректного запуска приложения необходимо добавить пользователя системы в группу fuse:

usermod -a -G fuse user_name

Где: user_name - имя пользователя в системе.

После чего нужно полностью перезапустить систему.

Настройка окружения на Astra Linux Смоленск 1.6

По умолчанию мандатная система доступа не позволяет запускать приложения, запускаемые с файловой системы, смонтированных через FUSE. Чтобы это исправить, в параметры ядра нужно добавить опцию parsec.enable_exec_on_fuse=1. Откройте файл /etc/default/grub и добавьте этот параметр в содержимое следующей переменной:

GRUB_CMDLINE_LINUX_DEFAULT="... parsec.enable_exec_on_fuse=1"

Далее необходимо обновить конфигурацию загрузчика GRUB:

grub-mkconfig -o /boot/grub/grub.cfg

После чего нужно полностью перезапустить систему.

Файл конфигурации

При первом запуске TIONIX.VDIclient в домашней директории пользователя, в каталоге .tionix-vdi-client создается конфигурационный файл client.conf.

Некоторые параметры, представленные в конфигурационном файле также можно задать в окне «Настройки TIONIX.VDIclient». Конфигурационный файл представлен в conf формате и состоит из следующих секций:

Параметр Описание Значение по умолчанию Обязательность Имеется ли возможность задать параметр в графическом интерфейсе
cloud Первичный адрес сервера. Параметр является обязательным. Необходимо вводить либо IP-адрес сервера, либо имя хоста. Например: localhost или 10.10.10.10. При явном указании протокола HTTP и HTTPS подключение будет осуществляться по указанному протоколу в префиксе. Также существует возможность указания порта подключения, который необходимо указывать через :. Например: https://vdi.tionix.ru:8889.   Да Да
ignore_domain Параметр, который игнорирует параметр domain_name при формировании rdp-файла, для подключения к гостевой операционной системе.   Нет Нет
secondary_cloud Вторичный адрес сервера. Используется для подключения в случае отсутствия ответа с первичного адреса. Необходимо вводить либо IP-адрес сервера, либо имя хоста. Например: localhost или 10.10.10.10. При явном указании протокола HTTP и HTTPS подключение будет осуществляться по указанному протоколу в префиксе. Также существует возможность указания порта подключения, который необходимо указывать через :. Например: https://vdi.tionix.ru:8889.   Нет Да
domain_name Имя домена. default Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Да
log_level

Уровень логирования. Доступные значения:

  • DEBUG;
  • INFO;
  • WARNING;
  • ERROR;
  • CRITICAL.

Значения являются регистронезависимыми. Подробное описание параметров доступно в разделе Уровни логирования.

INFO Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Да
ssl_path Путь к файлу сертификата пользователя. При пустом значении используются сертификаты, которые установлены в системе или указаны в переменной окружения. Если в поле указан файл сертификата, то для подключения к серверу будет использоваться только он.   Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Да
log_file_location Путь до директории, в которой необходимо создать файл c логами. Лог файл создается в корневой папке клиента.   Нет Нет
store_session

Параметр, отвечающий за сохранение настроек подключения, флаг «Запомнить» в графическом интерфейсе. Доступные значения:

  • True - сохранение параметров каждой сессии;
  • False - удаление параметров каждой сессии.

Значения являются регистронезависимыми.

True Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
language Язык интерфейса графического клиента. Если этот параметр не указан, то берется локализация операционной системы, на которой запущен клиент.   Нет Да
show_settings

Изменение настройки отображения кнопки «Настройки»:

  • True - кнопка «Настройки» отображается;
  • False - кнопка скрыта.

Значения являются регистронезависимыми.

True Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
store_password

Параметр, отвечающий за сохранение пароля в настройках. Не зависит от значения параметра store_session. Доступные значения:

  • True - сохранение пароля для каждой сессии;
  • False - удаление пароля для каждой сессии.

Значения являются регистронезависимыми.

False Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
PYKCS11LIB Путь до файла libisbc_pkcs11_main.so, необходимого для работы со смарт-картами. При отсутствии поиск файла осуществляется в каталоге .tionix-vdi-client домашней директории пользователя и в текущем каталоге.   Нет Нет
SMARTCARD_OID Расширение EKU искомого сертификата должно содержать указанный OID. При отсутствии параметра фильтрация сертификатов по OID не выполняется.   Нет Нет
ikecfg Параметр указывает IP-адрес клиента. Позволяет при необходимости передавать на сервер IP-адрес, отличающийся от текущего. Используется для создания правил группы безопасности передаваемой клиенту VDI машины.   Нет Нет
additional_clouds Дополнительные адреса VDI сервера. Используется для подключения в случае отсутствия ответа с первичного и вторичного адреса. Необходимо вводить либо IP-адрес сервера, либо имя хоста через запятую. Например: localhost, 10.10.10.10, myhost.tionix.loc.   Нет Нет
retries

Количество повторных попыток подключения к серверам. Например:

  • -1 - Попытки будут выполняться бесконечно;
  • 1 - Попытка повторного подключения будет выполняться один раз;
  • 2 - Кроме основной попытки будут выполнены два повторных цикла подключений;
  • 3 - Кроме основной попытки будут выполнены три повторных цикла подключений.
2 Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
timeout Время ожидания перед следующей попыткой подключения в секундах. 15 Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
contact_support_message_ru Настраиваемое сообщение для обращения к администратору на русском языке. Выводятся только первые 250 символов. Обратитесь к системному администратору. Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
contact_support_message_en Настраиваемое сообщение для обращения к администратору на английском языке. Выводятся только первые 250 символов. Please contact system administrator. Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
get_vm_timeout Время ожидания перед следующей попыткой получения статуса задачи на получение VDI машины (get-vm) в секундах. Значение должно быть целым числом больше или равно 0. 5 Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
command_log_file_size Максимальный размер файла логирования в мегабайтах. 10 Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
command_log_file_count Максимальное количество файлов логирования. 10 Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
web_guard

Включение поддержки WebGuard. Доступные значения:

  • True - поддержка WebGuard включена;
  • False - поддержка WebGuard выключена.
False Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
use_cert

Включение аутентификации по клиентскому сертификату. Доступные значения:

  • True - аутентификация по сертификату включена;
  • False - аутентификация по сертификату выключена.
False Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
cert Путь к файлу сертификата пользователя.   Нет Нет
key Путь к файлу приватного ключа пользователя.   Нет Нет
identity_url Адрес службы Keystone, используется для аутентификации по клиентскому сертификату. Для указания нескольких адресов используйте запятую в качестве разделителя.   Нет Нет
minimize_to_tray Параметр, отвечающий за сворачивание окна в системный трей после подключения к виртуальной машине. False Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
silent

Параметр, отвечающий за отображение сообщений от клиента удаленного доступа при ошибке подключения к виртуальной машине. Доступные значения:

  • True - сообщение от клиента удаленного доступа выводится;
  • False - сообщение не выводится.

Значения являются регистронезависимыми.

False Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
spice_debug

Параметр, отвечающий за подробный режим логирования при подключении к сессии по протоколу SPICE. Доступные значения:

  • True - логирование производится в режиме DEBUG, запись производится в файлы command_error.log и command.log;
  • False - логирование в режиме DEBUG выключено.

Значения являются регистронезависимыми.

False Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
default_connect Указывает идентификатор сессии, к которой будет совершаться автоматическое подключение после авторизации в клиенте.   Нет Да
xfreerdp_allow_self_signed_cert

Параметр, отвечающий за автоматическое принятие SSL сертификата при подключении к сессии по протоколу RDP для Linux версии клиента. Доступные значения:

  • True - автоматически принимает сертификат;
  • False - нет (при использовании самоподписанного/невалидного сертификата возможно зависание клиента).

Значения являются регистронезависимыми.

True Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет

Дополнительные параметры:

Параметр Описание Значение по умолчанию Обязательность Имеется ли возможность задать параметр в графическом интерфейсе
password_generation

Параметр, отвечающий за генерацию случайного пароля при его смене и проверке пароля на соответствие правилам безопасности. Допустимые значения:

  • True;
  • False.

Значения являются регистронезависимыми.

False Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет
use_smartcard

Параметр, отвечающий за использование смарт-карты. Доступные значения:

  • True;
  • False.

Значения являются регистронезависимыми.

True Нет, в случае отсутствия значения параметра в конфигурационном файле применяется значение по умолчанию. Нет

Примеры конфигурационных файлов

Для Windows:

[DEFAULT]
cloud = main.tionix.ru
ignore_domain = False
secondary_cloud = 10.10.10.13
domain_name = default
log_level = DEBUG
default_connect =
log_file_location = %USERPROFILE%\.tionix-vdi-client\
store_session = False
language = ru
show_settings = True
pykcs11lib =
smartcard_oid =
ikecfg =
additional_clouds =
retries = 2
timeout = 15
use_smartcard = False
contact_support_message_ru = Обратитесь к системному администратору.
contact_support_message_en = Please contact system administrator.
web_guard = False
use_cert = False
cert =
key =
identity_url =
minimize_to_tray = False
silent = False
ssl_path =
spice_debug = False

Для Linux:

[DEFAULT]
cloud = main.tionix.ru
ignore_domain = False
secondary_cloud = 10.10.10.13
domain_name = default
log_level = INFO
default_connect =
log_file_location = $HOME/.tionix-vdi-client/
store_session = False
language = ru
show_settings = True
pykcs11lib = /usr/lib64/libisbc_pkcs11_main.so
SMARTCARD_OID = 1.3.6.1.4.1.311.20.2.2
ikecfg =
additional_clouds = slave.tionix.ru, 10.10.10.14
retries = -1
timeout = 15
contact_support_message_ru = Обратитесь к системному администратору.
contact_support_message_en = Please contact system administrator.
web_guard = False
use_cert = False
cert =
key =
identity_url =
minimize_to_tray = False
silent = False
ssl_path =
spice_debug = False

Для macOS:

[DEFAULT]
cloud = 10.10.10.10
ignore_domain = False
secondary_cloud =
domain_name = default
log_level = INFO
log_file_location =
store_session = True
store_password = False
language = en
show_settings = True
pykcs11lib =
smartcard_oid =
ikecfg =
additional_clouds =
retries = 2
timeout = 15
contact_support_message_ru = Обратитесь к системному администратору.
contact_support_message_en = Please contact system administrator.
web_guard = False
use_cert = False
cert =
key =
identity_url =
minimize_to_tray = False
silent = False
ssl_path =
spice_debug = False
xfreerdp_allow_self_signed_cert = True

При первом запуске TIONIX.VDIclient в домашней директории пользователя, в каталоге .tionix-vdi-client создается конфигурационный файл rdp.conf.sample. В этом файле заданы базовые настройки для подключения по протоколу RDP, которые можно редактировать.

Настройка для работы перенаправления USB-устройств

Важно

Данная инструкция актуальна только для операционных систем Linux.

Для корректной работы функционала перенаправления USB-устройств по протоколу SPICE необходимо добавить пользователя виртуальной машины в Linux группу:

# CentOS
usermod -a -G plugdev username

# Alt Linux
usermod -a -G plugdev,fuse username

Где: username - имя пользователя виртуальной машины, к которой осуществляется подключение.

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

Настройка для работы со смарт-картами

Авторизация по смарт-карте

Примечание

Работа со смарт-картой поддерживается только на операционных системах Linux.

Для того, чтобы модуль функционировал со смарт-картами, необходимо проделать следующие шаги:

  1. Для низкоуровневой работы с картами установите пакет opensc, а также pcsc-lite и его утилиты:

    yum install opensc
    yum install pcsc-lite
    
  2. Загрузите и установите из репозитория последнюю версию EPEL:

    rpm -Uvh epel-release*rpm
    
  3. Установите пакет pcsc-tools:

    yum install pcsc-tools
    
  4. Смарт-карты работают через API PKCS11 и PC/SC. Первоначально установите необходимые зависимости:

    yum install libpcsclite-dev
    yum install pyOpenSSL
    
  5. Установите пакет pykcs11 для работы со смарт-картой через API PKCS11:

    pip install pykcs11
    
  6. Установите python-module-pyscard для работы со смарт-картой через API PC/SC:

    yum install pyscard
    
  7. Скачайте архив с библиотеками ESMART Token 4.2 (PKCS#11) для Linux. Его можно найти по сcылке.

  8. После чего найдите в архиве файл libisbc_pkcs11_main.so и укажите путь до файла в параметре PYKCS11LIB конфигурационного файла или задайте в качестве переменной окружения:

    export PYKCS11LIB="path to libisbc_pkcs11_main.so"
    
  9. Для возможности работы со смарт-картой без прав суперпользователя выполните следующие команды:

    sed -i "s/no/yes/" /usr/share/polkit-1/actions/org.debian.pcsc-lite.policy
    systemctl restart pcscd.socket
    
  10. Для корректного отображения текста при перебросе графической среды X11 установите следующие пакеты:

    yum install xorg-x11-fonts*
    yum install dejavu-lgc-sans-fonts
    

Перенаправление смарт-карты

Важно

Данный функционал носит экспериментальный характер и не обязателен для работы клиента. Также необходима дополнительная настройка гостевой ОС.

Примечание

Перенаправление смарт-карт поддерживается только по протоколу SPICE и операционных систем Linux.

Установка pcscd

Служба pcscd занимается поиском и регистрацией CCID-устройств.

  1. Установите ccid и pcscd вместе с утилитами для получения данных о смарт-карте:

    • Alt Linux p9:

      apt-get -y install pcsc-lite pcsc-lite-ccid pcsc-tools
      
    • Ubuntu (все версии):

      apt -y install libccid pcscd pcsc-tools
      
    • CentOS 7.x:

      yum -y install pcsc-lite pcsc-lite-ccid pcsc-tools
      
    • CentOS 8.x и Stream:

      dnf -y install pcsc-lite pcsc-lite-ccid pcsc-tools
      
  2. После установки нужно убедиться, что служба pcscd запущена и работает:

    systemctl status pcscd
    

    Пример вывода:

    ● pcscd.service - PC/SC Smart Card Daemon
       Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; vendor pres>
       Active: active (running) since Mon 2021-02-15 17:34:01 MSK; 6min ago
     Main PID: 1529 (pcscd)
        Tasks: 9 (limit: 24924)
       Memory: 5.3M
       CGroup: /system.slice/pcscd.service
               └─1529 /usr/sbin/pcscd --foreground --auto-exit
    
    Feb 15 17:34:01 localhost.localdomain systemd[1]: Started PC/SC Smart Card Daemon.
    

    Если это не так, то запустите его и явно пропишите в автозагрузку:

    systemctl start pcscdsystemctl enable pcscd
    
  3. С помощью команды pcsc_scan получите информацию о CCID-устройстве и проверьте наличие смарт-карты:

    user@localhost ~]$ pcsc_scan
    PC/SC device scanner
    V 1.4.25 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
    Compiled with PC/SC lite version: 1.8.8
    Using reader plug'n play mechanism
    Scanning present readers...
    0: Gemalto Gemplus USB SmartCard Reader 433-Swap [CCID Interface] (1-0000:00:1d.7-5) 00 00
    1: Aktiv Rutoken ECP 01 00
    
    Tue Feb 16 16:24:27 2021
    Reader 0: Gemalto Gemplus USB SmartCard Reader 433-Swap [CCID Interface] (1-0000:00:1d.7-5) 00 00
      Card state: Card removed,
    Reader 1: Aktiv Rutoken ECP 01 00
      Card state: Card inserted, Shared Mode,
      ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
    
    ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
    + TS = 3B --> Direct Convention
    + T0 = 8B, Y(1): 1000, K: 11 (historical bytes)
      TD(1) = 01 --> Y(i+1) = 0000, Protocol T = 1
    -----
    + Historical bytes: 52 75 74 6F 6B 65 6E 20 44 53 20
      Category indicator byte: 52 (proprietary format)
    + TCK = C1 (correct checksum)
    
    Possibly identified card (using /home/user/.cache/smartcard_list.txt):
    3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
        Aktiv Rutoken ECP
        https://www.rutoken.ru/products/all/rutoken-ecp/
    

    Если pcsc_scan не выводит ничего, то убедитесь, что служба pcscd запущена и не имеется никаких проблем в логе вывода службы в systemd.

    Примечание

    Команда pcsc_scan сама не завершает работу, её следует закрыть через комбинацию Ctrl+C.

Установка драйвера PKCS11

Драйвер PKCS11 как правило является файлом формата so, то есть является обычной библиотекой. Эту библиотеку необходимо предложить приложению, если необходим доступ к сохранённым в смарт-карту сертификатами.

Для Linux предлагается использовать пакеты типа RPM и DEB, но сами so внутри технически заработают везде.

  1. Загрузите файл RPM из официального сайта:

    wget https://download.rutoken.ru/Rutoken/PKCS11Lib/2.0.11.0/Linux/x64/librtpkcs11ecp-2.0.11.0-1.x86_64.rpm
    
  2. Далее этот пакет необходимо установить через rpm:

    rpm -ihv librtpkcs11ecp-2.0.11.0-1.x86_64.rpm
    

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

    /usr/lib64/librtpkcs11ecp.so -> /opt/aktivco/rutokenecp/x86_64/librtpkcs11ecp.so
    

    При работе с приложениями можно использовать как оригинальный файл в /opt, так и ссылку в lib64.

  3. Проверьте доступность смарт-карты при помощи утилит проекта OpenSC. Установите соответствующий пакет:

    yum -y install opensc
    

    После этого станет доступной команда pkcs11-tool, которая может показать список доступных сертификатов в смарт-карте. Для этого достаточно указания библиотеки PKCS11:

    pkcs11-tool --module /opt/aktivco/rutokenecp/x86_64/librtpkcs11ecp.so -O
    Using slot 1 with a present token (0x1)
    Public Key Object; RSA 2048 bits
      label:      test
      ID:         57306d4b43506457
      Usage:      encrypt, verify, wrap
    Certificate Object; type = X.509 cert
      label:      TIONIX.EXAMPLE
      subject:    DN: C=XX, L=Default City, O=Default Company Ltd
      ID:         6b344a394e683437
    

    Как видим, в обозреваемой смарт-карте имеется публичный ключ и один сертификат. Данный вывод говорит о том, что смарт-карта успешно читается.