Вступление
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-запросов и результатов их выполнения
Для записи запросов и результатов их выполнения в журнал работы сервера необходимо:
Добавить в файл
- Linux:
/opt/wildfly/standalone/configuration/standalone.xml
- Windows:
C:\wildfly\standalone\configuration\standalone.xml
блок
<access-log pattern="%h %t "%r" %s "%{i,User--Agent}"" 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 "%r" %s "%{i,User--Agent}"" use-server-log="true"/> ... </host> </server> <servlet-container .../> ... </subsystem>
- Linux:
Перезапустить службу wildfly.
Для PCS и PCP
Вывод отладочной информации
Для включения вывода отладочной информации необходимо:
В БД PCS или БД PCP соответственно для нужного сервера, добавить/изменить запись в таблице pc_sys_property, установив следующие значения:
setting_name='DEBUG_INFO'
setting_value = '1'
Перезапустить службу 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 при их наличии.