Перейти к содержанию

Руководство администратора PayControl v3

Материал из PayControl Wiki

Назначение документа

Настоящее руководство предназначено для администраторов, выполняющих задачи по обслуживанию серверов PayControl: запуск и остановку служб, журналирование, установку лицензии, обновление и регламентные работы.

О продукте

PayControl — программный комплекс для подтверждения пользователем операций в системах дистанционного банковского обслуживания и электронного документооборота. По сравнению с SMS, одноразовыми паролями (OTP), скретч-картами и MAC-токенами PayControl обеспечивает более высокий уровень удобства и информационной безопасности.

Общее описание

Сервер PayControl работает на базе сервера приложений Wildfly в среде Java 11 и состоит из трёх компонентов:

Компонент Назначение Расположение и требования
PayControl Server (PCS) Основной сервер. Взаимодействует с прикладной системой, хранит данные в БД PCS. Отправляет данные на PCIS Internal, получает данные с PCIS External. Локальная сеть.
PCIS Internal (PayControl Interaction Server Internal) Отправляет Push-уведомления о появлении неподтверждённой транзакции (без сведений о самой транзакции). Как правило, DMZ-зона, с доступом в Интернет - требуется доступ к серверам Google и Apple. Может размещаться на одном сервере с PCS или PCIS External - в зависимости от требований ИБ и возможностей ИТ-инфраструктуры банка.
PCIS External (PayControl Interaction Server External) Взаимодействует с мобильными приложениями: передаёт данные платежа, принимает результаты подтверждения транзакций. DMZ-зона с доступом извне; внешний фиксированный IP-адрес. Для TLS - доменное имя и сертификат внешнего УЦ.

Запуск и остановка служб сервера PayControl

Linux

systemctl start wildfly.service     # запуск
systemctl stop wildfly.service      # остановка
systemctl restart wildfly.service   # перезапуск

Windows

Через консоль управления службами (services.msc) либо из командной строки:

net start wildfly
net stop wildfly

Журналирование

Расположение журналов

События работы сервера PayControl записываются в общий журнал Wildfly. По умолчанию фиксируются только ошибки PayControl.

ОС Путь к журналу за текущий день
Linux /opt/wildfly/standalone/log/server.log
Windows C:\wildfly\standalone\log\server.log

Журналы за прошлые дни имеют суффикс с датой: server.log.YYYY-MM-DD.

Включение вывода информационных данных работы PayControl

В некоторых случаях может потребоваться вывод отладочной информации PayControl. Порядок её включения описан ниже для разных компонентов сервера PayСоntrol.

Для PCS и PCIS Internal

Вывод отладочной информации

Для включения вывода отладочной информации необходимо:

  1. В БД PCS или БД PCIS соответственно для нужного сервера, добавить/изменить запись в таблице pc_sys_property, установив следующие значения:
    • setting_name='DEBUG_INFO'
    • setting_value = '1'
  2. Перезапустить службу wildfly.


Примеры SQL запросов добавления записи для разных СУБД:

СУБД Запрос
PostgreSQL insert into pc_sys_property values (nextval('pc_setting_seq'), 'DEBUG_INFO', '1');
Oracle insert into pc_sys_property values (PC_SETTING_SEQ.NEXTVAL, 'DEBUG_INFO', '1');
MS SQL insert into pc_sys_property values (NEXT VALUE FOR PC_SETTING_SEQ, 'DEBUG_INFO', '1');
Изменение записи

Пример SQL запроса для изменения записи (для всех перечисленных СУБД):

update pc_sys_property set setting_value = '1' where setting_name='DEBUG_INFO';

Вывод содержимого SOAP-запросов и ответов

В работе
В работе
Предупреждение! Опция не работает в Wildfly версии 13.0.0-Final.

Для включения вывода содержимого SOAP-запросов и ответов службой wildfly необходимо:

  1. Добавить после блока <extensions> ... </extensions> в файл
    • Linux: /opt/wildfly/standalone/configuration/standalone.xml
    • Windows: C:\wildfly\standalone\configuration\standalone.xml
    следующий блок:
        <system-properties>
            <property name="org.apache.cxf.logging.enabled" value="pretty"/>
        </system-properties>
    
  2. Перезапустить службу wildfly.

PCIS External (с версии 3.6)

Начиная с версии 3.6 PCIS External может журналировать запросы к /jsonrequest_v2.

Для включения добавьте в опции Java-машины параметр paycontrol.logRequests=yes:

  • Linux — в файл /opt/wildfly/bin/standalone.conf:
    JAVA_OPTS="$JAVA_OPTS -Dpaycontrol.logRequests=yes"
    
  • Windows — в файл C:\wildfly\bin\standalone.conf.bat:
    set "JAVA_OPTS=%JAVA_OPTS% -Dpaycontrol.logRequests=yes"
    

Затем перезапустите службу wildfly.

Отправка информации о событиях

Адрес для отправки информации об устройстве и о событиях взаимодействия мобильного приложения (SDK) с сервером PayControl задаётся в БД PCS: таблица pc_system, поле events_post_url.

update pc_system set events_post_url = 'http://example.com/pc_events_reciever' where systemid = 'ИДЕНТИФИКАТОР СИСТЕМЫ';

После изменения перезапустите WildFly PCS.

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


Установка лицензии

Без лицензионного файла сервер работает в демонстрационном режиме: можно завести не более 20 активных пользователей PayControl.

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

2018-12-07 11:51:07,295 INFO  [ru.safetech.ws.PayControl.services.utils.licenseManager.LicenseManager] (default task-2)    --- no license found in database
2018-12-07 11:51:07,295 INFO  [ru.safetech.ws.PayControl.services.impl.PayControlServiceV3Impl] (default task-2)    --- Error load License, cheking if free users count exceeded
2018-12-07 11:51:07,295 INFO  [ru.safetech.ws.PayControl.services.impl.PayControlServiceV3Impl] (default task-2)    --- ATTENTION! LICENSE NOT FOUND! You are using unlicensed demo-only version of the service

Запросом к БД

Поместите содержимое файла лицензии в SQL-запрос к БД PCS, указав идентификатор системы:

  • до версии 3.5 включительно:
    update pc_system set license = 'СОДЕРЖИМОЕ ФАЙЛА ЛИЦЕНЗИИ' where systemid = 'ИДЕНТИФИКАТОР СИСТЕМЫ';
    
  • с версии 3.6:
    update pc_system_params set license = 'СОДЕРЖИМОЕ ФАЙЛА ЛИЦЕНЗИИ' where systemid = 'ИДЕНТИФИКАТОР СИСТЕМЫ';
    

Добавлением файла лицензии

Скопируйте файл лицензии на сервер PCS:

  • Linux — в /opt/wildfly/;
  • Windows — в C:\wildfly\ или C:\PayControl\.

Процесс обновления в рамках одной версии

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

Модуль Пример имени файла
PC Server PayControl-services-module-3.9.452.ear
PC Pusher pc-pusher-5.5.348.war
PC External PayControl-interaction-rest-3.9.452.war

Порядок действий:

  1. Сохраните файлы модулей текущей версии — они понадобятся для отката.
  2. Замените файлы модулей в директории deployments на новые.
  3. Дождитесь развёртывания. В директории появятся файлы-маркеры:
    • *.undeployed — для убранных модулей; такие файлы рекомендуется удалить;
    • *.deployed — для успешно развёрнутых новых модулей.
  4. Если появились файлы *.failedперезапустите Wildfly.

Регламентное обслуживание

Администратору PayControl необходимо в плановом режиме:

  • контролировать достаточность свободного места на серверах PayControl;
  • контролировать достаточность дискового пространства, выделенного базам данных (БД PCS и БД PCIS);
  • своевременно заменять сертификат HTTPS сервера PCIS External;
  • своевременно заменять сертификаты HTTPS серверов PCS и PCIS Internal (при их наличии).