Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline wowast  
#1 Оставлено : 8 месяцев назад
wowast

Статус: Новичок

Группы: Участники
Зарегистрирован: 19.06.2024(UTC)
Сообщений: 5
Откуда: Санкт-Петербург

Добрый день

Никак не пойму в чём причина.
У меня в stunnel всё корректно работает со стороны клиента ( он шифрует и отправляет запросы )
Код:

2024.08.14 01:56:56 LOG7[main]: Found 1 ready file descriptor(s)
2024.08.14 01:56:56 LOG7[main]: FD=4 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[main]: FD=9 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[main]: FD=10 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[main]: FD=11 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[main]: FD=12 events=0x2001 revents=0x1
2024.08.14 01:56:56 LOG7[main]: FD=13 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[main]: Service [https] accepted (FD=3) from 172.18.32.103:40926
2024.08.14 01:56:56 LOG7[5]: Service [https] started
2024.08.14 01:56:56 LOG7[5]: Setting local socket options (FD=3)
2024.08.14 01:56:56 LOG7[5]: Option TCP_NODELAY set on local socket
2024.08.14 01:56:56 LOG5[5]: Service [https] accepted connection from 172.18.32.103:40926
2024.08.14 01:56:56 LOG6[5]: s_connect: connecting 87.251.93.38:9443
2024.08.14 01:56:56 LOG7[5]: s_connect: s_poll_wait 87.251.93.38:9443: waiting 10 seconds
2024.08.14 01:56:56 LOG7[5]: FD=6 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[5]: FD=15 events=0x2005 revents=0x0
2024.08.14 01:56:56 LOG5[5]: s_connect: connected 87.251.93.38:9443
2024.08.14 01:56:56 LOG5[5]: Service [https] connected remote server from 172.18.32.103:47678
2024.08.14 01:56:56 LOG7[5]: Setting remote socket options (FD=15)
2024.08.14 01:56:56 LOG7[5]: Option TCP_NODELAY set on remote socket
2024.08.14 01:56:56 LOG7[5]: Remote descriptor (FD=15) initialized
2024.08.14 01:56:56 LOG6[5]: msspi: try open cert = "/app/stunnel/client/sbptiv_cert.cer" as file
2024.08.14 01:56:56 LOG6[5]: Peer certificate not required
2024.08.14 01:56:56 LOG6[5]: msspi: TLSv1.2 connected (C100)
2024.08.14 01:57:11 LOG6[5]: Read socket closed (readsocket)
2024.08.14 01:57:11 LOG7[5]: Sending close_notify alert
2024.08.14 01:57:11 LOG6[5]: socket fd: Broken pipe (32)
2024.08.14 01:57:11 LOG6[5]: SSL_shutdown successfully sent close_notify alert
2024.08.14 01:57:11 LOG6[5]: writesocket: Socket is closed
2024.08.14 01:57:11 LOG5[5]: Connection closed: 3731 byte(s) sent to TLS, 208 byte(s) sent to socket
2024.08.14 01:57:11 LOG7[5]: Remote descriptor (FD=15) closed
2024.08.14 01:57:11 LOG7[5]: Local descriptor (FD=3) closed
2024.08.14 01:57:11 LOG7[5]: Service [https] finished (0 left)


При этом принимая сообщения сервер останавливает передачу и передаёт 0 байт
Код:

2024.08.14 01:56:56 LOG7[main]: Found 1 ready file descriptor(s)
2024.08.14 01:56:56 LOG7[main]: FD=4 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[main]: FD=9 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[main]: FD=10 events=0x2001 revents=0x1
2024.08.14 01:56:56 LOG7[main]: Service [https] accepted (FD=3) from 87.251.93.154:10401
2024.08.14 01:56:56 LOG7[2]: Service [https] started
2024.08.14 01:56:56 LOG7[2]: Setting local socket options (FD=3)
2024.08.14 01:56:56 LOG7[2]: Option TCP_NODELAY set on local socket
2024.08.14 01:56:56 LOG5[2]: Service [https] accepted connection from 87.251.93.154:10401
2024.08.14 01:56:56 LOG6[2]: msspi: try open cert = "/app/stunnel/client/sbptiv_cert.cer" as file
2024.08.14 01:56:56 LOG6[2]: Peer certificate not required
2024.08.14 01:56:56 LOG6[2]: msspi: TLSv1.2 accepted (C100)
2024.08.14 01:56:56 LOG6[2]: s_connect: connecting 172.18.32.150:11502
2024.08.14 01:56:56 LOG7[2]: s_connect: s_poll_wait 172.18.32.150:11502: waiting 10 seconds
2024.08.14 01:56:56 LOG7[2]: FD=6 events=0x2001 revents=0x0
2024.08.14 01:56:56 LOG7[2]: FD=23 events=0x2005 revents=0x1
2024.08.14 01:56:56 LOG5[2]: s_connect: connected 172.18.32.150:11502
2024.08.14 01:56:56 LOG5[2]: Service [https] connected remote server from 172.18.32.103:44844
2024.08.14 01:56:56 LOG7[2]: Setting remote socket options (FD=23)
2024.08.14 01:56:56 LOG7[2]: Option TCP_NODELAY set on remote socket
2024.08.14 01:56:56 LOG7[2]: Remote descriptor (FD=23) initialized
2024.08.14 01:56:56 LOG6[2]: TLS closed (SSL_read)
2024.08.14 01:56:56 LOG7[2]: Sent socket write shutdown
2024.08.14 01:56:56 LOG6[2]: Read socket closed (readsocket)
2024.08.14 01:56:56 LOG7[2]: Sending close_notify alert
2024.08.14 01:56:56 LOG6[2]: SSL_shutdown successfully sent close_notify alert
2024.08.14 01:56:56 LOG5[2]: Connection closed: 0 byte(s) sent to TLS, 0 byte(s) sent to socket
2024.08.14 01:56:56 LOG7[2]: Remote descriptor (FD=23) closed
2024.08.14 01:56:56 LOG7[2]: Local descriptor (FD=3) closed
2024.08.14 01:56:56 LOG7[2]: Service [https] finished (0 left)


Ошибок в логах нет stunnel нет, но есть в системных - var/log/message

LOG6[0]: msspi: try open cert = "/app/stunnel/client/sbptiv_cert.cer" as file
<capi20>CertCreateCertificateContext!failed: LastError = 0x54F
<capi20>CertOpenStore!failed: LastError = 0x2


Код:

LOG5[3]: Service [https] accepted connection from 172.18.32.103:40666
LOG6[3]: s_connect: connecting 87.251.93.38:9443
LOG5[3]: s_connect: connected 87.251.93.38:9443
LOG5[3]: Service [https] connected remote server from 172.18.32.103:47418
LOG6[3]: msspi: try open cert = "/app/stunnel/client/sbptiv_cert.cer" as file
<capi20>CertCreateCertificateContext!failed: LastError = 0x54F
LOG6[3]: Peer certificate not required
LOG6[3]: msspi: TLSv1.2 connected (C100)
LOG5[0]: Service [https] accepted connection from 87.251.93.154:10400
LOG6[0]: msspi: try open cert = "/app/stunnel/client/sbptiv_cert.cer" as file
<capi20>CertCreateCertificateContext!failed: LastError = 0x54F
<capi20>CertOpenStore!failed: LastError = 0x2
LOG6[0]: Peer certificate not required
LOG6[0]: msspi: TLSv1.2 accepted (C100)
LOG6[0]: s_connect: connecting 172.18.32.150:11502
LOG5[0]: s_connect: connected 172.18.32.150:11502
LOG5[0]: Service [https] connected remote server from 172.18.32.103:44584
LOG6[0]: TLS closed (SSL_read)
LOG6[0]: Read socket closed (readsocket)
LOG6[0]: SSL_shutdown successfully sent close_notify alert
LOG5[0]: Connection closed: 0 byte(s) sent to TLS, 0 byte(s) sent to socket
LOG6[3]: Read socket closed (readsocket)
LOG6[3]: socket fd: Broken pipe (32)
LOG6[3]: SSL_shutdown successfully sent close_notify alert
LOG6[3]: writesocket: Socket is closed
LOG5[3]: Connection closed: 3731 byte(s) sent to TLS, 208 byte(s) sent to socket
LOG5[4]: Service [https] accepted connection from 172.18.32.103:54192
LOG6[4]: s_connect: connecting 87.251.92.38:9443
LOG5[4]: s_connect: connected 87.251.92.38:9443
LOG5[4]: Service [https] connected remote server from 172.18.32.103:37592
LOG6[4]: msspi: try open cert = "/app/stunnel/client/sbptiv_cert.cer" as file
<capi20>CertCreateCertificateContext!failed: LastError = 0x54F
LOG6[4]: Peer certificate not required
LOG6[4]: msspi: TLSv1.2 connected (C100)
LOG5[1]: Service [https] accepted connection from 87.251.92.154:10400
LOG6[1]: msspi: try open cert = "/app/stunnel/client/sbptiv_cert.cer" as file
LOG6[1]: Peer certificate not required
LOG6[1]: msspi: TLSv1.2 accepted (C100)
LOG6[1]: s_connect: connecting 172.18.32.150:11502
LOG5[1]: s_connect: connected 172.18.32.150:11502
LOG5[1]: Service [https] connected remote server from 172.18.32.103:44626
LOG6[1]: TLS closed (SSL_read)
LOG6[1]: Read socket closed (readsocket)
LOG6[1]: SSL_shutdown successfully sent close_notify alert
LOG5[1]: Connection closed: 0 byte(s) sent to TLS, 0 byte(s) sent to socket
LOG6[4]: socket fd: Broken pipe (32)
LOG6[4]: writesocket: Socket is closed
LOG6[4]: SSL_shutdown successfully sent close_notify alert
LOG5[4]: Connection closed: 3731 byte(s) sent to TLS, 208 byte(s) sent to socket


Пробовал разные варианты решения проблемы, но ничего не помогло.
Просьба подсказать возможную причину ошибок, и как их можно устранить.
Offline pd  
#2 Оставлено : 8 месяцев назад
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,531
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 36 раз
Поблагодарили: 494 раз в 350 постах
По ошибке: ошибка штатная, вы указали сертификат в виде файла, приложение пробует его открыть в двух вариантах, первый вариант с ошибкой, второй без.

Это можно утверждать, так как успешно устанавливается TLS соединение между stunnel, в логах это msspi connected и msspi accepted.

По логам на клиенте происходит штатный разрыв соединения TLS (Sending close_notify alert) при закрытии клиентского соединения к stunnel (Read socket closed (readsocket)).

То есть, вероятно причина в протоколе, который вы заворачиваете в stunnel.

Знания в базе знаний, поддержка в техподдержке
Offline wowast  
#3 Оставлено : 7 месяцев назад
wowast

Статус: Новичок

Группы: Участники
Зарегистрирован: 19.06.2024(UTC)
Сообщений: 5
Откуда: Санкт-Петербург

Добрый день

Проблема не в том, что мы со своей стороны заворачиваем пакет в протокол.
И речь идёт не про клиента, а про сервер.

Запрос завершается ошибкой при попытки отправить его на внутренний сервер, уже после того, как stunnel принял запрос на сервере и расшифровал его.
Конфигурации сервера ( названия хостов заменены на ********* ):
Код:

pid=/app/stunnel/server/stunnel_serv.pid
output=/app/stunnel/server/stunnel_serv.log
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
[http]
accept = *********:11501
connect = *********:11502
cert=/app/stunnel/client/cert.der
verify=0
client = no
[http]
accept = *********:11502
connect = *********:11502
cert=/app/stunnel/client/cert.der
verify=0
client = no


По какой-то причине при такой конфигурации сервера stunnel пытается отправлять запросы по https, хотя ожидаем, что будет отправлять по http ?
Видим построение TLS сессии, отправляется и пакет Client Hello и Server Hello
photo_2024-08-26_21-07-44.jpg (129kb) загружен 2 раз(а).

Просьба подсказать возможную причину

P.S.
Есть подозрение, что дело в версии.
После установки на тестовой лицензии всё работало ок.
После была уставлена прод. лицензия, которая вероятнее всего была клиентской.
Далее я попробовал переустановить лицензию, через переустановку КриптоПро.
На текущий момент у меня активная лицензия с типом - License type: Demo.
Как проверить является ли она клиентской, или серверной ?
Offline pd  
#4 Оставлено : 7 месяцев назад
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,531
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 36 раз
Поблагодарили: 494 раз в 350 постах
Автор: wowast Перейти к цитате
По какой-то причине при такой конфигурации сервера stunnel пытается отправлять запросы по https, хотя ожидаем, что будет отправлять по http ?

Stunnel пересылает данные, он ничего не "пытается" отправлять.

Если к нему на клиента пришёл https, то он его отправит серверу.

По сути будет user <-> stunnel-client <-> stunnel-server <-> server, можно смотреть на это проще, как user <-> server, где <-> это stunnel client + server.

Могу лишь повторить, что ошибок в логах stunnel не наблюдается.

Отредактировано пользователем 7 месяцев назад  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline wowast  
#5 Оставлено : 7 месяцев назад
wowast

Статус: Новичок

Группы: Участники
Зарегистрирован: 19.06.2024(UTC)
Сообщений: 5
Откуда: Санкт-Петербург

Добрый день

А можете подсказать, как проверить является ли лицензия клиентской, или серверной+клиентской ?
Сейчас у нас стоит License type: Demo и я не могу понять какая она.
Offline pd  
#6 Оставлено : 7 месяцев назад
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,531
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 36 раз
Поблагодарили: 494 раз в 350 постах
Автор: wowast Перейти к цитате
Добрый день

А можете подсказать, как проверить является ли лицензия клиентской, или серверной+клиентской ?
Сейчас у нас стоит License type: Demo и я не могу понять какая она.

Возможно ответ здесь: https://support.cryptopr...nija-kriptopro-csp-50-r2

Если нет, создавайте, пожалуйста, отдельную тему.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.