Инструменты пользователя

Инструменты сайта


subsystem-config-https-new-722-ubuntu2204

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

subsystem-config-https-new-722-ubuntu2204 [2026/02/09 10:49] (текущий)
infra создано
Строка 1: Строка 1:
 +<note warning>​Целевой аудиторией данного руководства являются системные администраторы Сервера безопасности Тундук ответственные за установку и сопровождение программного обеспечения X-Road. Документ предназначен для читателей с умеренными знаниями администрирования Linux серверов и компьютерных сетей.</​note> ​
  
 +====== Настройка HTTPS сертификатов подсистемы ======
 +
 +
 +При соединении **«информационной системы потребителя услуг <-> Сервер безопасности»** сервер безопасности является сервером,​ а информационная система - клиентом. Клиент и сервер должны доверять сертификатам друг друга, для этого им необходимо обменяться сертификатами.
 +
 +===== Создание самоподписанного сертификата информационной системы =====
 +<​code> ​
 +openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout subsystemName.key -out subsystemName.crt
 +</​code>​
 +{{ :​opennslsubsystemcert.jpg |}}
 +
 +После создания сертификата загрузить его в сервер безопасности.
 +В меню CLIENTS ⇒ выберите подсистему и нажмите на раздел "​Internal servers"​
 +
 +{{ :​screenshot_from_2023-05-13_19-16-51.png?​nolink |}}
 +
 +
 +Импортируйте сертификаты указав путь к файлу subsystemName.crt и нажмите **OK**
 +
 +После загрузки хэш сумма сертификата отобразится в списке. детали сертификата можно просмотреть кликнув на хэш, затем кликнуть **DETAILS** ​
 +далее экспортируйте открытый ключ сервера безопасности.
 +В секции **SECURITY SERVER CERTIFICATE** нажмите **EXPORT**. После нажатия загрузится архив certs.tar.gz содержащий внутренний сертификат сервера безопасности в формате **cer** и **pem**.
 +На это настройка подсистемы завершена. Информационная система клиента должна отправлять запросы к серверу безопасности с использованием tls аутентификации с использование данных сертификатов (subsystemName.crt,​ subsystemName.key и certs.tar.gz).
 +
 +==== Проверка конфигурации с использованием CURL ====
 +
 +Для проверки конфигурации можно воспользоваться утилитой [[https://​ru.wikipedia.org/​wiki/​CURL|cURL]] ​ Вызвав один из метасервисов.
 +для этого создайте файл с именем request.xml и поместите в него файл со следующим предварительно отредактировав его (//​необходимо указать свои идентифкаторы в разделе SUBSYSTEM//​).
 +<code xml>
 +<​soapenv:​Envelope xmlns:​soapenv="​http://​schemas.xmlsoap.org/​soap/​envelope/"​ xmlns:​xro="​http://​x-road.eu/​xsd/​xroad.xsd"​ xmlns:​iden="​http://​x-road.eu/​xsd/​identifiers">​
 +   <​soapenv:​Header>​
 +      <​xro:​protocolVersion>​4.0</​xro:​protocolVersion>​
 +      <​xro:​id>​GUID-HERE</​xro:​id>​
 +      <​xro:​userId>​SUbsystemCheck</​xro:​userId>​
 +      <​xro:​service iden:​objectType="​SERVICE">​
 +         <​iden:​xRoadInstance>​central-server</​iden:​xRoadInstance>​
 +         <​iden:​memberClass>​GOV</​iden:​memberClass>​
 +         <​iden:​memberCode>​70000005</​iden:​memberCode>​
 +         <​iden:​subsystemCode>​zags-service</​iden:​subsystemCode>​
 +         <​iden:​serviceCode>​listMethods</​iden:​serviceCode>​
 +         <​iden:​serviceVersion>​v1</​iden:​serviceVersion>​
 +      </​xro:​service>​
 +      <​xro:​client iden:​objectType="​SUBSYSTEM">​
 +         <​iden:​xRoadInstance>​central-server</​iden:​xRoadInstance>​
 +         <​iden:​memberClass>​Укажите свой класс</​iden:​memberClass>​
 +         <​iden:​memberCode>​Укажите свой код</​iden:​memberCode>​
 +         <​iden:​subsystemCode>​Укажите наименование своей подсистемы</​iden:​subsystemCode>​
 +      </​xro:​client>​
 +   </​soapenv:​Header>​
 +   <​soapenv:​Body>​
 +      <​xro:​listMethods/>​
 +   </​soapenv:​Body>​
 +</​soapenv:​Envelope>​
 +</​code>​
 +
 +Теперь перейдите в каталог где создан файл **request.xml** и выполните следующую комманду
 +<code bash>
 +curl -k  -v  --header '​Content-Type:​ text/​xml;​charset=UTF-8' ​    ​--data @"​./​request.xml" ​ https://​Security-server --cert /​path/​to/​subsystemName.crt --key /​path/​to/​subsystemName.key
 +</​code>​
 +В отвеле вы должны получить XML файл содержащий список методов подсистемы учатсника указанного в запросе.
 +
 +==== Проверка конфигурации с использованием SoapUI ====
 +
 +Для выполениея запросов чере SoapUI его необходимо предварительно настроить.
 +Для soapUI сначала необходимо упаковать самоподписанный сертификат в **pfx** или **p12** контейнер.
 +в директории с ключевой парой выполните следующую комманду.
 +<code bash> openssl pkcs12 -export -out keypair.pfx -inkey subsystemName.key -in subsystemName.crt ​ </​code>​
 +Задайте пароль для ключевой пары.
 +Затем откройте SoapUI нажмите **ctrl+alt+p** В появившемся окне перейдите в раздер **SSL Settings**, в параметре **KeyStore:​** укажите путь к файлу **keypair.pfx**,​ в **KeyStore Password:** укажите пароль который вы задали при создании контейнера,​ установите отметку **requires client authentication** напротив **Client Authentication:​**
 +{{ :​soap-ui-ssl.jpg |}}
 +На этом настройка завершена и можно перейти к выполнению запросов.
 +Откройте файл {{ :​listmethods.wsdl |}}, затем выберите метод listMethods и сформируйте запрос как показано в примере для **curl** после чего выполните его, в случае успеха вы получите список методов друго участника,​ иначе вы получите сообщение об ощибке и её краткое описание.
 +
 +
 +----
 +
 +Автор Даниил Горбенко
subsystem-config-https-new-722-ubuntu2204.txt · Последние изменения: 2026/02/09 10:49 — infra