В этой статье:

Шаг 1. Установка менеджера сессий

Шаг 2. Получение сертификатов безопасности

Шаг 3. Настройка конфигурации менеджера сессий

Шаг 4. Подключение менеджера сессий

Шаг 5. Запуск менеджера сессий

Шаг 6. Управление активными сессиями пользователей

Удаление менеджера сессий

Менеджер сессий

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

Менеджер сессий - это утилита sesman, позволяющая управлять активными сессиями пользователей с помощью утилиты sesman-cli и сохранять состояния объектов при сбое BI-сервера в кластере. Менеджер сессий является связующим элементом системы между BI-сервером и сервером состояний.

Примечание. Установка менеджера сессий доступна только в ОС Linux. Если BI-сервер установлен в ОС Windows, то функциональность управления активными сессиями пользователей и сохранения состояний объектов не будет поддерживаться.

Для получения подробной информации об использовании менеджера сессий обратитесь к разделу «Управление активными сессиями и сохранение состояний объектов».

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

Шаг 1. Установка менеджера сессий

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

  1. Скопируйте дистрибутив из комплекта поставки продукта в домашнюю директорию /home/<имя пользователя>:

  1. Установите скопированный дистрибутив менеджера сессий:

sudo dpkg -i foresight-fp10.x-sesman*.deb

sudo yum localinstall foresight-fp10.x-sesman*.rpm

sudo dnf install foresight-fp10.x-sesman*.rpm

sudo apt-get install -y foresight-fp10.x-sesman*.rpm

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

После выполнения действий будут созданы:

Важно. Изменение содержимого файла sesman_socket недопустимо. При создании кластера серверов управления сессиями доступно только изменение имени файла и пути его расположения с помощью параметра socketName в файле config.yaml.

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

sudo systemctl start/restart/stop sesman

Шаг 2. Получение сертификатов безопасности

Менеджер сессий взаимодействует с BI-сервером по протоколу mTLS. Для обеспечения доверия между менеджером сессий (сервером) и BI-сервером (клиентом) используются сертификаты безопасности:

Получите и разместите сертификаты безопасности в каталогах:

Примечание. Для формирования единого пространства доверия сертификат сервера и сертификат клиента должны быть подписаны общим корневым сертификатом.

Импортируйте корневой сертификат в хранилище доверенных корневых центров сертификации в менеджере сессий и на BI-сервере:

sudo mkdir /usr/share/ca-certificates/sesman-certs
sudo cp /opt/foresight/fp10.x-sesman/etc/ssl/ca.crt /usr/share/ca-certificates/sesman-certs/sesman-ca.crt

После выполнения действий будет создана папка /usr/share/ca-certificates/sesman-certs с корневым сертификатом sesman-ca.crt.

sudo echo "sesman-certs/sesman-ca.crt" >> /etc/ca-certificates.conf

sudo update-ca-certificates -v

sudo cp /opt/foresight/fp10.x-sesman/etc/ssl/ca.crt /etc/pki/ca-trust/source/anchors/sesman-ca.crt

После выполнения действия в папке /etc/pki/ca-trust/source/anchors будет содержаться корневой сертификат sesman-ca.crt.

sudo update-ca-trust

Другие варианты установки и импорта сертификата на различных операционных системах и браузерах приведены на портале государственных услуг.

При необходимости для менеджера сессий сгенерируйте самоподписанные сертификаты с помощью скрипта generate_certs.sh, расположенного в папке /opt/foresight/fp10.x-sesman/etc/ssl:

  1. Измените текущий каталог на каталог со скриптом:

cd /opt/foresight/fp10.x-sesman/etc/ssl

  1. Раздайте права доступа на выполнение скрипта:

sudo chmod +x generate_certs.sh

  1. Запустите скрипт:

sudo ./generate_certs.sh

После выполнения действий будут сгенерированы самоподписанные сертификаты безопасности в папке /opt/foresight/fp10.x-sesman/etc/ssl: корневой сертификат ca.crt, сертификат сервера server.crt, закрытый ключ сертификата сервера server.key.

Примечание. Генерация самоподписанных сертификатов безопасности с помощью скрипта generate_certs.sh доступна при использовании ОС Astra Linux SE 1.8 и OpenSSL 3.4.

Алгоритм соединения BI-сервера с менеджером сессий по протоколу mTLS:

  1. BI-сервер подключается к менеджеру сессий по указанному IP-адресу или DNS-имени сервера, на котором установлен менеджер сессий.

  2. Менеджер сессий отправляет сертификат сервера server.crt BI-серверу.

  3. BI-сервер проверяет полученный сертификат сервера с помощью корневого сертификата ca.crt. Если сертификат сервера подписан корневым сертификатом, действителен на момент его использования, IP-адрес или DNS-имя сервера совпадает с параметрами сертификата CN или SAN, то BI-сервер отправляет сертификат клиента fp-sesman-client.crt менеджеру сессий.

  4. Менеджер сессий проверяет полученный сертификат клиента с помощью корневого сертификата ca.crt.

После успешной проверки сертификатов безопасности устанавливается защищённое соединение по протоколу mTLS.

В шаге 3 при настройке конфигурации менеджера сессий в файле config.yaml укажите пути до сертификатов безопасности в группе параметров ssl.

В шаге 4 при настройке BI-сервера в файле settings.xml или реестре укажите пути до сертификатов безопасности в подразделе SessionServer\Ssl.

Шаг 3. Настройка конфигурации менеджера сессий

Для настройки конфигурации менеджера сессий используйте файл config.yaml, расположенный в папке /opt/foresight/fp10.x-sesman/etc.

Содержимое файла config.yaml по умолчанию:

hostname: 0.0.0.0
port: 11000
log:
  level: Info
db:
  type: InMemory
  hostname: localhost
  port: 6379
  keyTimeout: 3600
ssl:
  rootCertificateFile: /opt/foresight/fp10.x-sesman/etc/ssl/ca.crt
  serverCertificateFile: /opt/foresight/fp10.x-sesman/etc/ssl/server.crt
  serverKeyFile: /opt/foresight/fp10.x-sesman/etc/ssl/server.key

Файл config.yaml содержит минимально необходимые настройки для работы менеджера сессий. При необходимости для расширения функциональности менеджера сессий измените настройки по умолчанию и задайте дополнительные параметры. Для получения подробной информации обратитесь к разделу «Настройка конфигурации менеджера сессий».

Примечание. Убедитесь, что в группе параметров ssl заданы пути до сертификатов безопасности, полученных в шаге 2.

Для применения изменения конфигурации менеджера сессий в файле config.yaml перезапустите службу sesman:

sudo systemctl restart sesman

Шаг 4. Подключение менеджера сессий

Для подключения менеджера сессий на BI-сервере сформируйте раздел System в файле settings.xml или реестре:

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

Пример раздела System в settings.xml:

<Key Name="System">
  <Session UseSessionServer="1" />
  <SessionServer Host="sesman-server" Port="11000" CheckSessionAliveInterval="10">
    <State SaveObjectState="1" ObjectStateSaveInterval="30"></State>
    <Ssl RootCertificateFile="/opt/foresight/ssl/ca.crt" ClientCertificateFile="/opt/foresight/ssl/fp-sesman-client.crt" ClientKeyFile="/opt/foresight/ssl/fp-sesman-client.key"></Ssl>
  </SessionServer>
</Key>

Шаг 5. Запуск менеджера сессий

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

sudo systemctl start/restart sesman

При запуске менеджера сессий проверяется наличие валидного файла config.yaml:

В процессе работы менеджера сессий выводится отладочная информация, если в config.yaml задан параметр level со значением «Info», «Warning» или «Error».

Шаг 6. Управление активными сессиями пользователей

Для управления активными сессиями пользователей используйте утилиту sesman-cli.

Примеры команд:

./sesman-cli -s /home/<имя пользователя>/sesman_socket -c /getallsessions

./sesman-cli -s /home/<имя пользователя>/sesman_socket -c /getsessioninfo AELCHFCGPIHIGOAEJHPFKNEEBKIDAEPJCJJCLHHAIOGGIKEO

./sesman-cli -s /home/<имя пользователя>/sesman_socket -c /closesession AELCHFCGPIHIGOAEJHPFKNEEBKIDAEPJCJJCLHHAIOGGIKEO

Удаление менеджера сессий

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

sudo apt-get purge foresight-fp10.x-sesman

sudo yum purge foresight-fp10.x-sesman

sudo apt-get remove --purge foresight-fp10.x-sesman

После выполнения действия будет удалена папка /opt/foresight/fp10.x-sesman, файл /home/<имя пользователя>/sesman_socket и служба /etc/systemd/system/sesman.

См. также:

Управление активными сессиями и сохранение состояний объектов | Настройка конфигурации менеджера сессий