Вступление

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

PC призван, в первую очередь, повысить уровень удобства подтверждения и информационной безопасности по сравнению с такими способами подтверждения как SMS, одноразовые пароли (One-Time Password), скретч-карты, MAC-токены и пр.

При помощи PC могут подтверждаться волеизъявления на совершение банковских транзакций, аутентификация, создание и исполнение документов, факты получения и/или ознакомления с определённой информацией.

Назначение

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

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

Сервер PC функционирует на базе сервера приложений Wildfly выполняющейся в среде Java 8/11 и состоит из следующих частей:

  • PC Server (PCS) – основной сервер PC. Располагается внутри локальной сети. Взаимодействует с прикладной системой. Хранит данные в БД PCS. Отправляет данные на PCP, получает данные с PCE.
  • PC Pusher (PCP) – сервер для отправки Push уведомлений о появлении неподтверждённой транзакции у пользователя (без содержания информации о транзакции). Как правило располагается в DMZ-зоне, имеющей доступ к сети Интернет. Требуется доступ к серверам Google и Apple. Может быть размещён в т.ч. на одном сервере с PCS или PCE (в зависимости от требований ИБ к ИТ инфраструктуре Банка и функциональных возможностей ИТ инфраструктуры Банка).
  • PC External (PCE). С этим сервером взаимодействуют приложения на мобильных устройствах для получения информации о данных платежа и отправки результатов подтверждения транзакций. Располагается в DMZ-зоне с доступом извне. Должен иметь внешний фиксированный IP-адрес. При необходимости использования TLS, должно быть присвоено доменное имя и выпущен сертификат внешним УЦ.

Перевод PC в промышленную эксплуатацию

При переводе комплекса PC в промышленную эксплуатацию необходимо:

  • Проверить, что сервер PCS External доступен из сети Интернет по протоколу HTTPS и только по нему;
  • Отключить Wildfly Welcome Page;
  • Настроить размер выделяемой Wildfly оперативной памяти;
  • Проверить, отключён ли вывод расширенного логирования;
  • Проверить, включена ли очистка данных транзакций.

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

Linux

Запуск:

systemctl start wildfly.service

Остановка:

systemctl stop wildfly.service

Перезапуск:

systemctl restart wildfly.service

Windows

Из графического интерфейса

Запуск, остановка и перезапуск службы осуществляется из консоли управления службами сервером (консоль services.msc).

С помощью командной строки

Запуск:

net start wildfly

Остановка:

net stop wildfly

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

Доступ к данным журнала

Журнал работы сервера PC записывается в общий журнал функционирования Wildfly. В общем случае записываются только ошибки PC, при их возникновении.

Файлы журналов за текущий день доступны по следующему пути:

  • Linux: /opt/wildfly/standalone/log/server.log
  • Windows: C:\wildfly\standalone\log\server.log

Для просмотра журнала за другие дни, нужно добавить к имени файла требуемую дату в формате server.log.YYYY-MM-DD

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

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

Вывод HTTP-запросов и результатов их выполнения

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

  1. Добавить в файл

    • Linux: /opt/wildfly/standalone/configuration/standalone.xml
    • Windows: C:\wildfly\standalone\configuration\standalone.xml

    блок

    <access-log pattern="%h %t &quot;%r&quot; %s &quot;%{i,User--Agent}&quot;" use-server-log="true"/>
    

    в раздел host default-server'а.

    Пример:

    <subsystem xmlns="urn:jboss:domain:undertow:3.0">
    
       ...
    
       <server name="default-server">
          ...
          <host name="default-host" alias="localhost">
             <location name="/" .../>
             <access-log pattern="%h %t &quot;%r&quot; %s &quot;%{i,User--Agent}&quot;" use-server-log="true"/>
             ...
          </host>
       </server>
    
       <servlet-container .../>
    
       ...
    
    </subsystem>
    
  2. Перезапустить службу wildfly.

Для PCS и PCP

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

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

  1. В БД PCS или БД PCP соответственно для нужного сервера, добавить/изменить запись в таблице 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';

PCE

Компонент может журналировать запросы, приходящие со стороны мобильных устройств.

Для включения журналирования необходимо в опции Java-машины добавить параметр pc_logRequests=yes следующим образом:

  • Linux в файл /opt/wildfly/bin/standalone.conf добавить

    JAVA_OPTS="$JAVA_OPTS -Dpc_logRequests=yes"
    
  • Windows в файл C:\wildfly\bin\standalone.conf.bat добавить

    set "JAVA_OPTS=%JAVA_OPTS% -Dpc_logRequests=yes"
    

PCSS

В файле конфигурации модуля (его местоположение можно уточнить в переменных окружения Java-машины, устанавливается в параметре serversigner_properties, подробнее по ссылке) необходимо установить значение true для параметра serversign.extendedLog

Пример:

## Logging (optional). Default value is `false`.
serversign.extendedLog=true

затем перезапустить службу Wildfly.

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

Адрес для отправки информации об устройстве и событиях взаимодействия мобильного приложения, или SDK, с сервером устанавливается путём выполнения запроса Change System Settings к API сервера PCS. Подробнее — в актуальной версии API сервера PC.

Перезапуск WildFly не требуется.

Отключение записи информации о событиях

Для полного отключения событий в БД PCS необходимо установить значение 0 для параметра COLLECT_EVENTS. Также можно принудительно отключить запись информации о мобильном устройстве путём установки значения 0 для параметра COLLECT_DEVICE_INFORMATION. Подробнее в статье Сервер PayControl.

Изменение адресов компонентов сервера PC

Описание процесса смены адресов сервера описаны в руководстве по инсталляции.

Изменение параметров подключения к БД

Изменение параметров подключения к БД осуществляется в файле %WF_PATH%/standalone/configuration/standalone.xml, в блоке <datasources>. Адрес для подключения к СУБД устанавливается в <connection-url> и в <connection-property name="url">. Имя пользователя (схема) и пароль в <user-name> и <password> соответственно.

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

Если установка лицензионного файла не проводилась на сервер, то он работает в демонстрационном режиме, ограничивающем возможность заведения более 20 пользователей PC. Также при включённом выводе информационных данных работы PC, в журнал выводятся сообщения сообщения вида:

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

Загрузка через АРМ РКС

С версии АРМ РКС 5.1.42.

На вкладке Система (System Info) с помощью кнопки Загрузить файл лицензии (Upload license file).

Путём копирования лицензионного файла на сервер

Файл лицензии необходимо скопировать на сервер PCS в одну из папок:

  • /opt/wildfly/
  • /opt/pc/
  • C:\wildfly\
  • C:\pc\
  • По пути, заданному в параметре LICENSE_FILE_LOCATION (БД PCS, таблица pc_sys_property).

Через запрос по API сервера Change System Settings

Можно добавить лицензию посредством изменения параметров системы, описанных в актуальной версии API сервера PC.

Контроль

Администратору PC необходимо в плановом режиме выполнять проверку:

  • Достаточности свободного места на серверах PC;
  • Достаточности свободного места, выделенного дискового пространства базам данных PC (БД PCS).

Плановые работы

Плановыми работами по обслуживанию является:

  • Замена сертификата для обеспечения HTTPS защиты сервера PCE;
  • Замена сертификатов для обеспечения HTTPS защиты на серверах PCS и PCP при их наличии.