ОС Astra Linux Special Edition

Установка в ОС Astra Linux Special Edition для ВМ

После установки TERA графический интерфейс гостевой ОС ВМ будет недоступен при подключении к ней напрямую через платформу виртуализации. Управление будет доступно только по протоколу SSH.

Нужно проверить доступность SSH сервера заблаговременно (сервис должен быть в состояниях enabled и active):

systemctl status ssh.service

Для установки TERA в среде ВМ с ОС Astra Linux Special Edition нужно:

  • предварительно установить компоненты «Агент виртуального рабочего места», «Видеоагент», «Агент виртуальных смарт-карт»;

  • удалить пакеты spice-vdagent и xserver-xorg-video-qxl, если они были установлены:

sudo apt purge spice-vdagent xserver-xorg-video-qxl
  • установить программу для обмена информацией между ВМ и хост-сиcтемой (для KVM-виртуализации это пакет qemu-guest-agent, для VMware это пакет open-vm-tools):

sudo apt install qemu-guest-agent
  • убедиться, что имя хоста (hostname) и информация в /etc/hosts совместимы:

    • выполнить:

      ping $(hostname)
    • если в файле нет нужной записи, то добавить ее;

  • установить пакет termidesk-tera:

sudo apt install termidesk-tera
  • на запрос «Разрешить монтирование ресурсов WebDAV непривилегированным пользователем?» нажать экранную кнопку [Да]. При необходимости изменить решение после установки нужно выполнить команду:

sudo dpkg-reconfigure davfs2
  • на запрос «Выберите режим управления экранами мониторов» выбрать пункт «default» и нажать экранную кнопку [Ok]. При необходимости изменить решение после установки нужно выполнить команду:

sudo dpkg-reconfigure tera-vdagent

При установке пакета termidesk-tera также будут установлены:

  • tera-audio - пакет поддержки вывода звука через динамики. Вывод звука управляется службой tera-audio;

  • tera-folder-redirection - пакет поддержки перенаправления каталога и его монтирования в гостевую ОС;

  • tera-record - пакет поддержки захвата звука с микрофона. Захват звука управляется службой tera-record;

  • libtera-server - библиотека, предоставляющая удаленный доступ к РМ и необходимая для корректной работы TERA;

  • tera-vdagent - пакет, предоставляющий управление изменениями графического окружения (например, динамического изменения разрешения экрана в зависимости от разрешения монитора пользователя);

  • tera-qxl - драйвер виртуального графического устройства QXL.

Следующие пакеты являются рекомендованными к установке:

  • tera-router - пакет, обеспечивающий проксирование подключений пользователей с одного общего порта на несколько внутренних и поддержку протокола UDP для TERA. Пакет требуется для обеспечения подключения по UDP через шлюз, во всех других случаях (без UDP через шлюз, прямое подключение без шлюза) проксирование подключений не требуется;

  • termidesk-pcsc-vscard - компонент «Агент виртуальных смарт-карт».

  • для возможности поддержки перенаправления USB-устройств с пользовательской рабочей станции:

    • узнать версию ОС:

      cat /etc/astra_version
    • узнать версию ядра ОС:

      uname -r
    • установить пакеты: tera-usb_<номер_версии_пакета> и пакет с модулем ядра tera-usb-<версия_ядра>_<номер_версии_пакета> для нужной версии ядра ОС (пакеты размещены в специальном каталоге для каждой версии ОС - /repos/astra/dists/ (в Интернет-репозитории - https://repos.termidesk.ru/astra/dists/)):

      sudo apt install <путь_к_пакету_tera-usb>
    • настроить параметр TeraUsbChannelNum в конфигурационном файле 30-teraqxl.xorg.conf;

  • настроить параметры TeraPort и TeraTlsPort в конфигурационном файле 30-teraqxl.xorg.conf;

  • убедиться, что пользователь fly-dm добавлен в группу sasl. Если пользователя в группе нет, то добавить его:

sudo usermod -a -G sasl fly-dm
  • добавить в автоматическую загрузку и запустить службу tera-router, если установлен пакет tera-router:

До активации службы tera-router нужно выполнить ее настройку (см. подраздел Параметры запуска службы tera-router).

Пакет tera-router требуется для обеспечения подключения по UDP через шлюз, во всех других случаях (без UDP через шлюз, прямое подключение без шлюза) проксирование подключений не требуется.

sudo systemctl enable tera-router
sudo systemctl start tera-router
  • убедиться, что после установки запущены обязательные службы tera-vdagentd,tera-mounting-shdir-service:

Начиная с Termidesk версии 7.0 служба tera-mounting-shdir-service входит в состав компонента «Агент виртуального рабочего места».
systemctl status <служба>
  • если служба не активирована, то активировать ее:

sudo systemctl enable <служба>
  • выполнить настройку компонента «Агент виртуальных смарт-карт» для работы функционала перенаправления смарт-карт;

  • рекомендуется выполнить перезагрузку ОС, поскольку некоторые компоненты загружают модуль ядра.

На этапе установки будут сгенерированы файлы сертификатов и ключей, которые затем будут расположены в директории /etc/termidesk/tera/sasl/.

После перезагрузки ОС:

  • убедиться, что запущены службы tera-router и tera-usb-service, если пакеты tera-router и tera-usb были установлены;

  • убедиться, что после установки запущены службы tera-vdagentd, tera-mounting-shdir-service, tera-router:

systemctl status <служба>
  • если служба не активирована, то активировать ее:

sudo systemctl enable <служба>

Установка в ОС Astra Linux Special Edition для физической машины

Для установки TERA в среде физической машины с ОС Astra Linux Special Edition нужно:

  • предварительно установить компоненты «Агент виртуального рабочего места», «Видеоагент», «Агент виртуальных смарт-карт»;

  • удалить пакеты spice-vdagent и xserver-xspice, если они были установлены:

sudo apt purge spice-vdagent
sudo apt remove xserver-xspice
  • убедиться, что имя хоста (hostname) и информация в /etc/hosts совместимы:

    • выполнить:

      ping $(hostname)
    • если в файле нет нужной записи, то добавить ее;

  • установить пакет termidesk-tera-x11:

sudo apt install termidesk-tera-x11
  • на запрос «Разрешить монтирование ресурсов WebDAV непривилегированным пользователем?» нажать экранную кнопку [Да]. При необходимости изменить решение после установки нужно выполнить команду:

sudo dpkg-reconfigure davfs2
  • на запрос «Выберите режим управления экранами мониторов» выбрать пункт «near» и нажать экранную кнопку [Ok]. При необходимости изменить решение после установки нужно выполнить команду:

sudo dpkg-reconfigure tera-vdagent

При установке пакета termidesk-tera-x11 также будут установлены:

  • tera-audio - пакет поддержки вывода звука через динамики. Вывод звука управляется службой tera-audio;

  • tera-folder-redirection - пакет поддержки перенаправления каталога и его монтирования в гостевую ОС;

  • tera-record - пакет поддержки захвата звука с микрофона. Захват звука управляется службой tera-record;

  • libtera-server - библиотека, предоставляющая удаленный доступ к РМ и необходимая для корректной работы TERA;

  • tera-vdagent - пакет, предоставляющий управление изменениями графического окружения (например, динамического изменения разрешения экрана в зависимости от разрешения монитора пользователя);

  • tera-x11 - пакет управления удаленным доступом к физической машине, реализующийся ПО x11tera. ПО x11tera может работать в режиме службы и в режиме приложения.

Следующие пакеты являются рекомендованными к установке:

  • termidesk-pcsc-vscard - компонент «Агент виртуальных смарт-карт».

  • для возможности поддержки перенаправления USB-устройств с пользовательской рабочей станции:

    • узнать версию ОС:

      cat /etc/astra_version
    • узнать версию ядра ОС:

      uname -r
    • установить пакеты: tera-usb_<номер_версии_пакета> и пакет с модулем ядра tera-usb-<версия_ядра>_<номер_версии_пакета> для нужной версии ядра ОС (пакеты размещены в специальном каталоге для каждой версии ОС - /repos/astra/dists/ (в Интернет-репозитории - https://repos.termidesk.ru/astra/dists/)):

      sudo apt install <путь_к_пакетам>
    • настроить параметр usb-channel-num в конфигурационном файле x11tera.conf;

  • убедиться, что пользователь fly-dm добавлен в группу sasl. Если пользователя в группе нет, то добавить его:

sudo usermod -a -G sasl fly-dm
  • для возможности работы TERA по протоколу UDP:

    • установить пакет tera-router:

      Пакет требуется для обеспечения подключения по UDP через шлюз, во всех других случаях (без UDP через шлюз, прямое подключение без шлюза) проксирование подключений не требуется

      sudo apt install tera-router
    • выполнить настройку службы tera-router для работы по протоколу UDP (см. подраздел Параметры запуска службы tera-router);

    • добавить в автоматическую загрузку и запустить службу tera-router:

      sudo systemctl enable tera-router
      sudo systemctl start tera-router
  • активировать и запустить службы x11tera_unlock.service и x11tera_controls.service:

sudo systemctl enable x11tera_unlock.service
sudo systemctl start x11tera_unlock.service
sudo systemctl enable x11tera_controls.service
sudo systemctl start x11tera_controls.service
  • после установки убедиться, что запущены службы tera-vdagentd, tera-mounting-shdir-service, x11tera, x11tera_unlock, x11tera_controls:

Начиная с Termidesk версии 7.0 служба tera-mounting-shdir-service входит в состав компонента «Агент виртуального рабочего места».
systemctl status <служба>
  • если служба не активирована, то активировать ее:

sudo systemctl enable <служба>
  • выполнить настройку компонента «Агент виртуальных смарт-карт» для работы функционала перенаправления смарт-карт;

  • завершить установку TERA, выбрав режим запуска ПО x11tera и выполнив соответствующие команды (см. подраздел Режимы запуска ПО x11tera);

  • рекомендуется выполнить перезагрузку ОС, поскольку некоторые компоненты загружают модуль ядра ОС.

После перезагрузки ОС:

  • убедиться, что запущены службы tera-router, tera-usb-service, если пакеты tera-router и tera-usb соответственно были установлены:

systemctl status <служба>
  • если служба не активирована, то активировать ее:

sudo systemctl enable <служба>

Если физическая машина является постоянным РМ пользователя и новые мониторы не добавляются и не отключаются от физической машины, то после установки рекомендуется создать постоянную конфигурацию мониторов и сохранить ее в конфигурационных файлах /etc/termidesk/tera/x11tera_user_lock.conf, /etc/termidesk/tera/x11tera_greeter_lock.conf (конфигурация мониторов при подключении пользователя и на экране greeter) и /etc/termidesk/tera/x11tera_user_unlock.conf, /etc/termidesk/tera/x11tera_greeter_unlock.conf (конфигурация мониторов при отключении пользователя и выходе из экрана greeter). Для этого:

Если физическая машина представляет собой ноутбук, подключающийся к различным мониторам, док-станциям и не имеющий постоянной конфигурации рабочего стола и дисплеев, то команду выполнять не рекомендуется.
  • убедиться, что пользователь выполнил вход в графическое окружение ОС физической машины;

  • выполнить сохранение конфигурации мониторов:

sudo x11tera_on_lock save-config

Сценарии, при которых использование save-config не требуется (но требуется во всех остальных случаях):

  • если у пользователя один монитор;

  • если у пользователя не дублируются мониторы на графическом экране приветствия (greeter);

  • если у пользователя одинаковые мониторы с одинаковым размером.

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

При выполнении команды выбирается основной пользовательский монитор и его режимы разрешений, которые будут транслироваться в ПО Termidesk Viewer.

Сохраненная конфигурация используется для восстановления расположения мониторов при:

  • отключении пользователя (и ПО Termidesk Viewer);

  • неожиданной перезагрузке физической машины;

  • перезапуске и останове службы x11tera_unlock.

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

sudo x11tera_on_lock clear-config

Для проверки работоспособности после установки следует проверить готовность ПО x11tera к подключениям:

  • выполнить:

sudo ss -tlpn | grep ":590. "
  • убедиться, что в выводе содержится порт подключения 5900 (или 5901, в зависимости от настроек):

# tcp   LISTEN 0      4096               *:5900             *:*    users:(("systemd",pid=1,fd=111))

Если установка выполняется в ОС Astra Linux Special Edition 1.7, то нужно убедиться, что служба x11tera и графический менеджер работают с одинаковыми правами пользователя. Для этого перезагрузить физическую машину, затем:

  • нажать сочетание клавиш <Alt> + <Ctrl> + <F1-F6>, переключившись в дополнительный виртуальный терминал. Либо подключиться к узлу по протоколу SSH;

  • выполнить проверку прав графического менеджера и службы x11tera:

pgrep -x Xorg | xargs ps -f -o user -p
systemctl show x11tera.service | grep -E "^User=|^Group="
  • если права не совпадают, то отредактировать файл /lib/systemd/system/x11tera.service, указав имя пользователя, с которым запустился и работает графический менеджер. Пример:

[Service]
User=root
Group=root
  • применить изменения, перезагрузив физическую машину, либо выполнив команды:

sudo systemctl daemon-reload
sudo systemctl restart x11tera

После установки TERA в среде физической машины с ОС Astra Linux Special Edition:

  • будет доступно удаленное подключение пользователя к этой физической машине;

  • будет доступно локальное подключение пользователя к этой физической машине;

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

При необходимости изменить параметры доступа пользователя следует обратиться к подразделу Блокирование локального доступа при подключении к физической машине. Изменение параметров должно производиться после того, как пользователь первый раз локально авторизовался в ОС физической машины.

Для решения нештатных ситуаций или донастройки ОС рекомендуется использовать удаленный доступ, например, по протоколу SSH. Нужно проверить доступность SSH сервера заблаговременно (сервис должен быть в состояниях enabled и active):

systemctl status ssh.service

Установка в режиме ЗПС

Замкнутая программная среда (ЗПС) является средством повышения безопасности ОС путем контроля целостности (неизменности) файлов.

Механизм контроля реализован в виде невыгружаемого модуля ядра ОС Astra Linux Special Edition (модуль digsig_verif), выполняющего проверку электронной цифровой подписи файлов (ЭЦП).

Перед установкой компонентов Termidesk VDI необходимо установить пакет termidesk-digsig-keys, для этого:

  • подключить репозиторий Termidesk VDI или получить отдельный пакет termidesk-digsig-keys из репозитория;

  • выполнить установку с использованием репозитория:

sudo apt -y install termidesk-digsig-keys
  • либо выполнить установку из deb-пакета:

sudo apt install -y /home/user/termidesk-digsig-keys-XXXXXX_amd64.deb

где:

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

/home/user/termidesk-digsig-keys-XXXXXX_amd64.deb - расположение пакета termidesk-digsig-keys-XXXXXX_amd64.deb.

  • перезагрузить ОС:

sudo reboot
  • выполнить установку компонента Termidesk VDI.

Для ЗПС может быть активирован режим проверки встроенной ЭЦП в расширенных атрибутах (DIGSIG_XATTR_MODE). В этом случае потребуется подписать файлы, которые будут проходить проверку, имеющимися в организации ключами. Информация о процессе подписи и активации механизма проверки встроенной ЭЦП в расширенных атрибутах приведена в справочном центре Astra Linux: https://wiki.astralinux.ru/pages/viewpage.action?pageId=41190634.

Постановка на контроль целостности

После установки и настройки TERA необходимо поставить компонент на контроль целостности.

Для контроля целостности используются встроенные в ОС Astra Linux Special Edition программные средства на основе Another File Integrity Checker, представленного пакетом afick.

Настройка регламентного контроля целостности выполняется в конфигурационном файле /etc/afick.conf.

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

Для постановки на контроль целостности TERA необходимо добавить в конфигурационный файл /etc/afick.conf следующие строки:

  • для ВМ:

/usr/lib/x86_64-linux-gnu/libtera-server.so PARSEC
/usr/lib/x86_64-linux-gnu/libtera-server.so.6 PARSEC
/usr/lib/x86_64-linux-gnu/libtera-server.so.6.0.0 PARSEC

/usr/lib/xorg/modules/drivers/teraqxl_drv.so PARSEC

/usr/bin/tera-vdagent
/usr/bin/tera-vdagent.sh
/usr/sbin/tera-vdagentd
/usr/lib/systemd/user/tera-vdagent.service PARSEC

/lib/systemd/system/tera-mounting-shdir-service.service PARSEC
/usr/bin/tera-mounting-shdir-service PARSEC
/usr/lib/systemd/user/tera-webdav-service.service PARSEC
/usr/bin/tera-webdav PARSEC
/usr/bin/tera-webdav-service-start PARSEC

/usr/bin/tera-audio-service PARSEC
/usr/bin/tera-audio-start PARSEC
/usr/lib/systemd/user/tera-audio.service PARSEC

/usr/bin/tera-record-service PARSEC
/usr/bin/tera-record-start PARSEC
/usr/lib/systemd/user/tera-record.service PARSEC

#Репозиторий Termidesk
/var/repos/ PARSEC
  • для физической машины:

/usr/lib/x86_64-linux-gnu/libtera-server.so PARSEC
/usr/lib/x86_64-linux-gnu/libtera-server.so.6 PARSEC
/usr/lib/x86_64-linux-gnu/libtera-server.so.6.0.0 PARSEC

/lib/systemd/system/x11tera.service PARSEC
/lib/systemd/system/x11tera_controls.service PARSEC
/lib/systemd/system/x11tera_unlock.service PARSEC
/usr/bin/x11tera
/usr/bin/x11tera.sh PARSEC
/usr/lib/xorg/modules/drivers/libteradummy_drv.so PARSEC

/usr/bin/tera-vdagent
/usr/bin/tera-vdagent.sh
/usr/sbin/tera-vdagentd
/usr/lib/systemd/user/tera-vdagent.service PARSEC

/lib/systemd/system/tera-mounting-shdir-service.service PARSEC
/usr/bin/tera-mounting-shdir-service PARSEC
/usr/lib/systemd/user/tera-webdav-service.service PARSEC
/usr/bin/tera-webdav PARSEC
/usr/bin/tera-webdav-service-start PARSEC

/usr/bin/tera-audio-service PARSEC
/usr/bin/tera-audio-start PARSEC
/usr/lib/systemd/user/tera-audio.service PARSEC

/usr/bin/tera-record-service PARSEC
/usr/bin/tera-record-start PARSEC
/usr/lib/systemd/user/tera-record.service PARSEC

#Репозиторий Termidesk
/var/repos/ PARSEC

Для снятия эталонных значений контрольных сумм используется команда:

afick -i

Для проверки соответствия контрольных сумм эталонным значениям автоматически создаются задания в системном планировщике заданий cron.

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

afick -k
В случае отсутствия по какой-либо причине исполняемых фалов *.рус, они будут повторно сгенерированы при перезапуске сервера Python. В этом случае нужно повторно проинициализировать средство регламентного контроля целостности afick.

Обновление в ОС Astra Linux Special Edition

Обновление производится установкой новой версии пакета termidesk-tera (для ВМ) или termidesk-tera-x11 (для физической машины) поверх предыдущей.

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

Для обновления TERA в ОС Astra Linux Special Edition выполнить:

  • для ВМ:

sudo apt reinstall termidesk-tera
  • для физической машины:

sudo apt reinstall termidesk-tera-x11

Удаление в ОС Astra Linux Special Edition

Для удаления TERA из ОС Astra Linux Special Edition выполнить:

  • для ВМ:

sudo apt purge --autoremove termidesk-tera
  • для физической машины:

sudo apt purge --autoremove termidesk-tera-x11