В этой статье:
Шаг 1. Установка менеджера сессий
Шаг 2. Получение сертификатов безопасности
Шаг 3. Настройка конфигурации менеджера сессий
Шаг 4. Подключение менеджера сессий
Шаг 5. Запуск менеджера сессий
Менеджер сессий предназначен для управления активными сессиями пользователей и сохранения состояний объектов.
Менеджер сессий - это утилита sesman, позволяющая управлять активными сессиями пользователей с помощью утилиты sesman-cli и сохранять состояния объектов при сбое BI-сервера в кластере. Менеджер сессий является связующим элементом системы между BI-сервером и сервером состояний.
Примечание. Установка менеджера сессий доступна только в ОС Linux. Если BI-сервер установлен в ОС Windows, то функциональность управления активными сессиями пользователей и сохранения состояний объектов не будет поддерживаться.
Для получения подробной информации об использовании менеджера сессий обратитесь к разделу «Управление активными сессиями и сохранение состояний объектов».
При формировании контура промышленной эксплуатации для обеспечения отказоустойчивости менеджера сессий обратитесь к разделу «Создание кластера серверов управления сессиями».
Для установки менеджера сессий:
Скопируйте дистрибутив из комплекта поставки продукта в домашнюю директорию /home/<имя пользователя>:
foresight-fp10.x-sesman*.deb для Debian-подобных дистрибутивов;
foresight-fp10.x-sesman*.rpm для RedHat-подобных дистрибутивов и ALT Linux.
Установите скопированный дистрибутив менеджера сессий:
Astra Linux:
sudo dpkg -i foresight-fp10.x-sesman*.deb
Rocky Linux:
sudo yum localinstall foresight-fp10.x-sesman*.rpm
РЕД ОС:
sudo dnf install foresight-fp10.x-sesman*.rpm
ALT Linux:
sudo apt-get install -y foresight-fp10.x-sesman*.rpm
Примечание. Для установки дистрибутива может использоваться другая утилита.
После выполнения действий будут созданы:
/opt/foresight/fp10.x-sesman/bin. Основные файлы менеджера сессий: утилита sesman, консольное приложение sesman-cli;
/opt/foresight/fp10.x-sesman/etc. Конфигурационные файлы:
config.yaml для настройки конфигурации менеджера сессий;
environment для задания переменных окружения при настройке аутентификации на сервере состояний;
каталог ssl для хранения сертификатов безопасности, необходимых для работы менеджера сессий по протоколу mTLS;
/opt/foresight/fp10.x-sesman/lib. Библиотеки, необходимые для работы менеджера сессий;
/home/<имя пользователя>/sesman_socket. Файл для подключения консольного приложения sesman-cli к менеджеру сессий. Создаётся/удаляется автоматически при запуске/остановке службы sesman;
Важно. Изменение содержимого файла sesman_socket недопустимо. При создании кластера серверов управления сессиями доступно только изменение имени файла и пути его расположения с помощью параметра socketName в файле config.yaml.
/etc/systemd/system/sesman. Служба sesman для управления менеджером сессий. Служба запускается сразу после установки дистрибутива и работает в фоновом режиме.
Для работы со службой sesman и управления менеджером сессий выполните команду:
sudo systemctl start/restart/stop sesman
Менеджер сессий взаимодействует с BI-сервером по протоколу mTLS. Для обеспечения доверия между менеджером сессий (сервером) и BI-сервером (клиентом) используются сертификаты безопасности:
в менеджере сессий: корневой сертификат ca.crt, сертификат сервера server.crt, закрытый ключ сертификата сервера server.key;
на BI-сервере: корневой сертификат ca.crt, сертификат клиента fp-sesman-client.crt, закрытый ключ сертификата клиента fp-sesman-client.key.
Получите и разместите сертификаты безопасности в каталогах:
/opt/foresight/fp10.x-sesman/etc/ssl в менеджере сессий;
/opt/foresight/ssl на BI-сервере.
Примечание. Для формирования единого пространства доверия сертификат сервера и сертификат клиента должны быть подписаны общим корневым сертификатом.
Импортируйте корневой сертификат в хранилище доверенных корневых центров сертификации в менеджере сессий и на BI-сервере:
Debian-подобные дистрибутивы:
Создайте папку /usr/share/ca-certificates/sesman-certs и скопируйте в неё корневой сертификат безопасности:
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.
Откройте на редактирование файл /etc/ca-certificates.conf и добавьте строку в конец файла:
sudo echo "sesman-certs/sesman-ca.crt" >> /etc/ca-certificates.conf
Примените изменение конфигурации:
sudo update-ca-certificates -v
RedHat-подобные дистрибутивы и ALT Linux:
Скопируйте корневой сертификат безопасности в папку /etc/pki/ca-trust/source/anchors:
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:
Измените текущий каталог на каталог со скриптом:
cd /opt/foresight/fp10.x-sesman/etc/ssl
Раздайте права доступа на выполнение скрипта:
sudo chmod +x generate_certs.sh
Запустите скрипт:
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:
BI-сервер подключается к менеджеру сессий по указанному IP-адресу или DNS-имени сервера, на котором установлен менеджер сессий.
Менеджер сессий отправляет сертификат сервера server.crt BI-серверу.
BI-сервер проверяет полученный сертификат сервера с помощью корневого сертификата ca.crt. Если сертификат сервера подписан корневым сертификатом, действителен на момент его использования, IP-адрес или DNS-имя сервера совпадает с параметрами сертификата CN или SAN, то BI-сервер отправляет сертификат клиента fp-sesman-client.crt менеджеру сессий.
Менеджер сессий проверяет полученный сертификат клиента с помощью корневого сертификата ca.crt.
После успешной проверки сертификатов безопасности устанавливается защищённое соединение по протоколу mTLS.
В шаге 3 при настройке конфигурации менеджера сессий в файле config.yaml укажите пути до сертификатов безопасности в группе параметров ssl.
В шаге 4 при настройке BI-сервера в файле settings.xml или реестре укажите пути до сертификатов безопасности в подразделе SessionServer\Ssl.
Для настройки конфигурации менеджера сессий используйте файл 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
Для подключения менеджера сессий на BI-сервере сформируйте раздел System в файле settings.xml или реестре:
создайте подраздел Session и задайте параметр UseSessionServer со значением «1»;
создайте подраздел SessionServer, задайте обязательные параметры Host, Port и необязательный параметр CheckSessionAliveInterval при необходимости;
создайте подраздел SessionServer\State и задайте необязательные параметры SaveObjectState, ObjectStateSaveInterval при необходимости;
создайте подраздел SessionServer\Ssl и задайте обязательные параметры RootCertificateFile, ClientCertificateFile, ClientKeyFile.
Примечание. Убедитесь, что в качестве значений параметров заданы пути до сертификатов безопасности, полученных в шаге 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>
Для запуска менеджера сессий запустите или перезапустите службу sesman:
sudo systemctl start/restart sesman
При запуске менеджера сессий проверяется наличие валидного файла config.yaml:
если файл config.yaml содержится в папке /opt/foresight/fp10.x-sesman/etc и является валидным, то используются заданные значения параметров;
если файл config.yaml не содержится в папке /opt/foresight/fp10.x-sesman/etc или является невалидным, то используются значения параметров по умолчанию.
В процессе работы менеджера сессий выводится отладочная информация, если в config.yaml задан параметр level со значением «Info», «Warning» или «Error».
Для управления активными сессиями пользователей используйте утилиту 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
Для удаления файлов менеджера сессий выполните команду:
Astra Linux:
sudo apt-get purge foresight-fp10.x-sesman
РЕД ОС, Rocky Linux:
sudo yum purge foresight-fp10.x-sesman
ALT Linux:
sudo apt-get remove --purge foresight-fp10.x-sesman
После выполнения действия будет удалена папка /opt/foresight/fp10.x-sesman, файл /home/<имя пользователя>/sesman_socket и служба /etc/systemd/system/sesman.
См. также:
Управление активными сессиями и сохранение состояний объектов | Настройка конфигурации менеджера сессий