chore(deploy): обновление ИШ v107, keymedia, экспортёр QUIK, fail2ban для bj

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zuevav
2026-09-15 19:41:11 +03:00
parent 86aa452ed6
commit 59fc774f08
11 changed files with 848 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
-- configure-ish-v107.sql — параметры канала WSL для ИШ версии 107 (TEST3 GOST).
-- Применять ПОСЛЕ обновления ИШ до 107 (миграция для TEST3 их НЕ переносит —
-- см. obnovlenie107.pdf, «Для тестового контура TEST3 миграция параметров канала
-- WSL не предусмотрена»).
--
-- Что делает:
-- 1. wslEndpoint → КОРОТКИЙ базовый URL (v107 сам добавляет /api/v1/api-key/make;
-- старый v100-путь .../OnyxEdoWSService/OnyxEdo ломает JWT api-key).
-- 2. Новые TLS-параметры канала: отпечаток УЦ (TEST3 GOST!), DN, длина цепочки.
-- 3. Флаг M2M (ускорение переводов по Указанию ЦБ 7317-У).
-- 4. Очищает нерасшифровываемые v100-пароли Web API (при auth off + http).
--
-- Использование:
-- sudo -u postgres psql -d igate -v chan_id=33 -f configure-ish-v107.sql
-- где chan_id — id строки канала в таблице channels (обычно 33; проверить:
-- sudo -u postgres psql -d igate -c "select id,code from channels").
--
-- ⚠️ Значения ниже — для контура TEST3 GOST. Для других контуров/крипты возьмите
-- URL и отпечаток из таблиц «Адреса контуров» и «Отпечатки сертификатов»
-- obnovlenie107.pdf. НЕ перепутать GOST и RSA (у нас канал GOST).
\set chan :chan_id
BEGIN;
-- 1. Короткий базовый URL канала (v107). TEST3 GOST.
UPDATE parameters SET value = 'https://gost-t3.nsd.ru/onyx-ms'
WHERE name = 'wslEndpoint' AND chanel_id = :chan;
-- 2. Новые TLS-параметры канала v107 (INSERT если нет, UPDATE если есть).
-- Отпечаток УЦ МБ — TEST3 GOST (НЕ RSA!):
-- EB:C2:D6:CA:73:AC:22:69:44:09:07:ED:6A:58:2C:4E:55:29:5D:00:F8:0F:1D:1E:70:A0:85:25:32:0D:DC:BF
INSERT INTO parameters(name, value, chanel_id) VALUES
('wslTlsCACertFingerprint',
'EB:C2:D6:CA:73:AC:22:69:44:09:07:ED:6A:58:2C:4E:55:29:5D:00:F8:0F:1D:1E:70:A0:85:25:32:0D:DC:BF',
:chan),
('wslTlsCertDN', '*.nsd.ru', :chan),
('wslTlsCertChainLen', '2', :chan),
('isM2M', 'True', :chan)
ON CONFLICT (name, chanel_id) DO UPDATE SET value = EXCLUDED.value;
-- 2b. Флаги ускорения M2M (Указание ЦБ 7317-У, соблюдение регламентных сроков):
-- интервал выгрузки сообщений 10 с (было 1 мин) и игнорирование вложенности
-- папок при обработке входящих. См. презентацию НРД «новые версии ИШ».
-- «Время ожидания перед отправкой» = monitoringThreshold (как долго ИШ ждёт
-- добавления файлов в папку перед отправкой, HH:MM:SS, мин 00:00:01) →
-- ставим минимум для быстрого M2M. «Интервал выгрузки сообщений» =
-- fetchInterval (обращение к ONYX) → 00:00:10.
-- Флаг «Автоотправка уведомлений о приёме транзитного сообщения» к нашему
-- каналу НЕ применяется (канал не транзитный, isTransitTerminalChannel=False).
UPDATE parameters SET value='00:00:10' WHERE name='fetchInterval' AND chanel_id=:chan;
UPDATE parameters SET value='00:00:01' WHERE name='monitoringThreshold' AND chanel_id=:chan;
UPDATE parameters SET value='True' WHERE name='ignorePackageDirectoryStructure' AND chanel_id=:chan;
UPDATE parameters SET value='ERRORS' WHERE name='errorDirName' AND chanel_id=:chan;
-- 3. Очистка v100-зашифрованных паролей Web API, которые v107 не расшифровывает.
-- Безопасно при server.authentication.enable=False и server.scheme=Http
-- (проверьте эти значения перед применением).
UPDATE parameters SET value = ''
WHERE name IN ('server.authentication.password', 'server.certificate.file.password');
COMMIT;
-- Контроль: показать итоговые значения.
\echo '--- итоговые параметры канала v107 ---'
SELECT name, value FROM parameters
WHERE (name LIKE 'wsl%' OR name IN ('isM2M','fetchInterval','ignorePackageDirectoryStructure'))
AND chanel_id = :chan
ORDER BY name;