Установка Мультибанка (Транзит 2.0) под Astra Linux

В данном разделе приведена инструкция по установке Мультибанка (Транзит 2.0) в ОС Astra Linux.

Системные требования

  1. ОС Astra Linux Special Edition (Исполнение 1.7)
  2. СУБД PostgreSQL 14+
  3. Интеграционный шлюз версии 107 и выше
  4. КриптоПро CSP 5.0 R3 (не ниже 5.0.12922 от 17.08.2023) при использовании серверного подписания
    • При планированиие выпуска ключей для модуля Сбербанк через Мультибанк обязательно наличие приложения cryptcp
  5. СКЗИ «Валидата CSP»

Архитектурные особенности

  • Терминал Транзита и Интеграционный шлюз устанавливаются на разных серверах
  • Сервера могут быть физическими или виртуальными (не динамические ресурсы RAM)
  • API Оркестратор может быть установлен на отдельном сервере

Первый сервер

Внимание! Для данного сервера обязательно наличие графического интерфейса.

1. Установка ПК “Валидата Клиент L” для Astra Linux Special Edition

СКЗИ Валидата требуется для работы с ГОСТ-криптографией при использовании Московской Биржи.

Установка пакета

Дистрибутив СКЗИ для Linux доступен по ссылке https://www.moex.com/s1292

Архив содержит два установочных deb-пакета. Необходимо установить пакет zpki (СКЗИ Валидата):

sudo dpkg -i zpki-*.deb

Настройка ПК “Валидата Клиент L”

После установки необходимо настроить считыватель ключей при помощи программы Программа конфигурации СКЗИ (Административная) и профиль в ПО Справочник сертификатов.


2. Установка СУБД PostgreSQL

Шаг 1. Подключение репозиториев и установка СУБД

Для подключения расширенного репозитория (repository-extended) с компонентом astra-ce и установки пакетов СУБД воспользуйтесь официальным руководством производителя: Справочный центр Astra Linux — Установка PostgreSQL.

Шаг 2. Создание пользователя и базы данных

По умолчанию после установки создается системный пользователь postgres. Переключимся под него, чтобы зайти в консоль СУБД и выполнить SQL-команды.

  1. Перейдите под пользователя postgres и запустите интерактивную консоль:
sudo su - postgres
psql

Приглашение командной строки изменится на postgres=#

  1. Создайте нового пользователя (замените my_user на ваше имя пользователя, а my_strong_password на надежный пароль в одинарных кавычках):
CREATE USER my_user WITH PASSWORD 'my_strong_password';
  1. Создайте новую базу данных и сразу назначьте созданного пользователя её владельцем (замените my_database на нужное имя базы):
CREATE DATABASE my_database OWNER my_user ENCODING 'UTF8' LC_COLLATE 'ru_RU.UTF-8' LC_CTYPE 'ru_RU.UTF-8';
  1. Выйдите из консоли СУБД:
\q
  1. Вернитесь из сессии пользователя postgres обратно к своей учетной записи:
exit

Шаг 3. Настройка удаленного доступа

Чтобы PostgreSQL принимал подключения не только локально, но и с любых внешних IP-адресов, необходимо отредактировать два конфигурационных файла под учетной записью суперпользователя (root).

1. Разрешаем прослушивание сетевых интерфейсов (postgresql.conf)

Откройте основной конфигурационный файл:

sudo nano /etc/postgresql/14/main/postgresql.conf

Найдите строку #listen_addresses = 'localhost' (примерно 60-я строка), раскомментируйте её (уберите символ #) и замените localhost на *:

listen_addresses = '*'

Сохраните изменения (Ctrl + O, Enter) и закройте редактор (Ctrl + X).

2. Разрешаем аутентификацию для нового пользователя (pg_hba.conf)

Откройте файл конфигурации клиентской аутентификации:

sudo nano /etc/postgresql/14/main/pg_hba.conf

Спуститесь в самый низ файла и добавьте строчку, которая разрешит созданному пользователю подключаться к конкретной базе данных со всех сетевых адресов:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    my_database     my_user         0.0.0.0/0               scram-sha-256

Где:

  • my_database — имя вашей базы данных
  • my_user — имя созданного пользователя, которому разрешен доступ
  • 0.0.0.0/0 — маска сети, означающая «любые IPv4-адреса»
  • scram-sha-256 — метод шифрования паролей (в PostgreSQL 14 используется по умолчанию)

Сохраните файл и закройте редактор.

Шаг 4. Перезапуск службы и проверка портов

  1. Чтобы применить внесенные изменения, перезапустите службу СУБД:
sudo systemctl restart postgresql
  1. Убедитесь, что служба работает без ошибок:
sudo systemctl status postgresql
  1. Проверьте, что PostgreSQL начал слушать порт 5432 на всех сетевых интерфейсах (в выводе команды должна присутствовать строка 0.0.0.0:5432 или *:5432):
ss -tlnp | grep 5432

Шаг 5. Настройка сетевого экрана

Если на сервере используется брандмауэр, то необходимо настроить его для возможности удаленного доступа к БД.


3. Установка ПО Интеграционный шлюз

Рекомендация по установке Seahorse

Интеграционный шлюз использует GNOME Keyring для сохранения паролей, используемых при работе. Для управления паролями рекомендуется установить графическую утилиту Seahorse:

sudo apt install seahorse

После установки:

  1. Запустить Seahorse из меню приложений («Пароли и ключи»)
  2. Снять пароль со связки ключей по умолчанию (правой кнопкой на «Вход» → «Изменить пароль» → оставить новый пароль пустым)

Установка

sudo dpkg -i igate_*.deb

В процессе установки выбрать Да для регистрации и запуска как сервиса.

Каталог установки

  • /opt/nsd/igate/igate — основная папка ИШ
  • /opt/nsd/igate/igate-svc — сервис ИШ
  • /opt/nsd/igate/igate-cli — консольная версия ИШ

Настройка службы для доступа к пользовательской сессии (для получения/изменения сохраненных паролей)

Файл /etc/systemd/system/igate.service:

[Unit]
Description=Интеграционный шлюз
After=network.target systemd-user-sessions.service
Wants=systemd-user-sessions.service

[Service]
ExecStart=/usr/bin/dbus-run-session -- /bin/bash -c 'eval $(gnome-keyring-daemon --start --components=secrets) && exec /usr/local/bin/igate-svc'

[Install]
WantedBy=multi-user.target

После изменения конфига:

sudo systemctl daemon-reload

Проверка установки

systemctl status igate
sudo systemctl start igate
journalctl -fu igate.service

Логи Интеграционного шлюза

/home/пользователь/.local/share/NSD Integration Gateway/logs
/home/пользователь/.local/share/NSD Integration Gateway/logs-svc
/home/пользователь/.local/share/NSD Integration Gateway/logs-cli

Второй сервер

Требования к лицензированию

При использовании серверного подписания либо планировании работы с модулем банка ВТБ необходимо:

  • Установить на сервере КриптоПро CSP
  • Приобрести «Лицензии на право использования ПО “КриптоПро .NET” версии 2.0 на одном сервере»

Приобретение дополнительной лицензии связано с использованием библиотеки LibCore — программного продукта, позволяющего использовать СКЗИ КриптоПро CSP при написании приложений для dotnet 6+.


1. Установка СУБД PostgreSQL

Выполняется аналогично шагу 2 для Первого сервера (см. выше).


2. Установка ПО Мультибанк

Пользователь и группа

Пользователь: nsdt — системный (useradd -r -s /bin/false), либо другой, выбранный при установке.

Группа: nsdt.

Как задаётся пользователь при установке (debconf-шаблон nsdt/user):

  • Интерактивно — выбор из двух вариантов: <Текущий пользователь> (по умолчанию, берётся logname) или nsdt.
  • Неинтерактивно — через preseed до установки: debconf-set-selections <<< "nsdt nsdt/user select <Текущий пользователь>". Если указать имя без <...>, оно используется напрямую.

Папки ПО

Путь Владелец Права
/opt/nsd root:root 0755
/etc/nsdt :nsdt 0700
/var/log/nsdt :nsdt 0700
/etc/aspnet/DataProtection-Keys root:root 0755
/etc/aspnet/DataProtection-Keys/nsdt :nsdt 0700
/opt/nsd/nsdt root:root —
/opt/nsd/nsdt/ClientConfig :nsdt 0700

Установка

sudo dpkg -i nsdt_*.deb
Выполнение команды установки

Проверка запуска

systemctl status nsdt
Выполнение команды systemctl status nsdt

Первоначальная настройка

  1. Открыть браузер на сервере

  2. Перейти по адресу http://localhost:8000

  3. Выполнить настройку на вкладках:

    • Сервер

      Настройки на вкладке Сервера
    • БД

      Настройки на вкладке БД
    • Транзит

      Настройки на вкладке Транзит
    • Завершение

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

      Вкладка Завершение

Вход в систему

После настройки откроется окно логина в Мультибанк (Транзит 2.0).

Окно логина в Мультибанк (Транзит 2.0)

После входа отобразится вкладка “Журнал”. Далее можно приступить к настройке Терминала. Настройка и работа ничем не отличается от текущей версии Мультибанка (Транзит 2.0).

Вкладка Журнал

3. Установка СКЗИ КриптоПро CSP (опционально)

Условия установки

  • Обязательно при использовании серверного подписания документов
  • Обязательно при использовании гост-криптографии для соединения с API банка
  • Версия: КриптоПро CSP 5.0 R3 (не ниже 5.0.12922 от 17.08.2023)

Скачивание

  1. Зарегистрироваться на сайте www.cryptopro.ru
  2. Загрузить архив КриптоПро CSP x.x для Linux (x64, deb) или КриптоПро CSP x.x для Astra Linux, ЗПС (x64)

Установка

tar -zxf linux-amd64_deb.tgz
cd linux-amd64_deb
sudo ./install_GUI.sh

Или установка без графического интерфейса:

sudo ./install.sh

Проверка установки

/opt/cprocsp/bin/amd64/cptools
/opt/cprocsp/bin/amd64/cpconfig -version

Установка плагина для браузера (при клиентском подписании)

При подписании документов банковскими ключами на рабочих местах пользователей установить:


4. Установка API Оркестратор

Примечание: Может быть установлен на отдельном сервере. При использовании гост-криптографии для соединения с API банка требуется установка КриптоПро CSP.

Пользователи и группа

Пользователи: по одному системному на каждый сервис — nsdt-gateway, nsdt-sberbank, nsdt-raiffeisenbank, nsdt-tbank, nsdt-nrbank, nsdt-psbbank, nsdt-vtbmsb (все /bin/false).

Группа: nsdt (общая).

Папки ПО

Для каждого сервиса <svc>:

Путь Владелец Права
/opt/nsd root:root 0755
/etc/aspnet/DataProtection-Keys root:nsdt 0755
/etc/nsdt-<svc> nsdt-:nsdt 0700
/var/log/nsdt-<svc> nsdt-:nsdt 0700
/etc/aspnet/DataProtection-Keys/nsdt-<svc> nsdt-:nsdt 0700
/opt/nsd/nsdt-<svc> root:root —

Системные требования

  1. ОС Astra Linux Special Edition (Исполнение 1.7)
  2. СУБД PostgreSQL (14+)

Установка

sudo dpkg -i nsdt-orchestrator_*.deb

Проверка службы

systemctl status nsdt-gateway
sudo systemctl start nsdt-gateway
journalctl -fu nsdt-gateway.service

Логи API Оркестратора

/var/log/nsdt-gateway
/var/log/nsdt-sberbank
/var/log/nsdt-raiffeisenbank
/var/log/nsdt-nrbank
/var/log/nsdt-tbank
/var/log/nsdt-psbbank
/var/log/nsdt-vtbmsb

Полезные команды

Системная информация

whoami                 # Текущий пользователь
pwd                    # Текущая директория
lsb_release -a         # Версия системы
cat /etc/astra_version # Версия Astra Linux
dpkg-query -l          # Список установленных пакетов

Управление службами

# Интеграционный шлюз
systemctl status igate
sudo systemctl stop igate
sudo systemctl start igate

# PostgreSQL
systemctl status postgresql
sudo systemctl stop postgresql
sudo systemctl start postgresql

# Терминал Транзита
systemctl status nsdt
sudo systemctl stop nsdt
sudo systemctl start nsdt

# API Оркестратор
systemctl status nsdt-gateway
sudo systemctl stop nsdt-gateway
sudo systemctl start nsdt-gateway

Диагностика

ss -tlnp | grep 5432                    # Проверка портов
journalctl -u nsdt.service -n 100 -e    # Просмотр логов службы
journalctl -fu nsdt.service             # Просмотр логов в реальном времени