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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Дмитрий Кудрявцев  
#1 Оставлено : 25 сентября 2023 г. 13:29:39(UTC)
Дмитрий Кудрявцев

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

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

Добрый день!

Установил Nginx и CSP 5.0r2 по этой инстпукции https://support.cryptopr...-c-podderzhkojj-gost-tls

С работой в качестве классического реверс-прокси проблем нет, принимаем подключения по GOST TLS и затем проксируем на бек по http

Но появилась задача сделать обратное, принимать внутренние подключения по http (или с использованием самоподписанного rsa) и проксировать на внешнюю ИС с GOST TLS.
Если удаленная ИС не использует GOST, прокси работает нормально, но при переключении на узел с GOST в логах ошибка алгоритмов шифрования

Цитата:
2023/09/25 12:46:30 [crit] 5467#0: *3 SSL_do_handshake() failed (SSL: error:1421C0F8:SSL routines:set_client_ciphersuite:unknown cipher returned) while SSL handshaking to upstream, client: 10.50.0.3, server: rpxy.mydomain.loc, request: "GET / HTTP/1.1", upstream: "https://193.37.157.86:443/", host: "rpxy.mydomain.loc"


Конфиг nginx минимальный

Цитата:
http {
server {
listen 80;
server_name rpxy.mydomain.loc;

location / {
proxy_pass https://tlsgost-2001.cryptopro.ru:443;
proxy_http_version 1.1;
}
}
}


Добавил пакет libengine-gost-openssl и включил gost engine в openssl.cnf

Цитата:
# openssl ciphers | tr ':' '\n' | grep GOST
GOST2012-GOST8912-GOST8912
GOST2001-GOST89-GOST89


Запрос через клиента openssl отрабатывает (не считая ругани на local issuer certificate)

Цитата:
openssl s_client -connect tlsgost-2001.cryptopro.ru:443
CONNECTED(00000003)
depth=0 CN = id-GostR3410-2001-CryptoPro-XchA-ParamSet_2001noauth
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = id-GostR3410-2001-CryptoPro-XchA-ParamSet_2001noauth
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:CN = id-GostR3410-2001-CryptoPro-XchA-ParamSet_2001noauth
i:OGRN = 1234567890123, INN = 001234567890, street = \D1\83\D0\BB. \D0\A1\D1\83\D1\89\D1\91\D0\B2\D1\81\D0\BA\D0\B8\D0\B9 \D0\B2\D0\B0\D0\BB \D0\B4. 18, C = RU, ST = \D0\B3. \D0\9C\D0\BE\D1\81\D0\BA\D0\B2\D0\B0, L = \D0\9C\D0\BE\D1\81\D0\BA\D0\B2\D0\B0, O = \D0\9E\D0\9E\D0\9E \"\D0\9A\D0\A0\D0\98\D0\9F\D0\A2\D0\9E-\D0\9F\D0\A0\D0\9E\", CN = \D0\A2\D0\B5\D1\81\D1\82\D0\BE\D0\B2\D1\8B\D0\B9 \D0\A3\D0\A6 \D0\9E\D0\9E\D0\9E \"\D0\9A\D0\A0\D0\98\D0\9F\D0\A2\D0\9E-\D0\9F\D0\A0\D0\9E\"
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFVTCCBQKgAwIBAgITfAAK7JRqp84tuAhUmAAEAArslDAKBggqhQMHAQEDAjCC
AQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEy


Подскажите, как научить nginx работать с ГОСТ-овыми алгоритмами, когда он выступает в качестве клиента?
Offline Русев Андрей  
#2 Оставлено : 25 сентября 2023 г. 13:34:14(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,369

Сказал(а) «Спасибо»: 27 раз
Поблагодарили: 532 раз в 372 постах
Здравствуйте.
Попробуйте бинарный пакет cprocsp-nginx из состава КриптоПро CSP 5.0 R3: https://support.cryptopr...inx-gost-binary-packages
Там устранялись некоторые проблемы при работе в качестве клиента.
Официальная техподдержка. Официальная база знаний.
Offline Дмитрий Кудрявцев  
#3 Оставлено : 25 сентября 2023 г. 14:25:12(UTC)
Дмитрий Кудрявцев

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

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

Автор: olin Перейти к цитате
Здравствуйте.
Попробуйте бинарный пакет cprocsp-nginx из состава КриптоПро CSP 5.0 R3: https://support.cryptopr...inx-gost-binary-packages
Там устранялись некоторые проблемы при работе в качестве клиента.


Добрый день! Пробовал, но там та же ошибка

Цитата:
root@rpxy:/tmp/crypto_pro_5.3/linux-amd64_deb# tail -f /var/log/cpnginx/error.log
2023/09/25 14:20:52 [notice] 5675#0: worker process 5677 exited with code 0
2023/09/25 14:20:52 [notice] 5675#0: exit
2023/09/25 14:20:55 [notice] 5729#0: using the "epoll" event method
2023/09/25 14:20:55 [notice] 5729#0: nginx/1.22.1
2023/09/25 14:20:55 [notice] 5729#0: built by gcc 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
2023/09/25 14:20:55 [notice] 5729#0: OS: Linux 4.15.0-112-generic
2023/09/25 14:20:55 [notice] 5729#0: getrlimit(RLIMIT_NOFILE): 1024:4096
2023/09/25 14:20:55 [notice] 5741#0: start worker processes
2023/09/25 14:20:55 [notice] 5741#0: start worker process 5744
2023/09/25 14:20:55 [notice] 5741#0: start worker process 5745


2023/09/25 14:21:14 [crit] 5745#0: *1 SSL_do_handshake() failed (SSL: error:1421C0F8:SSL routines:set_client_ciphersuite:unknown cipher returned) while SSL handshaking to upstream, client: 10.50.0.3, server: rpxy.mydomain.loc, request: "GET / HTTP/1.1", upstream: "https://193.37.157.86:443/", host: "rpxy.mydomain.loc"



Offline Русев Андрей  
#4 Оставлено : 25 сентября 2023 г. 14:41:05(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,369

Сказал(а) «Спасибо»: 27 раз
Поблагодарили: 532 раз в 372 постах
А какой у вас за TLS сервер на той стороне? Чья криптография?
Официальная техподдержка. Официальная база знаний.
Offline Дмитрий Кудрявцев  
#5 Оставлено : 25 сентября 2023 г. 15:04:27(UTC)
Дмитрий Кудрявцев

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

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

Насколько мне известно, на той стороне такой-же nginx с патчем + КриптоПро.
Я пробовал указать в proxy_pass и Ваш тестовый хост https://tlsgost-2001.cryptopro.ru:443
Offline Дмитрий Кудрявцев  
#6 Оставлено : 25 сентября 2023 г. 15:49:21(UTC)
Дмитрий Кудрявцев

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

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

потерял proxy_sspi on; в location =) Ошибка с шифрами ушла, теперь CertGetCertificateChain trust error
Но это думаю вылечится добавлением их корневого сертификата в хранилище
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.