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

Уведомление

Icon
Error

10 Страницы«<78910>
Опции
К последнему сообщению К первому непрочитанному
Offline ozz_born  
#161 Оставлено : 29 мая 2019 г. 9:47:50(UTC)
ozz_born

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

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

Автор: Дмитрий Пичулин Перейти к цитате
Автор: Mikhail0101 Перейти к цитате
Включил логирование CSP, перезапустил nginx - новых ошибок в логах (/var/log/nginx/error.log, /var/log/messages) не появилось...

Да, ошибка оказалась крепким орешком.

При типичном использовании nginx в качестве сервера, всегда есть ссылка на закрытый ключ через gostengy, поэтому криптографический модуль OpenSSL никогда не выгружается.

В вашей конфигурации нет ссылок на gostengy, так как у вас в конфигурации только клиентское соединение, не использующее закрытый ключ.

При такой конфигурации, мастер процесс nginx после запуска рабочих процессов делает cleanup, который освобождает неиспользуемые модули, что приводит к освобождению глобального контекста, который общий для всех процессов. После этого рабочие процессы не могут пользоваться контекстом, так как он был освобождён.

Это исправлено. Проверено. Скрипты обновлены.


Добрый день!

Использую ручную сборку Nginx на базе вашего скрипта, на всякий пожарный заодно его и пропатчил.

./configure --prefix=/opt/nginx.cp --with-http_ssl_module --with-cc-opt='-I/opt/cprocsp/cp-openssl-1.1.0/include/' --with-ld-opt='-L/opt/cprocsp/cp-openssl-1.1.0/lib/amd64/' --with-http_stub_status_module --with-debug --with-compat --with-file-aio --with-threads --with-http_addition_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module

# rpm -qa|grep cproc|sort
cprocsp-cpopenssl-110-64-5.0.11216-5
cprocsp-cpopenssl-110-base-5.0.11216-5
cprocsp-cpopenssl-110-devel-5.0.11216-5
cprocsp-cpopenssl-110-gost-64-5.0.11216-5
cprocsp-rdr-gui-gtk-64-4.0.9963-5
lsb-cprocsp-base-4.0.9963-5
lsb-cprocsp-capilite-64-4.0.9963-5
lsb-cprocsp-kc1-64-4.0.9963-5
lsb-cprocsp-kc2-64-4.0.9963-5
lsb-cprocsp-rdr-64-4.0.9963-5

# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 180423 $)

# /opt/nginx.cp/sbin/nginx -V
nginx version: nginx/1.16.0
built by gcc 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)
built with OpenSSL 1.1.0h 27 Mar 2018
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx.cp --with-http_ssl_module --with-cc-opt=-I/opt/cprocsp/cp-openssl-1.1.0/include/ --with-ld-opt=-L/opt/cprocsp/cp-openssl-1.1.0/lib/amd64/ --with-http_stub_status_module --with-debug --with-compat --with-file-aio --with-threads --with-http_addition_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module

# ldd /opt/nginx.cp/sbin/nginx
linux-vdso.so.1 => (0x00007fffc571a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa91e1eb000)
librt.so.1 => /lib64/librt.so.1 (0x00007fa91dfe2000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa91ddc4000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fa91db89000)
libpcre.so.0 => /usr/lib64/libpcre.so.0 (0x00007fa91d959000)
libssl.so.1.1 => /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/libssl.so.1.1 (0x00007fa91d6ea000)
libcrypto.so.1.1 => /opt/cprocsp/cp-openssl-1.1.0/lib/amd64/libcrypto.so.1.1 (0x00007fa91d265000)
libz.so.1 => /lib64/libz.so.1 (0x00007fa91d04f000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa91ccd5000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa91e426000)

Подключаюсь openssl к ресурсу без проблем

# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl s_client --connect gost2012.stable.dp.korona.net:443 -cipher GOST2012-GOST8912-GOST8912 -quiet
depth=2 C = RU, O = Center of Financial Technologies, CN = Primary CA
verify error:num=19:self signed certificate in certificate chain

Но nginx при проксировании запроса ломается с ошибкой

[crit] 3535#3535: *11 SSL_do_handshake() failed (SSL: error:80005022:lib(128):gng_support_create_pubkey_3410:CryptImportPublicKeyInfo error:0B09407D:x509 certificate routines:x509_pubkey_decode:public key decode error error:1416F0EF:SSL routines:tls_process_server_certificate:unable to find public key parameters) while SSL handshaking to upstream,

Кусок конфигурации Nginx.
server {
listen 81;

location ~ ^/ {
proxy_ssl_verify off;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_ssl_ciphers GOST2012-GOST8912-GOST8912; #


proxy_pass https://gost2012.stable.dp.korona.net;
proxy_set_header Host "gost2012.stable.dp.korona.net";

}
}

Что я делаю не так?

Отредактировано пользователем 29 мая 2019 г. 13:25:50(UTC)  | Причина: Не указана

Online Санчир Момолдаев  
#162 Оставлено : 29 мая 2019 г. 22:44:02(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: ozz_born Перейти к цитате


# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 180423 $)

Что я делаю не так?


приведите вывод which openssl
Техническую поддержку оказываем тут
Наша база знаний
Offline ozz_born  
#163 Оставлено : 30 мая 2019 г. 5:42:36(UTC)
ozz_born

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

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

Автор: Санчир Момолдаев Перейти к цитате
Автор: ozz_born Перейти к цитате


# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 180423 $)

Что я делаю не так?


приведите вывод which openssl


# which openssl
/usr/bin/openssl
Online Санчир Момолдаев  
#164 Оставлено : 30 мая 2019 г. 5:48:46(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: ozz_born Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
Автор: ozz_born Перейти к цитате


# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 180423 $)

Что я делаю не так?


приведите вывод which openssl


# which openssl
/usr/bin/openssl


попробуйте мувнуть куда-нибудь оригинальный /usr/bin/openssl и вместо него сделать симлинк на /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
и попробуйте заново в nginx
Техническую поддержку оказываем тут
Наша база знаний
Offline ozz_born  
#165 Оставлено : 30 мая 2019 г. 5:55:28(UTC)
ozz_born

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

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

Автор: Санчир Момолдаев Перейти к цитате
Автор: ozz_born Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
Автор: ozz_born Перейти к цитате


# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 180423 $)

Что я делаю не так?


приведите вывод which openssl


# which openssl
/usr/bin/openssl


попробуйте мувнуть куда-нибудь оригинальный /usr/bin/openssl и вместо него сделать симлинк на /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
и попробуйте заново в nginx


Перезапустил nginx и сервис КриптоПро. Результат тот же.

# ls -l /usr/bin/openssl
lrwxrwxrwx 1 root root 47 May 30 07:50 /usr/bin/openssl -> /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl

[crit] 10001#10001: *1 SSL_do_handshake() failed (SSL: error:80005022:lib(128):gng_support_create_pubkey_3410:CryptImportPublicKeyInfo error:0B09407D:x509 certificate routines:x509_pubkey_decode:public key decode error error:1416F0EF:SSL routines:tls_process_server_certificate:unable to find public key parameters) while SSL handshaking to upstream,
Online Санчир Момолдаев  
#166 Оставлено : 30 мая 2019 г. 6:06:19(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: ozz_born Перейти к цитате

Перезапустил nginx и сервис КриптоПро. Результат тот же.

# ls -l /usr/bin/openssl
lrwxrwxrwx 1 root root 47 May 30 07:50 /usr/bin/openssl -> /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl

[crit] 10001#10001: *1 SSL_do_handshake() failed (SSL: error:80005022:lib(128):gng_support_create_pubkey_3410:CryptImportPublicKeyInfo error:0B09407D:x509 certificate routines:x509_pubkey_decode:public key decode error error:1416F0EF:SSL routines:tls_process_server_certificate:unable to find public key parameters) while SSL handshaking to upstream,

вы хотите спроксировать одностороннее tls соединение?
Техническую поддержку оказываем тут
Наша база знаний
Offline ozz_born  
#167 Оставлено : 30 мая 2019 г. 6:10:49(UTC)
ozz_born

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

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

Автор: Санчир Момолдаев Перейти к цитате
Автор: ozz_born Перейти к цитате

Перезапустил nginx и сервис КриптоПро. Результат тот же.

# ls -l /usr/bin/openssl
lrwxrwxrwx 1 root root 47 May 30 07:50 /usr/bin/openssl -> /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl

[crit] 10001#10001: *1 SSL_do_handshake() failed (SSL: error:80005022:lib(128):gng_support_create_pubkey_3410:CryptImportPublicKeyInfo error:0B09407D:x509 certificate routines:x509_pubkey_decode:public key decode error error:1416F0EF:SSL routines:tls_process_server_certificate:unable to find public key parameters) while SSL handshaking to upstream,

вы хотите спроксировать одностороннее tls соединение?


Именно одностороннее. Насколько я понял из предыдущих постов проблема с выгрузкой криптомодуля была решена в версии 5.0.11216-5.
Online Санчир Момолдаев  
#168 Оставлено : 1 июня 2019 г. 11:22:51(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: ozz_born Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
Автор: ozz_born Перейти к цитате

Перезапустил nginx и сервис КриптоПро. Результат тот же.

# ls -l /usr/bin/openssl
lrwxrwxrwx 1 root root 47 May 30 07:50 /usr/bin/openssl -> /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl

[crit] 10001#10001: *1 SSL_do_handshake() failed (SSL: error:80005022:lib(128):gng_support_create_pubkey_3410:CryptImportPublicKeyInfo error:0B09407D:x509 certificate routines:x509_pubkey_decode:public key decode error error:1416F0EF:SSL routines:tls_process_server_certificate:unable to find public key parameters) while SSL handshaking to upstream,

вы хотите спроксировать одностороннее tls соединение?


Именно одностороннее. Насколько я понял из предыдущих постов проблема с выгрузкой криптомодуля была решена в версии 5.0.11216-5.


может тогда легче использовать stunnel? задача по проксированию через nginx не ставилась.
Техническую поддержку оказываем тут
Наша база знаний
Offline ozz_born  
#169 Оставлено : 3 июня 2019 г. 8:25:44(UTC)
ozz_born

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

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

Автор: Санчир Момолдаев Перейти к цитате

может тогда легче использовать stunnel? задача по проксированию через nginx не ставилась.


Добрый день! Как тогда понимать этот пост?

Автор: Дмитрий Пичулин Перейти к цитате
Автор: Mikhail0101 Перейти к цитате
Включил логирование CSP, перезапустил nginx - новых ошибок в логах (/var/log/nginx/error.log, /var/log/messages) не появилось...

Да, ошибка оказалась крепким орешком.

При типичном использовании nginx в качестве сервера, всегда есть ссылка на закрытый ключ через gostengy, поэтому криптографический модуль OpenSSL никогда не выгружается.

В вашей конфигурации нет ссылок на gostengy, так как у вас в конфигурации только клиентское соединение, не использующее закрытый ключ.

При такой конфигурации, мастер процесс nginx после запуска рабочих процессов делает cleanup, который освобождает неиспользуемые модули, что приводит к освобождению глобального контекста, который общий для всех процессов. После этого рабочие процессы не могут пользоваться контекстом, так как он был освобождён.

Это исправлено. Проверено. Скрипты обновлены.


Ставить stunnel после nginx не хотелось бы.
Online Санчир Момолдаев  
#170 Оставлено : 3 июня 2019 г. 8:44:09(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
My bad, протестирую на стенде
Техническую поддержку оказываем тут
Наша база знаний
Offline Марфа Ильинишна  
#171 Оставлено : 3 июня 2019 г. 9:28:08(UTC)
Марфа Ильинишна

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

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

День добрый!
Двусторонняя аутентификация не поддерживается?
Был развёрнут свежевыкачанный Centos7, сборка nginx+openssl поднята вашими скриптами, сертификаты ГОСТ2012 сформированы в вашем тестовом УЦ. Односторонняя верификация проходит на ура, а при двустороннке вылезает ошибка
Код:
 client sent no required SSL certificate while reading client request headers 

При использованием сертификатов ГОСТ 2001 проблем нет - клиентский сертификат запрашивается.

конфиг nginx


Offline preobrazhensky  
#172 Оставлено : 3 июня 2019 г. 14:18:29(UTC)
preobrazhensky

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

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

Добрый день!

Ищем сертифицированное решение версия для установления tls-ГОСТ.
Возможно ли это сделать на nginx (12 версии, на ubuntu)?

(Сейчас на веб-сервер nginx сервера проведено добавление поддержки ГОСТ-2012 с помощью библиотеки/движка gostengy https://www.cryptopro.ru...spx?g=posts&t=12505)
Online Санчир Момолдаев  
#173 Оставлено : 5 июня 2019 г. 12:28:00(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: ozz_born Перейти к цитате

Что я делаю не так?

попробовал с собранными openssl и nginx
проксирование на https://q.cryptopro.ru проходит успешно
на gost2012.stable.dp.korona.net получаю 403
но хендшейк проходит
/opt/cprocsp/bin/amd64/csptest -tlsc -server gost2012.stable.dp.korona.net -nocheck -nosave -v

конфигурация
Техническую поддержку оказываем тут
Наша база знаний
Online Санчир Момолдаев  
#174 Оставлено : 5 июня 2019 г. 12:34:38(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: Марфа Ильинишна Перейти к цитате
День добрый!
Двусторонняя аутентификация не поддерживается?
Был развёрнут свежевыкачанный Centos7, сборка nginx+openssl поднята вашими скриптами, сертификаты ГОСТ2012 сформированы в вашем тестовом УЦ. Односторонняя верификация проходит на ура, а при двустороннке вылезает ошибка
Код:
 client sent no required SSL certificate while reading client request headers 

При использованием сертификатов ГОСТ 2001 проблем нет - клиентский сертификат запрашивается.

работает.
ключ не передавали через proxy_ssl_certificate_key ?
Техническую поддержку оказываем тут
Наша база знаний
Online Санчир Момолдаев  
#175 Оставлено : 5 июня 2019 г. 12:37:34(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: preobrazhensky Перейти к цитате
Добрый день!

Ищем сертифицированное решение версия для установления tls-ГОСТ.
Возможно ли это сделать на nginx (12 версии, на ubuntu)?

(Сейчас на веб-сервер nginx сервера проведено добавление поддержки ГОСТ-2012 с помощью библиотеки/движка gostengy https://www.cryptopro.ru...spx?g=posts&t=12505)


посмотрите на trusted tls https://trusted.ru/products/trusted-tls/about/
Техническую поддержку оказываем тут
Наша база знаний
Offline Марфа Ильинишна  
#176 Оставлено : 5 июня 2019 г. 15:45:17(UTC)
Марфа Ильинишна

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

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

Автор: Санчир Момолдаев Перейти к цитате
Автор: Марфа Ильинишна Перейти к цитате
День добрый!
Двусторонняя аутентификация не поддерживается?
Был развёрнут свежевыкачанный Centos7, сборка nginx+openssl поднята вашими скриптами, сертификаты ГОСТ2012 сформированы в вашем тестовом УЦ. Односторонняя верификация проходит на ура, а при двустороннке вылезает ошибка
Код:
 client sent no required SSL certificate while reading client request headers 

При использованием сертификатов ГОСТ 2001 проблем нет - клиентский сертификат запрашивается.

работает.
ключ не передавали через proxy_ssl_certificate_key ?

Пытались от бессилия.
Двусторонняя авторизация именно на сервере с nginx, proxy_pass отправляет уже на обычный http, поэтому вроде как и нет необходимости в proxy_ssl_certificate_key. С сертификатами ГОСТ2001 работает и без этой директивы.

При использовании ГОСТ 2012 в логах только подтверждение собственной немощи - данные о сертифкаты не парсятся вообще, клиентский сертификат не прилетает. В браузере поддержка TLS 1.2 включена.

/var/log/nginx/error-ssl.log
Код:
 client sent no required SSL certificate while reading client request header 


/var/log/nginx/access.log
Код:
"ssl client serial" -  "remote_addr" 10.0.0.2 -"remote_user" - [05/Jun/2019:08:27:23 -0400] "request" "GET / HTTP/1.1" "status" 400 "body_bytes_sent" 253 "http_referer" -"ssl_client_cert" - TLSv1.2/GOST2012-GOST8912-GOST8912"Client fingerprint" - "X-SSL-CERT" -"ssl_client_verify=" NONE 



Код:

location / {
            error_log /var/log/nginx/error.log debug;
            proxy_set_header X-SSL-Client-Cert $ssl_client_cert;
            proxy_set_header X-SSL-client-serial $ssl_client_serial;
            proxy_pass http://10.0.0.85:2534;
            proxy_set_header Host       $host;
            proxy_set_header X-Real-IP $remote_addr; 



           #Задаёт файл с сертификатом в формате PEM для аутентификации на проксируемом HTTPS-сервере
            proxy_ssl_certificate     /etc/nginx/server.pem;
            proxy_ssl_certificate_key engine:gostengy:server;
           #proxy_ssl_trusted_certificate /home/cryptoTEST/CA_bundle.pem;
		   }

Online Санчир Момолдаев  
#177 Оставлено : 5 июня 2019 г. 17:15:22(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 10 раз
Поблагодарили: 19 раз в 19 постах
Автор: Марфа Ильинишна Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
Автор: Марфа Ильинишна Перейти к цитате
День добрый!
Двусторонняя аутентификация не поддерживается?
Был развёрнут свежевыкачанный Centos7, сборка nginx+openssl поднята вашими скриптами, сертификаты ГОСТ2012 сформированы в вашем тестовом УЦ. Односторонняя верификация проходит на ура, а при двустороннке вылезает ошибка
Код:
 client sent no required SSL certificate while reading client request headers 

При использованием сертификатов ГОСТ 2001 проблем нет - клиентский сертификат запрашивается.

работает.
ключ не передавали через proxy_ssl_certificate_key ?

Пытались от бессилия.
Двусторонняя авторизация именно на сервере с nginx, proxy_pass отправляет уже на обычный http, поэтому вроде как и нет необходимости в proxy_ssl_certificate_key. С сертификатами ГОСТ2001 работает и без этой директивы.

При использовании ГОСТ 2012 в логах только подтверждение собственной немощи - данные о сертифкаты не парсятся вообще, клиентский сертификат не прилетает. В браузере поддержка TLS 1.2 включена.

/var/log/nginx/error-ssl.log
Код:
 client sent no required SSL certificate while reading client request header 


/var/log/nginx/access.log
Код:
"ssl client serial" -  "remote_addr" 10.0.0.2 -"remote_user" - [05/Jun/2019:08:27:23 -0400] "request" "GET / HTTP/1.1" "status" 400 "body_bytes_sent" 253 "http_referer" -"ssl_client_cert" - TLSv1.2/GOST2012-GOST8912-GOST8912"Client fingerprint" - "X-SSL-CERT" -"ssl_client_verify=" NONE 



Код:

location / {
            error_log /var/log/nginx/error.log debug;
            proxy_set_header X-SSL-Client-Cert $ssl_client_cert;
            proxy_set_header X-SSL-client-serial $ssl_client_serial;
            proxy_pass http://10.0.0.85:2534;
            proxy_set_header Host       $host;
            proxy_set_header X-Real-IP $remote_addr; 



           #Задаёт файл с сертификатом в формате PEM для аутентификации на проксируемом HTTPS-сервере
            proxy_ssl_certificate     /etc/nginx/server.pem;
            proxy_ssl_certificate_key engine:gostengy:server;
           #proxy_ssl_trusted_certificate /home/cryptoTEST/CA_bundle.pem;
		   }



уточните вы хотите настроить nginx на требование сертификата клиента?
я изначально подумал у вас вопрос проксирования
Техническую поддержку оказываем тут
Наша база знаний
Offline Марфа Ильинишна  
#178 Оставлено : 5 июня 2019 г. 17:33:06(UTC)
Марфа Ильинишна

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

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

Автор: Санчир Момолдаев Перейти к цитате
Автор: Марфа Ильинишна Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
Автор: Марфа Ильинишна Перейти к цитате
День добрый!
Двусторонняя аутентификация не поддерживается?
Был развёрнут свежевыкачанный Centos7, сборка nginx+openssl поднята вашими скриптами, сертификаты ГОСТ2012 сформированы в вашем тестовом УЦ. Односторонняя верификация проходит на ура, а при двустороннке вылезает ошибка
Код:
 client sent no required SSL certificate while reading client request headers 

При использованием сертификатов ГОСТ 2001 проблем нет - клиентский сертификат запрашивается.

работает.
ключ не передавали через proxy_ssl_certificate_key ?

Пытались от бессилия.
Двусторонняя авторизация именно на сервере с nginx, proxy_pass отправляет уже на обычный http, поэтому вроде как и нет необходимости в proxy_ssl_certificate_key. С сертификатами ГОСТ2001 работает и без этой директивы.

При использовании ГОСТ 2012 в логах только подтверждение собственной немощи - данные о сертифкаты не парсятся вообще, клиентский сертификат не прилетает. В браузере поддержка TLS 1.2 включена.

/var/log/nginx/error-ssl.log
Код:
 client sent no required SSL certificate while reading client request header 


/var/log/nginx/access.log
Код:
"ssl client serial" -  "remote_addr" 10.0.0.2 -"remote_user" - [05/Jun/2019:08:27:23 -0400] "request" "GET / HTTP/1.1" "status" 400 "body_bytes_sent" 253 "http_referer" -"ssl_client_cert" - TLSv1.2/GOST2012-GOST8912-GOST8912"Client fingerprint" - "X-SSL-CERT" -"ssl_client_verify=" NONE 



Код:

location / {
            error_log /var/log/nginx/error.log debug;
            proxy_set_header X-SSL-Client-Cert $ssl_client_cert;
            proxy_set_header X-SSL-client-serial $ssl_client_serial;
            proxy_pass http://10.0.0.85:2534;
            proxy_set_header Host       $host;
            proxy_set_header X-Real-IP $remote_addr; 



           #Задаёт файл с сертификатом в формате PEM для аутентификации на проксируемом HTTPS-сервере
            proxy_ssl_certificate     /etc/nginx/server.pem;
            proxy_ssl_certificate_key engine:gostengy:server;
           #proxy_ssl_trusted_certificate /home/cryptoTEST/CA_bundle.pem;
		   }



уточните вы хотите настроить nginx на требование сертификата клиента?
я изначально подумал у вас вопрос проксирования


да-да, нужно авторизовывать клиента по его личному сертификату
Offline ozz_born  
#179 Оставлено : 6 июня 2019 г. 13:05:06(UTC)
ozz_born

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

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

Автор: Санчир Момолдаев Перейти к цитате
Автор: ozz_born Перейти к цитате

Что я делаю не так?

попробовал с собранными openssl и nginx
проксирование на https://q.cryptopro.ru проходит успешно
на gost2012.stable.dp.korona.net получаю 403
но хендшейк проходит
/opt/cprocsp/bin/amd64/csptest -tlsc -server gost2012.stable.dp.korona.net -nocheck -nosave -v

конфигурация


Пересобрал на чистой Cenos nginx, удалил базовый openssl, создал симлинк в /usr/bin/openssl и заработало. Спасибо!
Offline grigory  
#180 Оставлено : 24 июня 2019 г. 15:46:56(UTC)
grigory

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

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

Правильно ли я понимаю, что если мы соберем Nginx по этой инструкции, то это будет являться встраиванием (т.к. при сборке Nginx используется openssl-1.1.0, входящий в КриптоПро)?
А вот если мы скачаем openssl-1.1.0 с официального сайта openssl.org, соберем его, и потом соберем Nginx с данным openssl, то встраиванием это являться не будет?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
10 Страницы«<78910>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.