Статус: Сотрудник
Группы: Участники
Зарегистрирован: 31.08.2017(UTC) Сообщений: 49 Сказал(а) «Спасибо»: 1 раз Поблагодарили: 17 раз в 16 постах
|
Автор: lab2 Добрый день. Есть ли новости по Цитата:В связи с тем, что в CSP планируем обновление cpopenssl до версии 1.1.1 ? И если не скоро, можно попросить чуть подробней на практике показать как использовать Цитата:"А для использования нашего openssl придется пользоваться LD_LIBRARY_PATH" ? И как пожелание, поправить в скриптах тестовый УЦ на https://testgost2012.cryptopro.ru/certsrv/ Обновили openssl до 1.1.1g версии. Предположительно, будет эта версия (или новее) в следующем релизе CSP. Пакеты версии 1.1.1 можно брать отсюда (пакеты содержат 110 в названии - это нормально, исправим позже): https://update.cryptopro...t/nginx-gost/bin/211453.Скрипты на github поправили (на travis ошибок нет): - обновили версию PCRE с 8.42 до 8.44
- обновили версию openssl с 1.1.0 до 1.1.1
- заменили тестовый УЦ в скриптах с cryptopro.ru/certsrv на testgost2012.cryptopro.ru/certsrv
BTW: LD_LIBRARY_PATH используется для указания приоритетного источника при поиске динамических библиотек. Если по какой-то причине вам нужно, чтобы приложение использовало наши libssl и libcrypto, но по умолчанию это не так, то перед использованием приложения нужно выполнить (на примере ub18): Код:export LD_LIBRARY_PATH=/opt/cprocsp/cp-openssl-1.1.0/lib/amd64
При работе с последней версией скриптов использование LD_LIBRARY_PATH не нужно. |
|
2 пользователей поблагодарили Ефремов Степан за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 31.08.2017(UTC) Сообщений: 49 Сказал(а) «Спасибо»: 1 раз Поблагодарили: 17 раз в 16 постах
|
Автор: dron88 Всё это очень хорошо, но хотелось бы уже чего-то нового. А есть уже сертификаты 2020 года? О каких сертификатах идет речь? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 01.03.2019(UTC) Сообщений: 45 Сказал(а) «Спасибо»: 23 раз Поблагодарили: 2 раз в 1 постах
|
подскажите, как указать в конфиге ssl_certificate_key, если cn сертификата CN=Тестовый юзер 10 ? ssl_certificate /etc/nginx/srvtest.pem; ssl_certificate_key engine:gostengy:srvtest; Конечно, попробую перебирать, но может есть какой общий подход?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,459 Сказал «Спасибо»: 53 раз Поблагодарили: 797 раз в 736 постах
|
Автор: lab2 подскажите, как указать в конфиге ssl_certificate_key, если cn сертификата CN=Тестовый юзер 10 ? ssl_certificate /etc/nginx/srvtest.pem; ssl_certificate_key engine:gostengy:srvtest; Конечно, попробую перебирать, но может есть какой общий подход? Здравствуйте. В конфигурации nginx в строке: Код:ssl_certificate_key engine:gostengy:value;
В качестве value можно указывать: - CN используемого сертификата, - отпечаток сертификата, - идентификатор ключа. В Вашем случае проще использовать вариант 2 или 3. |
|
1 пользователь поблагодарил Александр Лавник за этот пост.
|
lab2 оставлено 23.07.2020(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 02.06.2020(UTC) Сообщений: 38
Сказал(а) «Спасибо»: 15 раз
|
в nginx.conf указываем user root;
сайт работает с гост сертификатом
если в nginx.conf указываем user www-data;
не работает.
подскажите как заставить работать под www-data ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,459 Сказал «Спасибо»: 53 раз Поблагодарили: 797 раз в 736 постах
|
Автор: UArtX в nginx.conf указываем user root;
сайт работает с гост сертификатом
если в nginx.conf указываем user www-data;
не работает.
подскажите как заставить работать под www-data ?
Здравствуйте. Ответил здесь. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.07.2020(UTC) Сообщений: 4 Откуда: Москва
|
Здравствуйте. Возникла проблема с работоспособностью решения.
Цель: поднять nginx в роли прокси, который бы принимал не шифрованный трафик и шифровал его по ГОСТ-2012 для последующей передачи в конкретный сервис. Запускается это все в docker-контейнере с Debian.
Ошибка: Код:[crit] 6945#6945: *1 SSL_do_handshake() failed (SSL: 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
.
Перейдем к процессу установки.
1. Nginx. Был поставлен аналогично вашей инструкции: со всеми флагами и патчем.
Код:root@113a297485db:/# nginx -V
nginx version: nginx/1.16.1
built by gcc 8.3.0 (Debian 8.3.0-6)
built with OpenSSL 1.1.0g-dev xx XXX xxxx
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=root --group=nginx --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'
2. CSP. Были поставлены следующие пакеты:
Код:root@113a297485db:/# dpkg-query --list | grep csp
ii cprocsp-cpopenssl-110-64 4.0.0-5 amd64 OpenSSL-110. Build 9920.
ii cprocsp-cpopenssl-110-base 4.0.0-5 all Openssl-110 common Build 9920.
ii cprocsp-cpopenssl-110-devel 4.0.0-5 all Openssl-110 devel Build 9920.
ii cprocsp-cpopenssl-110-gost-64 4.0.0-5 amd64 OpenSSL-110 capi_gost engine. Build 9920.
ii cprocsp-curl-64 4.0.9963-5 amd64 CryptoPro Curl shared library and binaris. Build 9963.
ii lsb-cprocsp-base 4.0.9963-5 all CryptoPro CSP directories and scripts. Build 9963.
ii lsb-cprocsp-ca-certs 4.0.9963-5 all CA certificates. Build 9963.
ii lsb-cprocsp-capilite-64 4.0.9963-5 amd64 CryptoAPI lite. Build 9963.
ii lsb-cprocsp-kc1-64 4.0.9963-5 amd64 CryptoPro CSP KC1. Build 9963.
ii lsb-cprocsp-rdr-64 4.0.9963-5 amd64 CryptoPro CSP readers. Build 9963.
3. OpenSSL. Наша версия CSP, видимо, является старой и в ее наборе нет cprocsp-cpopenssl-110 пакетов, а есть только cprocsp-cpopenssl, который, как я понимаю, с OpenSSL < 1.1.0, поэтому четыре пакета, необходимые для OpenSSL 1.1.0 и gostengy были скачаны из архивного репозитория: https://update.cryptopro...st/bin/archives/164682/. Были выбраны именно эти пакеты, потому что текущая 5я версия cprocsp-cpopenssl-110, которая в новых пакетах, не поддерживает нашу CSP 4.0.
Код:root@113a297485db:/# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gostengy) CryptoPro GostEngy ($Revision: 164682 $)
4. Сертификаты. Использовались свои сертификаты, которые работают у нас на stunnel также для доступа в целевой сервис. Рутовый сертификат был установлен, секретные ключи положены, а сертификат клиента сконвертирован в PEM формат и подложен в nginx.
5. Конфиг Nginx
Код:user root;
events {
worker_connections 1024;
multi_accept on;
}
http {
log_format main '"\$time_local" client=\$remote_addr '
'method=\$request_method request="\$request" '
'request_length=\$request_length '
'status=\$status bytes_sent=\$bytes_sent '
'body_bytes_sent=\$body_bytes_sent '
'referer=\$http_referer '
'user_agent="\$http_user_agent" '
'upstream_addr=\$upstream_addr '
'upstream_status=\$upstream_status '
'request_time=\$request_time '
'upstream_response_time=\$upstream_response_time '
'upstream_connect_time=\$upstream_connect_time '
'upstream_header_time=\$upstream_header_time';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log warn;
server {
listen 80;
server_name localhost;
proxy_http_version 1.1;
location /get {
proxy_set_header Content-Type "application/x-www-form-urlencoded; Charset=windows-1251";
proxy_set_header Connection "Close";
proxy_ssl_verify on;
proxy_ssl_trusted_certificate /etc/nginx/root.pem;
proxy_ssl_certificate /etc/nginx/test_user.pem;
proxy_ssl_certificate_key engine:gostengy:Тестовый;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_ssl_ciphers GOST2012-GOST8912-GOST8912:GOST2001-GOST89-GOST89:HIGH;
proxy_pass https://test.db.local/get;
}
}
}
Вот собственно и все. Подскажите, пожалуйста, в чем может быть проблема?
1) Надо ли переводить рутовый сертификат в КС2 формат и как? 2) Надо ли ставить cprocsp-compat-debian пакет, как это сделано у вас и потому что у меня Debian, и где его найти? 3) Совместимы ли CSP v4.0.9963-5 с cpopenssl-110 v4.0.0-5? 4) Какой тип авторизации используется в нашей системе: односторонний или двухсторонний, если до этого для этих целей использовался stunnel? Если двухсторонний, правильно ли, что в параметре proxy_ssl_trusted_certificate указываю корневой сертификат?
Отредактировано пользователем 8 июля 2020 г. 16:42:23(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,506 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 474 раз в 338 постах
|
Автор: Denis007 Были выбраны именно эти пакеты, потому что текущая 5я версия cprocsp-cpopenssl-110, которая в новых пакетах, не поддерживает нашу CSP 4.0. В какой форме не поддерживает? Возможно, нужно зафорсить установку, так как противоречий по функционалу нет. Поддержка gostengy версий отличных от текущей под большим вопросом. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.07.2020(UTC) Сообщений: 4 Откуда: Москва
|
Автор: Дмитрий Пичулин Автор: Denis007 Были выбраны именно эти пакеты, потому что текущая 5я версия cprocsp-cpopenssl-110, которая в новых пакетах, не поддерживает нашу CSP 4.0. В какой форме не поддерживает? Возможно, нужно зафорсить установку, так как противоречий по функционалу нет. Поддержка gostengy версий отличных от текущей под большим вопросом. Зафорсил установку, в итоге:Код:root@736c9bfe18a0:/# dpkg-query --list | grep csp
ii cprocsp-cpopenssl-110-64 5.0.11803-6 amd64 OpenSSL-110. Build 11803.
ii cprocsp-cpopenssl-110-base 5.0.11803-6 all Openssl-110 common Build 11803.
ii cprocsp-cpopenssl-110-devel 5.0.11803-6 all Openssl-110 devel Build 11803.
ii cprocsp-cpopenssl-110-gost-64 5.0.11803-6 amd64 OpenSSL-110 gostengy engine. Build 11803.
ii cprocsp-curl-64 4.0.9963-5 amd64 CryptoPro Curl shared library and binaris. Build 9963.
ii lsb-cprocsp-base 4.0.9963-5 all CryptoPro CSP directories and scripts. Build 9963.
ii lsb-cprocsp-ca-certs 4.0.9963-5 all CA certificates. Build 9963.
ii lsb-cprocsp-capilite-64 4.0.9963-5 amd64 CryptoAPI lite. Build 9963.
ii lsb-cprocsp-kc1-64 4.0.9963-5 amd64 CryptoPro CSP KC1. Build 9963.
ii lsb-cprocsp-rdr-64 4.0.9963-5 amd64 CryptoPro CSP readers. Build 9963.
Теперь ошибка такая:Код:root@736c9bfe18a0:/# cat /var/log/nginx/error.log
2020/07/09 09:19:06 [crit] 6934#6934: *1 SSL_do_handshake() failed (SSL: error:8000901E:lib(128):gng_delayed_init:CryptAcquireContext error:80005023:lib(128):gng_support_create_pubkey_3410:CryptImportPublicKeyInfo error:1416F0EF:SSL routines:tls_process_server_certificate:unable to find public key parameters) while SSL handshaking to upstream
Есть мысли?
Вот еще вопросы: 1) Надо ли переводить рутовый сертификат в КС2 формат и как? 2) Надо ли ставить cprocsp-compat-debian пакет, как это сделано у вас и потому что у меня Debian, и где его найти? 3) Какой тип авторизации используется в нашей системе: односторонний или двухсторонний, если до этого для этих целей использовался stunnel? Если двухсторонний, правильно ли, что в параметре proxy_ssl_trusted_certificate указываю корневой сертификат?Отредактировано пользователем 9 июля 2020 г. 12:23:26(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,506 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 35 раз Поблагодарили: 474 раз в 338 постах
|
Автор: Denis007 Есть мысли? В начале темы приводятся автоматизированные скрипты, у вас получилось на них работать? Если нет, начните со скриптов. Если да, двигайтесь маленькими шагами. от работающей конфигурации к вашей. Автор: Denis007 Вот еще вопросы: 1) Надо ли переводить рутовый сертификат в КС2 формат и как? 2) Надо ли ставить cprocsp-compat-debian пакет, как это сделано у вас и потому что у меня Debian, и где его найти? 3) Какой тип авторизации используется в нашей системе: односторонний или двухсторонний, если до этого для этих целей использовался stunnel? Если двухсторонний, правильно ли, что в параметре proxy_ssl_trusted_certificate указываю корневой сертификат? 1) зависит от ваших требований, по умолчанию надо, в скриптах это есть 2) установка csp есть в скриптах 3) stunnel умеет двусторонний и односторонний tls, по директивам nginx лучше обратиться к документации nginx |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close