Статус: Новичок
Группы: Участники
Зарегистрирован: 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
Пробовал разные варианты решения проблемы, но ничего не помогло. Просьба подсказать возможную причину ошибок, и как их можно устранить.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 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.
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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. Как проверить является ли она клиентской, или серверной ?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 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 месяцев назад
| Причина: Не указана |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.06.2024(UTC) Сообщений: 5 Откуда: Санкт-Петербург
|
Добрый день
А можете подсказать, как проверить является ли лицензия клиентской, или серверной+клиентской ? Сейчас у нас стоит License type: Demo и я не могу понять какая она.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,531 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 36 раз Поблагодарили: 494 раз в 350 постах
|
Автор: wowast  Добрый день
А можете подсказать, как проверить является ли лицензия клиентской, или серверной+клиентской ? Сейчас у нас стоит License type: Demo и я не могу понять какая она. Возможно ответ здесь: https://support.cryptopr...nija-kriptopro-csp-50-r2Если нет, создавайте, пожалуйста, отдельную тему. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close