Центр удаленного доступа- Работа  (раздел целиком)  (26.07.2026)
Работа

После установки всех настроек появится запрос на сохранение конфигурации:

Сохранить?

Подтвердите сохранение.

Для запуска сервера нажмите

Запуск

В процессе запуска необходимо зарегистрировать службу Windows, а также может потребоваться внести изменения в сетевые настройки компьютера, чтобы зарегистрировать правило, разрешающее сеFirewall. Перед изменением сетевых настроек конфигуратором будет задан вопрос:

Изменения в сетевые настройки

Отвечайте "Да" при работе в локальном сеансе на выделенном web-сервере. При установке сервиса через терминальный доступ, а также в случае, если на сервере установлено другое работающее в данный момент серверное программное обеспечение (особенно серверы управления базами данных с подключенными к ним пользователями), отвечайте "Нет". В этом случае вам потребуется настроить Firewall (если он используется) вручную. Об успешной установке службы Windows сигнализирует сообщение:

Сервис успешно установлен

После завершения работы инсталлятора необходимо убедиться в наличии службы Windows, а также в том, что она находится в состоянии "Запущен". Для этого в апплете "Службы" (Start --> Control Panel --> Administrative Tools --> Services) найдите службу с именем "DataMill Application Server":

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

В этом окне с помощью контекстного меню Вы сможете в дальнейшем управлять состоянием службы - останавливать и запускать ее, когда это будет необходимо.

Серверное приложение будет зарегистрировано в качестве службы операционной системы и сервер будет запущен:

Сервис успешно установлен

Главное окно изменит вид:

ГО работа

Кнопка

Останов

Служит для остановки сервиса.

Нажатие ссылки " Активные сессии " открывает список активных в настоящий момент сессий с указанием IP-адреса клиента, имени подключенного пользователя, временем до окончания сессии.

Активные сессии

Для того чтобы новый удаленный клиент мог подключиться к работе, он должен в адресной строке своего браузера набрать адрес сервера (или ip-адрес).

Откроется окно со списком сгенерированных клиентских агетов:

Логин


1. Использование отладочного монитора

Для устранения проблем и локализации ошибок применяется отладочный монитор из состава поставки сервиса:

Отладочный монитор

Отладочный монитор в реальном времени отображает все http и sql-запросы, приходящие через сервис.

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

Дополнительно, воспользовавшись действием "Удаленный сервер", можно настроить:

  • пересылку всех получаемых сообщений на удаленный syslog сервер - группа параметров "Параметры подключения к серверу"
  • прием отладочных сообщений по syslog протоколу (в данном случае Отладочный монитор будет выступать syslog сервером) - группа параметров "Параметры локального сервера"

2. Объекты схемы, используемые механизмами сервиса
Внутренние механизмы сервиса используют следующие объекты схемы:
  1. Представление V_DMSDOMAINS. Требуется наличие полей :
    • NCRN NUMBER
    • NRN NUMBER
    • SCODE VARCHAR2
    • STYPICAL_NAME VARCHAR2
    • NDATA_TYPE NUMBER
    • SDATATYPE_ORA VARCHAR2
    • SDATATYPE_TEXT VARCHAR2
    • NDATA_SUBTYPE NUMBER
    • SDATATYPE_SUBTEXT VARCHAR2
    • NDATA_LENGTH NUMBER
    • NDATA_PRECISION NUMBER
    • NDATA_SCALE NUMBER
    • NMANDATORY NUMBER
    • SDEFAULT_STR VARCHAR2
    • NDEFAULT_NUM NUMBER
    • DDEFAULT_DATE DATE
    • SDEFAULT_VALUE VARCHAR2
    • NENUMERATED NUMBER
    • NREADONLY NUMBER
    • NPADDING NUMBER
    • NRES_ID NUMBER
    • SRES_TEXT VARCHAR2
    • SPRODUCER VARCHAR2
  2. Процедура P_DMSDOMAINS_CONDTYPE с параметрами
    • NFLAG_SMART NUMBER IN
    • NCOMPANY NUMBER IN
    • SDOMAIN VARCHAR2 IN
    • NTYPE NUMBER OUT
    • NENUMERATED NUMBER OUT
  3. Подпрограммы пакета PKG_SESSION :
    1. Процедура LOGON с параметрами
      • SAPPLICATION VARCHAR2 IN
      • SCOMPANY VARCHAR2 IN
      • SCHECK_SUM VARCHAR2 IN
    2. Процедура LOGON_WIN с параметрами
      • SIMPLEMENTATION VARCHAR2 IN
      • SCOMPANY VARCHAR2 IN
    3. Процедура LOGOFF без параметров
    4. Функция GET_LICENSE_ID или GET_LICENSE без параметров, в зависимости от релиза ПП Парус 8 (решение об использовании функции принимается адаптивно)
  4. Таблица LOGONOFF с полями
    • RN NUMBER
    • CONNECT_TYPE NUMBER
    • CONNECT_EXT VARCHAR2
    • CONNECT_STATE NUMBER
    • DATE_LOGON DATE
    • DATE_LAST DATE
    • DATE_LOGOFF DATE
    • AUTHID VARCHAR2
    • PROGRAM VARCHAR2
    • COMPANY NUMBER
    • IP_ADDRESS VARCHAR2
    • LICENSE_ID NUMBER
    Остальные поля таблицы должны иметь значения по умолчанию, либо допускать сохранение пустого значения.
  5. Таблица USERLIST с полями
    • AUTHID VARCHAR2
    • CLIENT_WEB NUMBER
    • PASSWORD_WEB VARCHAR2
  6. Таблица USERPRIV с полями
    • AUTHID VARCHAR2
    • ROLEID NUMBER
    • COMPANY NUMBER
    • UNITCODE VARCHAR2
  7. Таблица USERROLES с полями
    • AUTHID VARCHAR2
    • ROLEID NUMBER

Поддержка перечисленных объектов является необходимым условием совместимости Сервиса с тем или иным релизом, редакцией или комплектацией ПП Парус 8.


3. Использование различных методов подключения сервера к сети

3.1. Использование NAT

Механизм NAT описан в rfc1631 и в rfc3022 .

Работа через NAT полностью поддерживается, и не должна вызывать каких-либо затруднений. Рассмотрим пример.
NAT

Допустим, на сервере, обозначенном как "наш сервер", установлен наш сервис. "Наш сервер" слушает IP-адрес внутренней сети 192.168.4.110, порт 8090. В таком случае он доступен пользователям во внутренней сети через url http://192.168.4.110:8090. NAT-сервер, имеющий внешний IP 212.158.161.21, устанавливает соответствие своего порта 8099 и порта 8090 локального хоста 192.168.4.110. На рисунке показано это правило для одного из "бытовых" роутеров (нас интересует последнее правило в списке):
NAT на роутере
Благодаря этому, сервис доступен "снаружи" через url http://212.158.161.21:8099.

При настройке удаленного доступа приложений Win32 к этому серверу, вам необходимо указать в поле " Хост сервера " строку " 212.158.161.21:8099 " (без кавычек), поле "Путь серверного proxy" оставить пустым. Во всех случаях номера стандартных портов можно не указывать, а IP-адреса заменить соответствующими им доменными именами.

При использовании механизма "Restricted NAT", "Наш сервер" будет лишен возможности получить реальные IP-адреса удаленных пользователей, все запросы он будет видеть приходящими с одного и того же адреса. Если вы используете Restricted NAT, то вы

  • лишаетесь возможности протоколировать IP-адреса
  • в поле "Способ идентификации сессии" на странице " Параметры сетевых настроек " не сможете использовать способы, опирающиеся на IP-адрес (фактически, вам доступен только способ "Использовать идентификатор"). Это приведет к невозможности работы с сервисом пользователей, не имеющих соединения с постоянным IP-адресом.

3.2. Использование серверного proxy

Допустим, мы имеем следующую схему подключения:
Proxy

Допустим, на сервере, обозначенном как "наш сервер", установлен наш сервис. "Наш сервер" слушает IP-адрес внутренней сети 192.168.4.110, порт 8090. В таком случае он доступен пользователям во внутренней сети через url http://192.168.4.110:8090. На сервере, обозначенном как "Proxy-сервер", установлен web-сервер apache, конфигурационный файл которого содержит, помимо прочего, следующие строки:

01Listen 8099
02  ...
03  LoadModule proxy_module modules/mod_proxy.so
04  ...
05  ProxyPass /mysite/mysite1/mysite2/ http://192.168.4.110:8090/
06  ...
07  <Proxy /mysite/mysite1/mysite2/*>
08    Order allow,deny
09    Allow from all
10    ...
11  </Proxy>
12  ....
Proxy-сервер имеет внешний IP 212.158.161.21. То есть, все обращения, поступающие на proxy-сервер на url вида http://212.158.161.21:8099/mysite/mysite1/mysite2/.... будут перенаправлены им на наш сервер, а ответ нашего сервера будет возвращен удаленному клиенту (в этом смысл работы механизма proxy). Благодаря этому, сервис доступен "снаружи" через url http://212.158.161.21:8099/mysite/mysite1/mysite2/parusproxyjs/index.html (вам придется указывать полный путь именно в таком виде, иначе мы не сможем разрешить относительные ссылки на страницах).

При настройке удаленного доступа приложений Win32 к этому серверу, вам необходимо указать в поле " Хост сервера " строку " 212.158.161.21:8099 " (без кавычек), в поле " Путь серверного proxy " указать строку " /mysite/mysite1/mysite2 " (без кавычек). Во всех случаях номера стандартных портов можно не указывать, а IP-адреса заменить соответствующими им доменными именами.

При использовании серверного proxy "Наш сервер" будет лишен возможности получить реальные IP-адреса удаленных пользователей, все запросы он будет видеть приходящими с одного и того же адреса. Если вы используете серверный proxy, то вы

  • лишаетесь возможности протоколировать IP-адреса (протоколирование должно быть возложено на proxy-сервер)
  • в поле "Способ идентификации сессии" на странице " Параметры сетевых настроек " не сможете использовать способы, опирающиеся на IP-адрес (фактически, вам доступен только способ "Использовать идентификатор"). Это приведет к невозможности работы с сервисом пользователей, не имеющих соединения с постоянным IP-адресом.

3.2.1. Поддержка соединения для запросов выполняющихся длительное время (более 1-2 мин)

При работе сервиса через серверный прокси, запросы, выполняющиеся на сервере СУБД, продолжительное время (более 1-2 мин), могут быть расценены серверным прокси как запросы, на которые не поступил ответ (серверный прокси не дождался ответа сервера приложений за отведенное время), и ответить клиенту ошибкой.

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

Пример
В nginx, в его конфиге нужно указать - proxy_read_timeout 300s; #вместо 300 сек укажите свое значение, по умолчанию nginx использует 1 мин.

4. Использование SSL сертификатов c ГОСТ алгоритмами

На текущий момент существует 2 варианта реализации ГОСТ алгоритмов, которые может использовать OpenSSL, и как следствие, использоваться текущим сервисом:


4.1. gost.dll - open source библиотека

Вариант 1: gost.dll - open source библиотека, которая раньше поставлялась вместе с OpenSSL, но начиная с версии OpenSSL 1.1, она была исключена из его состава, и оформилась в виде отдельного продукта https://github.com/gost-engine/engine .

Поддержка алгоритмов ГОСТ 2001 имеется во всех версиях библиотеки gost.dll. Однако поддержка алгоритмов ГОСТ 2012 реализована только в версиях, совместимых с OpenSSL >= 1.1.0.

Библиотека gost.dll должна использоваться только с соответствующей ей версией OpenSSL:

  • для OpenSSL < 1.1.0: берется из поставки самого OpenSSL, НЕподдерживает ГОСТ 2012
  • для OpenSSL >= 1.1.0, но < 3.0: собирается самостоятельно из исходников (https://github.com/gost-engine/engine, необходимо выбрать релиз соответствующий используемой версии OpenSSL),  поддерживает ГОСТ 2012
  • для OpenSSL >= 3.0: также собирается самостоятельно из исходников (https://github.com/gost-engine/engine, необходимо выбрать релиз соответствующий используемой версии OpenSSL),  поддерживает ГОСТ 2012

В релизах сервиса до сентября 2020 включительно, использовались библиотеки OpenSSL 1.0.2. Поэтому возможно использовать библиотеку gost.dll из самого инталлятора OpenSSL.

В релизах сервиса до января 2024 включительно, поставлялись библиотеки OpenSSL версии 1.1.1. Соответствующая этой версии библиотека gost.dll может быть собрана самостоятельно из исходников. Либо воспользоваться собранной нами версией для Windows:

В релизах текущей версии сервиса, поставляются библиотеки OpenSSL версии 3.3.0. Соответствующая этой версии библиотека для ГОСТ алгоритмов может быть собрана самостоятельно из исходников. Либо можно воспользоваться собранной нами версией для Windows:

Во всех релизах текущего сервиса для Linux, библиотеки OpenSSL не поставляются в составе продукта, их необходимо самостоятельно собрать локально по месту использования, либо установить с помощью менеджера пакетов Linux. При работе конфигуратор подскажет как это сделать.

Также, для Linux потребуется самостоятельная сборка библиотеки для ГОСТ, для этого можно воспользоваться исходной инструкцией - https://github.com/gost-engine/engine/blob/master/INSTALL.md.

Важно!

Необходимо использовать библиотеку соответствующую разрядности используемого приложения, которое будет использовать данную библиотеку. Например, если настраивается серверная сторона Сервиса, то выбирается в соответствии с его разрядностью, если настраивается клиентская сторона (приложение для удаленного доступа), то в соответствии с его разрядностью (на текущий момент только Win32).

Развертывание :

  1. Расположить библиотеку gost.dll, а в случае с OpenSSL 3.0, еще и gostprov.dll, нужной разрядности в каталог установки текущего сервиса, рядом с исполняемыми файлами, которые будут ее использовать. В случае использования Win64 разрядности сервиса - это подкаталог WIN64.
  2. Создать файл конфигурации OpenSSL (в случае с OpenSSL 3.0, последнюю строчку с CRYPT_PARAMS=... рекомендуется опустить и не указывать), например openssl.conf:

    01openssl_conf = openssl_def
    02
    03[openssl_def]
    04engines = engine_section
    05
    06[engine_section]
    07gost = gost_section
    08
    09[gost_section]
    10engine_id = gost
    11dynamic_path = ./gost.dll
    12default_algorithms = ALL
    13CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

    В указанном примере файла конфигурации предполагается, что библиотеки поддержки алгоритмов ГОСТ находятся рядом с исполняемыми файлами. Но файл конфигурации может быть расположен в ином месте. В таком случае необходимо указать полный, а не относительный путь к библиотеке gost.dll. Кстати, в качестве разделителя каталогов пути необходимо использовать прямой слэш "/" как в Unix, а не обратный, как в Windows, либо экранировать обратные слэши еще одним обратным слэшем - "\\".

    В случае использования существующего файла конфигурации, например при использовании полноценно установленного OpenSSL (а не используемого из состава поставки) в составе которого имеется свой файл конфигурации, вышеуказанный блок необходимо вставить после строки "oid_section = new_oids".

    Указанный файл конфигурации является примером, и может быть изменен пользователем в зависимости от требуемых настроек.

    Кстати

    Подобным образом возможно подключить любые другие расширения (engine) для OpenSSL.

    Например, в случае если приватный ключ сертификата хранится на аппаратном носителе (USB токен, смарт карт) который не допускает их экспортирования в файл, но при этом предоставляет возможность их использования через свой интерфейс. Обычно в таких случаях криптопровайдер распространяет расширения для интеграции с OpenSSL.

    В таких случаях, в процессе конфигурирования вместо указания пути к файлу (Настройки протокола HTTPS, поле Закрытый ключ) необходимо указать через какое расширение можно обращаться к закрытому ключу:

    engine:id расширения:путь к закрытому ключу согласно документации криптопровайдера

    Например:

    engine:gostengy:techmill.ru

  3. Установить системную переменную окружения ОС с именем OPENSSL_CONF и значением указывающим полный путь к файлу конфигурации OpenSSL.
    Кстати
    В случае настройки клиента удаленного доступа для приложения Win32, это удобно настроить (как подключение файл конфигурации OpenSSL, так и установка переменной окружения OPENSSL_CONF) в процессе конфигурирования на странице Дополнительные модули и переменные окружения в составе клиента удаленного доступа.
  4. При конфигурировании, на странице Параметры сетевых настроек - Настройки протокола HTTPS, укажите значение в параметре Набор шифров для TLS 1.2 и ранее: GOST2012-GOST8912-GOST8912 GOST2001-GOST89-GOST89 GOST94-GOST89-GOST89, для поддержки всех версий ГОСТ - 2012, 2001 и 94, либо значение GOST2012-GOST8912-GOST8912, для поддержки только версии ГОСТ 2012.
    В случае необходимости поддержки ГОСТ 2015, укажите значение в параметре Набор шифров для TLS 1.3+: TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L TLS_GOSTR341112_256_WITH_MAGMA_MGM_L TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S TLS_GOSTR341112_256_WITH_MAGMA_MGM_S.

В случае проблем с использованием настроенного и запущенного сервиса, для проверки его работоспособности рекомендуется использовать утилиту openssl в режиме клиента TLS, с помощью команды openssl s_client -connect 127.0.0.1:443. В случае успешного соединения с сервером в выводе консоли будет указана вся информация об установленном соединении, такая как сертификат, версия протокола TLS, используемый шифр и многое другое.

Для проверки корректности созданного файла конфигурации OpenSSL, и самой загрузки ГОСТ библиотеки, можно воспользоваться командой openssl engine. В случае правильной настройки, среди строк вывода будет строка "(gost) Reference implementation of GOST engine".

Перед использованием OpenSSL утилиты необходимо аналогично обеспечить настройку файла конфигурации OpenSSL, как указано в пункте 2 и установить системную переменную окружения ОС с именем OPENSSL_CONF, как указано в пункте 3.


4.2. gost_capi.dll или gostengy.dll - библиотека от КриптоПро (развитие прекращено)

Вариант 2: gost_capi.dll (для OpenSSL <1.1.0) или gostengy.dll (для OpenSSL >= 1.1.0) - библиотека от КриптоПро  для работы установленного КриптоПро CSP через интерфейсы OpenSSL (работает только при установленном КриптоПро CSP, т.к. вся работа с ГОСТ будет осуществляться КриптоПро CSP, но опосредованно через интерфейсы OpenSSL).

Важно!
Развитие данного продукта прекращено. Также нет сведений о поддержке актуальной версии OpenSSL 3.0.

Аналогично, как и с библиотекой gost.dll, версия библиотеки зависит от используемой версии OpenSSL:

  • для OpenSSL < 1.1.0: необходимо использовать библиотеку gost_capi, НЕ поддерживает ГОСТ 2012
  • для OpenSSL >= 1.1.0: необходимо использовать библиотеку gostengy, поддерживает ГОСТ 2012

Скачать необходимые версии библиотеки можно на сайте КриптоПро . Более подробное описание использования можно найти у них же на форуме.

Важно!

Необходимо использовать библиотеку соответствующую разрядности используемого приложения, которое будет использовать данную библиотеку. Например, если настраивается серверная сторона Сервиса, то выбирается в соответствии с его разрядностью, если настраивается клиентская сторона (приложение для удаленного доступа), то в соответствии с его разрядностью (на текущий момент только Win32).

Развертывание :

  1. Расположить необходимую библиотеку поддержки алгоритмов ГОСТ нужной разрядности (gost_capi.dll для OpenSSL <1.1.0 или gostengy.dll в случаае использования OpenSSL >= 1.1.0) рядом с исполняемыми файлами, которые будут ее использовать. В случае использования Win64 разрядности сервиса - это подкаталог WIN64.
  2. Создать файл конфигурации OpenSSL:

    01openssl_conf = openssl_def
    02
    03[openssl_def]
    04engines = engine_section
    05
    06[engine_section]
    07gost = gostengy_section
    08
    09[gostengy_section]
    10engine_id = gostengy
    11dynamic_path = ./gostengy.dll
    12default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1

    В указанном примере файла конфигурации предполагается, что библиотека поддержки алгоритмов ГОСТ находится рядом с исполняемыми файлами. Но файл конфигурации может быть расположен в ином месте. В таком случае необходимо указать полный, а не относительный путь к библиотеке. Кстати, в качестве разделителя каталогов пути необходимо использовать прямой слэш "/" как в Unix, а не обратный, как в Windows, либо экранировать обратные слэши еще одним обратным слэшем - "\\".

    В случае использования существующего файла конфигурации, например поставляемого с самим OpenSSL, необходимо 1-ю строчку (openssl_conf = openssl_def) вставить в начало этого файла, а остальные строки в самый конец файла.

    Указанный файл конфигурации является примером, и может быть изменен пользователем в зависимости от требуемых настроек.

    Кстати

    Подобным образом возможно подключить любые другие расширения (engine) для OpenSSL.

    Например, в случае если приватный ключ сертификата хранится на аппаратном носителе (USB токен, смарт карт) который не допускает их экспортирования в файл, но при этом предосталяет возможность их использования через свой интерфейс. Обычно в таких случаях криптопровайдер распространяет расширения для интеграции с OpenSSL.

    В таких случаях, в процессе конфигурирования вместо указания пути к файлу (Настройки протокола HTTPS, поле Закрытый ключ) необходимо указать через какое расширение можно обращаться к закрытому ключу:

    engine:id расширения:путь к закрытому ключу согласно документации криптопровайдера

    Например:

    engine:gostengy:techmill.ru

  3. Установить системную переменную окружения ОС с именем OPENSSL_CONF и значением указывающим полный путь к файлу конфигурации OpenSSL.
    Кстати
    В случае настройки клиента удаленного доступа для приложения Win32, это удобно настроить (как подключение файл конфигурации OpenSSL, так и установка переменной окружения OPENSSL_CONF) в процессе конфигурирования на странице Дополнительные модули и переменые окружения в составе клиента удаленного доступа.
  4. В связи с тем, что КриптоПро не работает с файлами закрытых ключей находящихся в файлах, необходимо использовать приватный ключ находящийся в одном из следующих мест где криптопровайдер КриптоПро сможет его найти и использовать:
    • системное хранилище сертификатов Windows (certmgr.msc) - необходимо предварительно импортировать сертификат содержащий приватный ключ одним из штатных способов
    • хранилища сертификатов самого КриптоПро - необходимо предварительно импортировать сертификат содержащий приватный ключ с помощью инструментов КриптоПро, наприме утилиты certmgr из штатной поставки КриптоПро
    • аппаратный носитель (USB токен, смарт карт) содержащий приватный ключ

    В любом из вышеперечисленном варианте, путь к закрытому ключу нужно указывать не как к файлу, а с помощью расширения для OpenSSL от КриптоПро (gost_capi или gostengy), например - engine:gostengy:techmill.ru, т.е. по шаблону engine:gost_capi или gostengy:FQDN указанное в сертификате (доменное имя). При непосредственном использовании этого ключа сам криптопровайдер определит его местонахождение, и при необходимости будет иницировать интерактивный процесс запроса разрешения на использование указанного ключа и его пароля. Но в любом случае, приватный ключ должен быть доступен КриптоПро и находиться в одном из вышеуказанных хранилищах, а не в файле.

    При конфигурировании, на странице Параметры сетевых настроек - Настройки протокола HTTPS, укажите значение в параметре Закрытый ключ в формате engine:gostengy:FQDN
  5. При конфигурировании, на странице Параметры сетевых настроек - Настройки протокола HTTPS, укажите значение в параметре Набор шифров для TLS 1.2 и ранее: GOST2012-GOST8912-GOST8912 GOST2001-GOST89-GOST89 GOST94-GOST89-GOST89, для поддержки всех версий ГОСТ - 2012, 2001 и 94, либо значение GOST2012-GOST8912-GOST8912, для поддержки только версии ГОСТ 2012.
    В случае необходимости поддержки ГОСТ 2015, укажите значение в параметре Набор шифров для TLS 1.3+: TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L TLS_GOSTR341112_256_WITH_MAGMA_MGM_L TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S TLS_GOSTR341112_256_WITH_MAGMA_MGM_S.

В случае проблем с использованием настроенного и запущенного сервиса, для проверки его работоспособности рекомендуется использовать утилиту openssl в режиме клиента TLS, с помощью команды openssl s_client -connect 127.0.0.1:443. В случае успешного соединения с сервером в выводе консоли будет указана вся информация об установленном соединении, такая как сертификат, версия протокола TLS, используемый шифр и многое другое. Перед использованием OpenSSL утилиты необходимо аналогично обеспечить настройку файла конфигурации OpenSSL, как указано в пункте 2 и установить системную переменную окружения ОС с именем OPENSSL_CONF, как указано в пункте 3.


4.3. Выбор браузеров для взаимодействия с веб-серверами использующими SSL сертификаты с ГОСТ алгоритмами

Для взаимодействия браузера с веб-серверами, использующими SSL сертификаты с ГОСТ алгоритмами, необходимо, чтобы эти браузеры "понимали" эти алгоритмы. "Понимание" криптоалгоритмов, обеспечивается путем взаимодействием браузера с определенным криптопровайдером, через ту или иную инфраструктуру криптопровайдеров.

На ОС Windows инфраструктура криптопровайдеров обеспечивается Microsoft CryptoApi. Различные браузеры могут использовать какую-то определенную инфраструктуру криптопровайдеров. Например Internet Explorer может использовать только Microsoft CryptoApi, а Chrome и Firefox - только NSS.

Таким образом, для работы с веб серверами, использующими SSL ГОСТ-сертификатами требуется установленный на клиенте криптопровайдер с поддержкой ГОСТ, и браузер, который умеет опосредовано через инфраструктуру, использовать этот криптопровайдер.

Рассмотрим на примере продуктов CryptoPro (это 1 из примеров, по аналогии могут быть использованы любые другие криптопровайдеры, добавляющиеся в Microsoft CryptoApi, и реализующие поддержку ГОСТ алгоритмов).

Установка CryptoPro CSP добавляет в Microsoft CryptoApi криптопровайдер, реализующий поддержку ГОСТ алгоритмов:

  • Internet Explorer - полная поддержка. Поддерживаются как ГОСТ 2012, так и предыдущие алгоритмы.
  • Firefox, непосредственно официальные сборки - не поддерживаются, но можно использовать третьесторонние сборки, например КриптоПро Fox.

    Важно!

    Установка браузера КриптоПро Fox, должна производится после установки криптопровайдера.

    КриптоПро Fox не подерживает  сертификаты с алгоритмами ГОСТ 2012.

    Если после установки КриптоПро Fox - соединение с сервером не устанавливается с кодом ошибки "SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT", то необходимо проверить, что модуль для связи браузера с КриптоПро CSP, загружен браузером:

    • Открыть Меню -> Настройки -> Дополнительные -> Сертификаты -> Устройства защиты
    • В открывшемся диалоге, найти модуль CryptoPro PKCS11, у которого должен быть дочерний модуль CryptoPro Token. Если дочернего модуля нет, то необходимо переустановить данный браузер.

    Если после установки КриптоПро Fox - соединение с сервером считается ненадежным, то необходимо сделать изменения в его настройках:

    • Открыть вкладку с адресом about:config
    • Найти настройку с именем security.tls.version.max, и изменить значение с 3 на 2
  • Chrome - не поддерживается из-за использования им криптопровайдеров NSS. Однако можно использовать стороннюю сборку Chromium от КриптоПро - Chromium Gost , в которую включена возможность поддержки ГОСТ алгоритмов, в случае работы совместно с КриптоПро CSP. Поддерживаются как ГОСТ 2012, так и предыдущие алгоритмы. Chromium Gost является  рекомендуемым браузером в случае использования ГОСТ сертификатов .

5. Использование DBLINK в Пользовательских процедурах

Использование DBLINK в Пользовательских процедурах.

Для возможности использования DBLINK в Пользовательских процедурах, необходимо соблюсти следующие условия:

  • DBLINK должен быть создан как SHARED
  • транзакция, в которой выполняется запрос DBLINK, не должна быть автономной

Ранее (до релиза от января 2021), в ЦУД все Пользовательские процедуры принудительно всегда выполнялись в автономной транзакции. Это делалось для поддержки случаев, когда в пользовательской процедуре осуществляется управление текущей транзакцией (commit или rollback).

Сейчас это поведение изменено в пользу возможности использования DBLINK в Пользовательских процедурах. В результате, чтобы Пользовательские процедуры с управление текущей транзакцией продолжили работать, необходимо отказаться от такого управления транзакцией, либо "обернуть" это управление в блок автономной транзакции, с помощью анонимного блока или отдельной подпрограммы.

Управление списком объектов, автоматически оборачиваемых в блок автономной транзакции.

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

Начиная с релиза от января 2021 добавлена возможность расширения списка таких объектов Администраторами сервиса. Это может быть оказаться полезным для пользовательских процедур, или процедур, разрабатываемых на местах, и не входящих в стандартную поставку Парус.

Как было упомянуто выше, лучше всего отказаться от подхода с управлением текущей транзакции на серверной стороне. Но в тех случаях, где это сделать затруднительно, теперь можно включить наименование таких объектов в специальный список, и при использовании этого объекта в вызовах из клиента, SQL-код клиента будет автоматически "обернут" в блок автономной транзакции с помощью анонимного блока.

Для включения объекта в этот список создайте (или добавьте в имеющийся) текстовый файл с именем AutonomouseTransactionObjects.txt, отдельную строку или строки с именами нужных объектов. Этот файл должен быть расположен в каталоге сервиса, рядом с исполняемым модулем (по умолчанию, C:\Program Files\ParusRemoteAccess). Обратите внимание на используемую разрядность сервиса - версия x64 находится в отдельном подкаталоге WIN64.