logo Обзор КриптоПро NGate для защищённого доступа к корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline smazzy  
#1 Оставлено : 8 февраля 2011 г. 19:22:49(UTC)
smazzy

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

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

Доброе время суток!

Помогите, пожалуйста, настроить stunnel под Linux.

Пытаюсь настроить stunnel под linux (Red Hat) для односторонней аутентификации (то есть без клиентского сертификата)

Для этого скачал последнюю демонстрационную версию CSP amd64, доступную на сайте.

запускаю stunnel командой :

/opt/cprocsp/sbin/amd64/stunnel_fork /etc/stunnel/stunnel.conf

Конфигурация stunnel.conf:

setuid = root
setgid = root

pid = /var/opt/cprocsp/tmp/stunnel.pid

socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

debug = 7
output = /var/opt/cprocsp/tmp/stunnel.log

client=yes

[xxx1443]
accept=1443
connect=b2b.xxx.ru:443
mutual_auth=no

При выполнении команды ./csptestf -tlsc -server b2b.xxx.ru -v файл default.htm нормально получается (Ниже приложен лог вывода программы)

При попытке соединиться stunnel явно пытается открыть какой-то несуществующий файл (/etc/opt/cprocsp/stunnel/stunnel.pem), и в итоге соединение не происходит:

/var/opt/cprocsp/tmp/stunnel.log

2011.02.08 15:49:15 LOG5[1017:0]: stunnel 4.18 on x86_64-unknown-linux-gnu
2011.02.08 15:49:15 LOG5[1017:0]: Threading:FORK Sockets:POLL,IPv4 Auth:LIBWRAP
2011.02.08 15:49:15 LOG6[1017:0]: file ulimit = 1024 (can be changed with 'ulimit -n')
2011.02.08 15:49:15 LOG6[1017:0]: poll() used - no FD_SETSIZE limit for file descriptors
2011.02.08 15:49:15 LOG5[1017:0]: 0 clients allowed
2011.02.08 15:49:15 LOG7[1017:0]: FD 6 in non-blocking mode
2011.02.08 15:49:15 LOG7[1017:0]: FD 7 in non-blocking mode
2011.02.08 15:49:15 LOG7[1017:0]: FD 8 in non-blocking mode
2011.02.08 15:49:15 LOG7[1017:0]: SO_REUSEADDR option set on accept socket
2011.02.08 15:49:15 LOG7[1017:0]: xxx1443 bound to 0.0.0.0:1443
2011.02.08 15:49:15 LOG7[1017:0]: FD 9 in non-blocking mode
2011.02.08 15:49:15 LOG7[1018:0]: Created pid file /var/opt/cprocsp/tmp/stunnel.pid
2011.02.08 15:49:19 LOG7[1018:0]: xxx1443 accepted FD=10 from x.x.x.x:34186
2011.02.08 15:49:19 LOG7[1019:0]: client start
2011.02.08 15:49:19 LOG7[1019:0]: xxx1443 started
2011.02.08 15:49:19 LOG7[1019:0]: FD 10 in non-blocking mode
2011.02.08 15:49:19 LOG7[1019:0]: TCP_NODELAY option set on local socket
2011.02.08 15:49:19 LOG7[1019:0]: FD 8 in non-blocking mode
2011.02.08 15:49:19 LOG7[1019:0]: FD 11 in non-blocking mode
2011.02.08 15:49:19 LOG7[1019:0]: Connection from x.x.x.x:34186 permitted by libwrap
2011.02.08 15:49:19 LOG5[1019:0]: xxx1443 connected from x.x.x.x:34186
2011.02.08 15:49:19 LOG7[1018:0]: xxx1443 accepted FD=10 from x.x.x.x:34187
2011.02.08 15:49:19 LOG7[1021:0]: client start
2011.02.08 15:49:19 LOG7[1021:0]: xxx1443 started
2011.02.08 15:49:19 LOG7[1021:0]: FD 10 in non-blocking mode
2011.02.08 15:49:19 LOG7[1021:0]: TCP_NODELAY option set on local socket
2011.02.08 15:49:19 LOG7[1021:0]: FD 8 in non-blocking mode
2011.02.08 15:49:19 LOG7[1021:0]: FD 11 in non-blocking mode
2011.02.08 15:49:19 LOG7[1021:0]: Connection from x.x.x.x:34187 permitted by libwrap
2011.02.08 15:49:19 LOG5[1021:0]: xxx1443 connected from x.x.x.x:34187
2011.02.08 15:49:19 LOG7[1019:0]: FD 14 in non-blocking mode
2011.02.08 15:49:19 LOG7[1019:0]: xxx1443 connecting
2011.02.08 15:49:19 LOG7[1019:0]: connect_wait: waiting 10 seconds
2011.02.08 15:49:19 LOG7[1021:0]: FD 14 in non-blocking mode
2011.02.08 15:49:19 LOG7[1021:0]: xxx1443 connecting
2011.02.08 15:49:19 LOG7[1021:0]: connect_wait: waiting 10 seconds
2011.02.08 15:49:19 LOG7[1019:0]: connect_wait: connected
2011.02.08 15:49:19 LOG7[1019:0]: Remote FD=14 initialized
2011.02.08 15:49:19 LOG7[1019:0]: TCP_NODELAY option set on remote socket
2011.02.08 15:49:19 LOG7[1019:0]: start SSPI connect
2011.02.08 15:49:19 LOG3[1019:0]: open(/etc/opt/cprocsp/stunnel/stunnel.pem) failed: 0d

2011.02.08 15:49:19 LOG3[1019:0]: Error creating credentials
2011.02.08 15:49:19 LOG5[1019:0]: Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
2011.02.08 15:49:19 LOG7[1019:0]: free Buffers
2011.02.08 15:49:19 LOG7[1019:0]: delete c->hClientCreds
2011.02.08 15:49:19 LOG5[1019:0]: incomp_mess = 0, extra_data = 0
2011.02.08 15:49:19 LOG7[1019:0]: removing pid file /var/opt/cprocsp/tmp/stunnel.pid
2011.02.08 15:49:19 LOG7[1018:0]: Cleaning up the signal pipe
2011.02.08 15:49:19 LOG7[1018:0]: Process 1019 finished with code 0 (1 left)
2011.02.08 15:49:19 LOG7[1021:0]: connect_wait: connected
2011.02.08 15:49:19 LOG7[1021:0]: Remote FD=14 initialized
2011.02.08 15:49:19 LOG7[1021:0]: TCP_NODELAY option set on remote socket
2011.02.08 15:49:19 LOG7[1021:0]: start SSPI connect
2011.02.08 15:49:19 LOG3[1021:0]: open(/etc/opt/cprocsp/stunnel/stunnel.pem) failed: 0d

2011.02.08 15:49:19 LOG3[1021:0]: Error creating credentials
2011.02.08 15:49:19 LOG5[1021:0]: Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
2011.02.08 15:49:19 LOG7[1021:0]: free Buffers
2011.02.08 15:49:19 LOG7[1021:0]: delete c->hClientCreds
2011.02.08 15:49:19 LOG5[1021:0]: incomp_mess = 0, extra_data = 0
2011.02.08 15:49:19 LOG7[1021:0]: removing pid file /var/opt/cprocsp/tmp/stunnel.pid
2011.02.08 15:49:19 LOG7[1018:0]: Cleaning up the signal pipe
2011.02.08 15:49:19 LOG7[1018:0]: Process 1021 finished with code 0 (0 left)

./csptestf -tlsc -server b2b.xxx.ru -v

CSP (Type:71) v3.6.5359 KC2 Release Ver:3.6.6497 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
CSP (Type:75) v3.6.5359 KC2 Release Ver:3.6.6497 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
./csptestf -tlsc -server b2b.xxx.ru -v
5 algorithms supported:
[0] 1.2.643.2.2.21 (ГОСТ 28147-89)
[1] 1.2.643.2.2.3 (ГОСТ Р 34.11/34.10-2001)
[2] 0x801f
[3] 1.2.643.2.2.20 (ГОСТ Р 34.10-94)
[4] 1.2.643.2.2.19 (ГОСТ Р 34.10-2001)
Cipher strengths: 256..256
Supported protocols: 0x80
ClientHello: RecordLayer: TLS, Len: 91
Cipher Suites: (00 80) (00 32) (01 31) (00 00)
96 bytes of handshake data sent
1136 bytes of handshake data received
210 bytes of handshake data sent
31 bytes of handshake data received
Handshake was successful
SECPKG_ATTR_NAMES: E=zzz@zzz.ru, C=RU, S=Moscow, L=Moscow, O=zzz, CN=b2b.xxx.ru

Server certificate:
Subject: E=zzz@zzz.ru, C=RU, S=Moscow, L=Moscow, O=zzz, CN=b2b.xxx.ru
Issuer : E=cpca@cryptopro.ru, C=RU, L=������, O=��� ������-���, CN=�� KP��TO-�PO
Error 0x800b010a (CERT_E_CHAINING) returned by CertVerifyCertificateChainPolicy!
**** Error authenticating server credentials!

Protocol: TLS1
Cipher: 0x661e
Cipher strength: 256
Hash: 0x801e
Hash strength: 256
Key exchange: 0xaa25
Key exchange strength: 512

Header: 5, Trailer: 4, MaxMessage: 16379

HTTP request: GET /default.htm HTTP/1.0
User-Agent: Webclient
Accept:*/*


Sending plaintext: 64 bytes
73 bytes of application data sent
490 bytes of (encrypted) application data received
Reply status: HTTP/1.1 302 Found
An error occurred in running the program.
/dailybuilds/mybuild/CSP/samples/csptest/WebClient.c:1717:Bad HTTP status.
Error number 0x0 (0).
Decrypted data: 481 bytes
No data in socket: OK if file is completely downloaded
HttpsGetFile: 0x0000012e
An error occurred in running the program.
/dailybuilds/mybuild/CSP/samples/csptest/WebClient.c:487:Error fetching file from server.
Error number 0x12e (302).
Total:
[ErrorCode: 0x0000012e]




Offline smazzy  
#2 Оставлено : 10 февраля 2011 г. 19:03:00(UTC)
smazzy

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

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

инцидент исчерпан добавлением в конфиг строчки:

cert=stunnel.pem
Offline buzikove  
#3 Оставлено : 21 марта 2012 г. 15:36:22(UTC)
buzikove

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

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

День добрый.
Напишу здесь же, потому как подходит к теме.
Настраиваю stunnel под Windows.
Ядро СКЗИ 3.6.5359 КС1
Продукт 3.6.6497

Браузер на этой машине нормально ходит и на bus.gov.ru и на www.cryptopro.ru:9443.
При попытке доступа через туннель с другой машины Explorer не может отобразить страницу.
Сертификаты удостоверяющих центров добавлены в Доверенные и для текущего пользователя и для локального компьютера.

stunnel.conf
Код:
output=c:\stun_cr\stun.log
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
verify = 2
CAfile=c:\stun_cr\cert.cer
client = yes
[https]
accept=192.168.100.186:8082
connect = bus.gov.ru:443
;connect = www.cryptopro.ru:9443
mutual_auth = no


stun.log
Код:
2012.03.21 12:17:51 LOG5[75872:3364]: stunnel 4.18 on x86-pc-unknown
2012.03.21 12:17:51 LOG5[75872:3364]: Threading:WIN32 Sockets:SELECT,IPv6
2012.03.21 12:17:51 LOG5[75872:3364]: No limit detected for the number of clients
2012.03.21 12:17:51 LOG7[75872:3364]: FD 152 in non-blocking mode
2012.03.21 12:17:51 LOG7[75872:3364]: SO_REUSEADDR option set on accept socket
2012.03.21 12:17:51 LOG7[75872:3364]: https bound to 192.168.100.186:8082
2012.03.21 12:18:10 LOG7[75872:3364]: https accepted FD=176 from 192.168.100.181:3511
2012.03.21 12:18:10 LOG7[75872:3364]: Creating a new thread
2012.03.21 12:18:10 LOG7[75872:3364]: New thread created
2012.03.21 12:18:10 LOG7[75872:77468]: client start
2012.03.21 12:18:10 LOG7[75872:77468]: https started
2012.03.21 12:18:10 LOG7[75872:77468]: FD 176 in non-blocking mode
2012.03.21 12:18:10 LOG7[75872:77468]: TCP_NODELAY option set on local socket
2012.03.21 12:18:10 LOG5[75872:77468]: https connected from 192.168.100.181:3511
2012.03.21 12:18:10 LOG7[75872:77468]: FD 216 in non-blocking mode
2012.03.21 12:18:10 LOG7[75872:77468]: https connecting 
2012.03.21 12:18:10 LOG7[75872:77468]: connect_wait: waiting 10 seconds
2012.03.21 12:18:10 LOG7[75872:77468]: connect_wait: connected
2012.03.21 12:18:10 LOG7[75872:77468]: Remote FD=216 initialized
2012.03.21 12:18:10 LOG7[75872:77468]: TCP_NODELAY option set on remote socket
2012.03.21 12:18:10 LOG7[75872:77468]: start SSPI connect
2012.03.21 12:18:10 LOG3[75872:77468]: Credentials complete
2012.03.21 12:18:10 LOG7[75872:77468]: 87 bytes of handshake data sent
2012.03.21 12:18:10 LOG5[75872:77468]: 2625 bytes of handshake(in handshake loop) data received.
2012.03.21 12:18:10 LOG3[75872:77468]: Error 0x80092004 finding cert chain
2012.03.21 12:18:10 LOG5[75872:77468]: 217 bytes of handshake data sent
2012.03.21 12:18:10 LOG5[75872:77468]: 31 bytes of handshake(in handshake loop) data received.
2012.03.21 12:18:11 LOG5[75872:77468]: Handshake was successful
2012.03.21 12:18:11 LOG5[75872:77468]: PerformClientHandshake finish 
2012.03.21 12:18:11 LOG5[75872:77468]: Server subject: C
2012.03.21 12:18:11 LOG5[75872:77468]: Server issuer: E
2012.03.21 12:18:11 LOG5[75872:77468]: Protocol: TLS1
2012.03.21 12:18:11 LOG5[75872:77468]: Cipher: Gost 28147-89
2012.03.21 12:18:11 LOG5[75872:77468]: Cipher strength: 256
2012.03.21 12:18:11 LOG5[75872:77468]: Hash: Gost R 34.11-94
2012.03.21 12:18:11 LOG5[75872:77468]: Hash strength: 256
2012.03.21 12:18:11 LOG5[75872:77468]: Key exchange: 0xaa25
2012.03.21 12:18:11 LOG5[75872:77468]: Key exchange strength: 512
2012.03.21 12:18:11 LOG7[75872:77468]: Handshake_done
2012.03.21 12:18:11 LOG7[75872:77468]: add ssl read socket to pool
2012.03.21 12:18:11 LOG7[75872:77468]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2012.03.21 12:18:11 LOG7[75872:77468]: Enter pool section on transfer
2012.03.21 12:18:11 LOG7[75872:77468]: data reciev from socket = 142
2012.03.21 12:18:11 LOG7[75872:77468]: add ssl read socket to pool
2012.03.21 12:18:11 LOG7[75872:77468]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=142,want_rd = 0
2012.03.21 12:18:11 LOG7[75872:77468]: Enter pool section on transfer
2012.03.21 12:18:11 LOG5[75872:77468]: SSPI_write start
2012.03.21 12:18:11 LOG7[75872:77468]: SSPI_write data  is 
2012.03.21 12:18:11 LOG7[75872:77468]: send all data after encrypt
2012.03.21 12:18:11 LOG7[75872:77468]: data send to ssl_socket =142
2012.03.21 12:18:11 LOG7[75872:77468]: add ssl read socket to pool
2012.03.21 12:18:11 LOG7[75872:77468]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2012.03.21 12:18:11 LOG7[75872:77468]: Enter pool section on transfer
2012.03.21 12:18:11 LOG7[75872:77468]: SSPI_read start
2012.03.21 12:18:11 LOG7[75872:77468]: recv ok on SSPI_read err= 224
2012.03.21 12:18:11 LOG5[75872:77468]: Received 224  bytes from ssl socket
2012.03.21 12:18:11 LOG7[75872:77468]: SSPI_read data in ssl_buff is <!DO
2012.03.21 12:18:11 LOG7[75872:77468]: data read from ssl_sock =215
2012.03.21 12:18:11 LOG7[75872:77468]: add ssl read socket to pool
2012.03.21 12:18:11 LOG7[75872:77468]: ssl_rd = 1, c->ssl_ptr = 215,c->sock_ptr=0,want_rd = 0
2012.03.21 12:18:11 LOG7[75872:77468]: add write socket to poll
2012.03.21 12:18:11 LOG7[75872:77468]: Enter pool section on transfer
2012.03.21 12:18:11 LOG7[75872:77468]: data send to socket = 215
2012.03.21 12:18:11 LOG7[75872:77468]: SSPI_read start
2012.03.21 12:18:11 LOG7[75872:77468]: recv ok on SSPI_read err= 0
2012.03.21 12:18:11 LOG3[75872:77468]: recv return 0 and ask more but there is not complete data for decrypt
2012.03.21 12:18:11 LOG5[75872:77468]: SSPI_read: read socket closed
2012.03.21 12:18:11 LOG7[75872:77468]: Socket write shutdown
2012.03.21 12:18:11 LOG7[75872:77468]: c->ssl_ptr = 0
2012.03.21 12:18:11 LOG7[75872:77468]: Enter pool section on transfer
2012.03.21 12:18:11 LOG7[75872:77468]: Socket closed on read
2012.03.21 12:18:11 LOG7[75872:77468]: SSL write shutdown
2012.03.21 12:18:11 LOG7[75872:77468]: Enter pool section on transfer
2012.03.21 12:18:11 LOG3[75872:77468]: **** Error 0x8009030d returned by AcceptSecurityContext
2012.03.21 12:18:11 LOG7[75872:77468]: SSL_shutdown retrying
2012.03.21 12:18:11 LOG7[75872:77468]: SSL doesn't need to read or write
2012.03.21 12:18:11 LOG5[75872:77468]: Connection closed: 142 bytes sent to SSL, 215 bytes sent to socket
2012.03.21 12:18:11 LOG7[75872:77468]: free Buffers
2012.03.21 12:18:11 LOG7[75872:77468]: delete c->hContext
2012.03.21 12:18:11 LOG7[75872:77468]: delete c->hClientCreds
2012.03.21 12:18:11 LOG5[75872:77468]: incomp_mess = 2, extra_data = 0
2012.03.21 12:18:11 LOG7[75872:77468]: https finished (0 left)


Вывод csptest
Код:
C:\Program Files\Crypto Pro\CSP>csptest -tlsc -server bus.gov.ru -v
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Windows CPU:IA32 FastCode:READY,DISABLED (CContextG28147EncryptECB;
CContextG28147DecryptECB; CContextG28147EncryptCBC; CContextG28147DecryptCBC; CContextG28147G
csptest -tlsc -server bus.gov.ru -v
8 algorithms supported:
[0] 1.2.840.113549.3.4 (rc4)
[1] 1.2.840.113549.3.7 (3des)
[2] 1.2.840.113549.3.2 (rc2)
[3] 1.3.14.3.2.7 (des)
[4] 1.2.840.113549.2.5 (md5)
[5] 1.3.14.3.2.26 (sha1)
[6] 1.2.840.113549.1.1.1 (RSA)
[7] 1.2.840.113549.1.9.16.3.5 (ESDH)
Cipher strengths: 256..256
Supported protocols: 0x800000a8
No SetCredentialsAttributes
ClientHello: RecordLayer: SSL, Len: 85
Cipher Suites: (81 00 00) (80 00 00) (32 00 00) (04 00 00) (05 00 00) (0a 00 00) (80 00 01) (c0 00 07) (80 00 03) (09 00
 00) (40 00 06) (64 00 00) (62 00 00) (03 00 00) (06 00 00) (80 00 02) (80 00 04) (13 00 00) (12 00 00) (63 00 00)
87 bytes of handshake data sent
2625 bytes of handshake data received
Server requested new credentials!

Trying to create new credential
Issuer  0: E=uuc_fk@roskazna.ru, STREET=ул. Ильинка д.7, L=г. Москва, OID.1.2.840.113549.1.9.2=Данный сертификат открыто
го ключа используется со средством СКЗИ Крипто Про CSP, C=RU, OU=Управление режима секретности и безопасности информации
, O=Федеральное казначейство, CN=Уполномоченный удостоверяющий центр Федерального казначейства
Issuer  1: SN=Медведев, G=Анатолий Борисович, L=г. Москва, STREET="ул. Ильинка, д.9", OID.1.2.840.113549.1.9.2=Данный се
ртификат открытого ключа используется со средством СКЗИ Крипто Про CSP, C=RU, O=Федеральное казначейство, CN=Уполномочен
ный удостоверяющий центр Федерального казначейства
Issuers: 2, Lenght: 1097 bytes
An error occurred in running the program.
.\WebClient.c:2013:Error finding cert chain
Error number 0x80092004 (2148081668).
Объект или свойство не найдено.

An error occurred in running the program.
.\WebClient.c:409:Error performing handshake.
Error number 0x80092004 (2148081668).
Объект или свойство не найдено.

Total: SYS: 0,063 sec USR: 0,000 sec UTC: 0,110 sec
[ErrorCode: 0x80092004]
Offline rozhkov  
#4 Оставлено : 21 марта 2012 г. 16:46:21(UTC)
rozhkov

Статус: Активный участник

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

Сертификат который c:\stun_cr\cert.cer установлен в хранилище личное текущего пользователя?
Offline buzikove  
#5 Оставлено : 21 марта 2012 г. 17:49:25(UTC)
buzikove

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

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

В cert.cer находятся сертификаты корневых удостоверяющих центров в виде
----BEGIN CERTIFICATE-----
Центр1
-----END CERTIFICATE-----
----BEGIN CERTIFICATE-----
Центр2
-----END CERTIFICATE-----

Только stunnel на них не обращал никакого внимания (и судя по Process Monitor, обращений к этому файлу вообще не было), пока я их не скопировал в Сертификаты(локальный компьютер)\Доверенные корневые центры серификации\Реестр\Сертификаты, что вполне логично, ведь служба запускается от имени системы.

Попробовал закомментировать эту строчку - ситуация не изменилась.
Offline rozhkov  
#6 Оставлено : 21 марта 2012 г. 18:47:13(UTC)
rozhkov

Статус: Активный участник

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

Ну ходить туда с помощью stunnel не получится, т.к. веб-сервер отвечает Вам динамическим портом, и Вы просто напросто не знаете на каком слушать, насчет tlsc интересно, подозреваю что из-за корневого, у меня нужного корневого нету ошибка та же самая.
Offline buzikove  
#7 Оставлено : 22 марта 2012 г. 18:30:00(UTC)
buzikove

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

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

А как тогда браузер узнает на каком порту ему слушать? В чем разница между ним и stunnel?
Вопрос провокационный, потому что у меня получилось туда ходить с помощью stunnel.
Offline rozhkov  
#8 Оставлено : 22 марта 2012 г. 20:54:14(UTC)
rozhkov

Статус: Активный участник

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

Т.к. сервер посылает клиенту ответ на динамическом (генерирует "рандомно") порту, угадать сложно, stunnel Вы ставите на "прослушку" строго определенный порт/порты, поэтому его работа при подключении к веб-серверу лишена смысла, слишком много портов слушать надо, а их еще и в файл конфигурации необходимо добавить.
Видимо как-то хитро сделано, не смогу ответить на Ваш вопрос :)
Offline buzikove  
#9 Оставлено : 26 марта 2012 г. 17:15:15(UTC)
buzikove

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

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

stunnel действительно "слушает" определенный порт, но только со стороны браузера. И работа с веб-сервером идет по "рандомному" порту, но нам его знать не нужно, потому что он (веб-сервер) отвечает на тот порт, с которого к нему пришел запрос, stunnel его сам "слушает", без каких-либо настроек.
Offline seriyvolkk  
#10 Оставлено : 8 ноября 2017 г. 21:05:44(UTC)
seriyvolkk

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

Группы: Участники
Зарегистрирован: 08.11.2017(UTC)
Сообщений: 2
Российская Федерация
Откуда: Москва

Доброго времени суток!
Пытаюсь настроить Крипто ПРО stunnel на Windows-машине (Windows Server 2008 R2) в качестве прокси для подключения по ГОСТ https к внешним системам.
На примере https://www.cryptopro.ru:4444/

Поставил Crypto PRO CSP 4.0, КриптоПро stunnel, добавил корневой сертификат УЦ, выпустившего сертификат для https://www.cryptopro.ru:4444/ в доверенные.
конфигурация stunnel:
Код:

output=c:\stun-cli\stun.log
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
[https]
client = yes
accept=127.0.0.1:1501
connect = www.cryptopro.ru:4444
verify=2


При работе без прокси IE11 корректно отображает страничку https://www.cryptopro.ru:4444/ (ошибка 403)
При работе с указанием в качестве прокси 127.0.0.1:1501 коннект не проходит,
лог stunnel:
Код:

2017.11.08 21:01:59 LOG7[3520:1944]: https accepted FD=364 from 127.0.0.1:65195
2017.11.08 21:01:59 LOG7[3520:1944]: Creating a new thread
2017.11.08 21:01:59 LOG7[3520:1944]: New thread created
2017.11.08 21:01:59 LOG7[3520:3952]: client start
2017.11.08 21:01:59 LOG7[3520:3952]: https started
2017.11.08 21:01:59 LOG7[3520:3952]: FD 364 in non-blocking mode
2017.11.08 21:01:59 LOG7[3520:3952]: TCP_NODELAY option set on local socket
2017.11.08 21:01:59 LOG5[3520:3952]: https connected from 127.0.0.1:65195
2017.11.08 21:01:59 LOG7[3520:3952]: FD 456 in non-blocking mode
2017.11.08 21:01:59 LOG7[3520:3952]: https connecting 
2017.11.08 21:01:59 LOG7[3520:3952]: connect_wait: waiting 10 seconds
2017.11.08 21:01:59 LOG7[3520:3952]: connect_wait: connected
2017.11.08 21:01:59 LOG7[3520:3952]: Remote FD=456 initialized
2017.11.08 21:01:59 LOG7[3520:3952]: TCP_NODELAY option set on remote socket
2017.11.08 21:01:59 LOG7[3520:3952]: start SSPI connect
2017.11.08 21:01:59 LOG3[3520:3952]: Credentials complete
2017.11.08 21:01:59 LOG7[3520:3952]: 137 bytes of handshake data sent
2017.11.08 21:01:59 LOG5[3520:3952]: 2225 bytes of handshake(in handshake loop) data received.
2017.11.08 21:01:59 LOG5[3520:3952]: 210 bytes of handshake data sent
2017.11.08 21:01:59 LOG5[3520:3952]: 31 bytes of handshake(in handshake loop) data received.
2017.11.08 21:01:59 LOG5[3520:3952]: Handshake was successful
2017.11.08 21:01:59 LOG5[3520:3952]: PerformClientHandshake finish 
2017.11.08 21:01:59 LOG5[3520:3952]: Server subject: E
2017.11.08 21:01:59 LOG5[3520:3952]: Server issuer: O
2017.11.08 21:01:59 LOG5[3520:3952]: Protocol: TLS1
2017.11.08 21:01:59 LOG5[3520:3952]: Cipher: Gost 28147-89
2017.11.08 21:01:59 LOG5[3520:3952]: Cipher strength: 256
2017.11.08 21:01:59 LOG5[3520:3952]: Hash: 0x8021
2017.11.08 21:01:59 LOG5[3520:3952]: Hash strength: 256
2017.11.08 21:01:59 LOG5[3520:3952]: Key exchange: 0xaa25
2017.11.08 21:01:59 LOG5[3520:3952]: Key exchange strength: 512
2017.11.08 21:01:59 LOG7[3520:3952]: Handshake_done
2017.11.08 21:01:59 LOG7[3520:3952]: add ssl read socket to pool
2017.11.08 21:01:59 LOG7[3520:3952]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2017.11.08 21:01:59 LOG7[3520:3952]: Enter pool section on transfer
2017.11.08 21:01:59 LOG7[3520:3952]: data reciev from socket = 220
2017.11.08 21:01:59 LOG7[3520:3952]: add ssl read socket to pool
2017.11.08 21:01:59 LOG7[3520:3952]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=220,want_rd = 0
2017.11.08 21:01:59 LOG7[3520:3952]: Enter pool section on transfer
2017.11.08 21:01:59 LOG5[3520:3952]: SSPI_write start
2017.11.08 21:01:59 LOG7[3520:3952]: SSPI_write data  is CONN
2017.11.08 21:01:59 LOG7[3520:3952]: send all data after encrypt
2017.11.08 21:01:59 LOG7[3520:3952]: data send to ssl_socket =220
2017.11.08 21:01:59 LOG7[3520:3952]: add ssl read socket to pool
2017.11.08 21:01:59 LOG7[3520:3952]: ssl_rd = 1, c->ssl_ptr = 0,c->sock_ptr=0,want_rd = 0
2017.11.08 21:01:59 LOG7[3520:3952]: Enter pool section on transfer
2017.11.08 21:01:59 LOG7[3520:3952]: SSPI_read start
2017.11.08 21:01:59 LOG7[3520:3952]: recv ok on SSPI_read err= 481
2017.11.08 21:01:59 LOG5[3520:3952]: Received 481  bytes from ssl socket
2017.11.08 21:01:59 LOG7[3520:3952]: SSPI_read data in ssl_buff is HTTP
2017.11.08 21:01:59 LOG7[3520:3952]: data read from ssl_sock =472
2017.11.08 21:01:59 LOG7[3520:3952]: add ssl read socket to pool
2017.11.08 21:01:59 LOG7[3520:3952]: ssl_rd = 1, c->ssl_ptr = 472,c->sock_ptr=0,want_rd = 0
2017.11.08 21:01:59 LOG7[3520:3952]: add write socket to poll
2017.11.08 21:01:59 LOG7[3520:3952]: Enter pool section on transfer
2017.11.08 21:01:59 LOG7[3520:3952]: data send to socket = 472
2017.11.08 21:01:59 LOG7[3520:3952]: SSPI_read start
2017.11.08 21:01:59 LOG7[3520:3952]: recv ok on SSPI_read err= 0
2017.11.08 21:01:59 LOG3[3520:3952]: recv return 0 and ask more but there is not complete data for decrypt
2017.11.08 21:01:59 LOG5[3520:3952]: SSPI_read: read socket closed
2017.11.08 21:01:59 LOG7[3520:3952]: Socket write shutdown
2017.11.08 21:01:59 LOG7[3520:3952]: c->ssl_ptr = 0
2017.11.08 21:01:59 LOG7[3520:3952]: Enter pool section on transfer
2017.11.08 21:01:59 LOG7[3520:3952]: Socket closed on read
2017.11.08 21:01:59 LOG7[3520:3952]: SSL write shutdown
2017.11.08 21:01:59 LOG7[3520:3952]: Enter pool section on transfer
2017.11.08 21:01:59 LOG3[3520:3952]: **** Error 0x8009030d returned by AcceptSecurityContext
2017.11.08 21:01:59 LOG7[3520:3952]: SSL_shutdown retrying
2017.11.08 21:01:59 LOG7[3520:3952]: SSL doesn't need to read or write
2017.11.08 21:01:59 LOG5[3520:3952]: Connection closed: 220 bytes sent to SSL, 472 bytes sent to socket
2017.11.08 21:01:59 LOG7[3520:3952]: free Buffers
2017.11.08 21:01:59 LOG7[3520:3952]: delete c->hContext
2017.11.08 21:01:59 LOG7[3520:3952]: delete c->hClientCreds
2017.11.08 21:01:59 LOG5[3520:3952]: incomp_mess = 2, extra_data = 0
2017.11.08 21:01:59 LOG7[3520:3952]: https finished (0 left)


Подскажите, пожалуйста, что я делаю не так?

Отредактировано пользователем 8 ноября 2017 г. 21:11:13(UTC)  | Причина: Не указана

Offline seriyvolkk  
#11 Оставлено : 8 ноября 2017 г. 21:21:21(UTC)
seriyvolkk

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

Группы: Участники
Зарегистрирован: 08.11.2017(UTC)
Сообщений: 2
Российская Федерация
Откуда: Москва

Гм. Как минимум, обходное решение - обращаться по адресу stunnel
http://www.cryptopro.ru/...ts&m=45652#post45652
Offline Дмитрий Пичулин  
#12 Оставлено : 8 ноября 2017 г. 22:15:23(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 135 раз в 114 постах
Автор: seriyvolkk Перейти к цитате
ДПытаюсь настроить Крипто ПРО stunnel на Windows-машине (Windows Server 2008 R2) в качестве прокси для подключения по ГОСТ https к внешним системам.

Пожалуйста, используйте обновлённую (текущую) версию, уже даже на официальном сайте есть ссылка на stunnel-msspi: https://www.cryptopro.ru...ucts/other/stunnel-msspi

По старой версии будет очень сложно получить поддержку.

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