Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2019(UTC) Сообщений: 3 Откуда: Aden
|
День добрый! Двусторонняя аутентификация не поддерживается? Был развёрнут свежевыкачанный Centos7, сборка nginx+openssl поднята вашими скриптами, сертификаты ГОСТ2012 сформированы в вашем тестовом УЦ. Односторонняя верификация проходит на ура, а при двустороннке вылезает ошибка Код: client sent no required SSL certificate while reading client request headers
При использованием сертификатов ГОСТ 2001 проблем нет - клиентский сертификат запрашивается. конфиг nginx
Код:
user root;
worker_processes 1;
events {
worker_connections 1024;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format ssltest '"ssl client serial" $ssl_client_serial "remote_addr" $remote_addr -"remote_user" $remote_user [$time_local] "request" "$request" '
'"status" $status "body_bytes_sent" $body_bytes_sent "http_referer" $http_referer'
'"ssl_client_cert" $ssl_client_cert '
'$ssl_protocol/$ssl_cipher'
'"Client fingerprint" $ssl_client_fingerprint '
'"X-SSL-CERT" $ssl_client_escaped_cert'
'"ssl_client_verify=" $ssl_client_verify';
server {
listen 80;
rewrite ^(.*) https://$host$1 permanent;
}
# HTTPS server
server {
listen 443;
rewrite ^(.*) https://$host$1 permanent;
access_log /var/log/nginx/access.log ssltest;
error_log /var/log/nginx/error-ssl.log debug;
ssl on;
ssl_verify_client on;
ssl_verify_depth 4;
ssl_session_cache off;
proxy_ssl_verify off;
ssl_prefer_server_ciphers on;
ssl_ciphers GOST2012-GOST8912-GOST8912:HIGH;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /etc/nginx/serverserver.pem;
ssl_certificate_key engine:gostengy:serverH2H;
ssl_client_certificate /home/cryptoTEST/CA_bundle.pem;
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;
}
}
}
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.06.2019(UTC) Сообщений: 1 Откуда: Минск
|
Добрый день!
Ищем сертифицированное решение версия для установления tls-ГОСТ. Возможно ли это сделать на nginx (12 версии, на ubuntu)?
(Сейчас на веб-сервер nginx сервера проведено добавление поддержки ГОСТ-2012 с помощью библиотеки/движка gostengy https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=12505)
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,226  Сказал(а) «Спасибо»: 104 раз Поблагодарили: 292 раз в 272 постах
|
Автор: 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 конфигурация
centos 7 [root@localhost test]# openssl engine (rdrand) Intel RDRAND engine (dynamic) Dynamic engine loading support (gostengy) CryptoPro GostEngy ($Revision: 180423 $)
[root@localhost test]# openssl version OpenSSL 1.1.0j 20 Nov 2018
[root@localhost test]# nginx -V nginx version: nginx/1.14.2 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) built with OpenSSL 1.1.0j 20 Nov 2018 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --user=root --group=root --with-http_ssl_module
[root@localhost test]# rpm -qa|grep cproc|sort cprocsp-cpopenssl-110-base-5.0.11216-5.noarch cprocsp-cpopenssl-110-devel-5.0.11216-5.noarch cprocsp-cpopenssl-110-gost-64-5.0.11216-5.x86_64 cprocsp-curl-64-4.0.9963-5.x86_64 cprocsp-pki-cades-2.0.0-1.x86_64 cprocsp-pki-phpcades-2.0.0-1.x86_64 cprocsp-pki-plugin-2.0.0-1.x86_64 cprocsp-pki-sapssf-2.0.0-1.x86_64 cprocsp-rdr-gui-gtk-64-4.0.9963-5.x86_64 cprocsp-rsa-64-4.0.9963-5.x86_64 lsb-cprocsp-base-4.0.9963-5.noarch lsb-cprocsp-ca-certs-4.0.9963-5.noarch lsb-cprocsp-capilite-64-4.0.9963-5.x86_64 lsb-cprocsp-devel-4.0.9963-5.noarch lsb-cprocsp-kc2-64-4.0.9963-5.x86_64 lsb-cprocsp-rdr-64-4.0.9963-5.x86_64
конфиг nginx http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; location ~ ^/ { proxy_pass https://test-tls.ru; proxy_ssl_verify off; proxy_ssl_ciphers GOST2012-GOST8912-GOST8912; proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; } }
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,226  Сказал(а) «Спасибо»: 104 раз Поблагодарили: 292 раз в 272 постах
|
Автор: Марфа Ильинишна  День добрый! Двусторонняя аутентификация не поддерживается? Был развёрнут свежевыкачанный Centos7, сборка nginx+openssl поднята вашими скриптами, сертификаты ГОСТ2012 сформированы в вашем тестовом УЦ. Односторонняя верификация проходит на ура, а при двустороннке вылезает ошибка Код: client sent no required SSL certificate while reading client request headers
При использованием сертификатов ГОСТ 2001 проблем нет - клиентский сертификат запрашивается. работает. ключ не передавали через proxy_ssl_certificate_key ? |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,226  Сказал(а) «Спасибо»: 104 раз Поблагодарили: 292 раз в 272 постах
|
Автор: preobrazhensky  Добрый день!
Ищем сертифицированное решение версия для установления tls-ГОСТ. Возможно ли это сделать на nginx (12 версии, на ubuntu)?
(Сейчас на веб-сервер nginx сервера проведено добавление поддержки ГОСТ-2012 с помощью библиотеки/движка gostengy https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=12505)
посмотрите на trusted tls https://trusted.ru/products/trusted-tls/about/ |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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;
}
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,226  Сказал(а) «Спасибо»: 104 раз Поблагодарили: 292 раз в 272 постах
|
Автор: Марфа Ильинишна  Автор: Санчир Момолдаев  Автор: Марфа Ильинишна  День добрый! Двусторонняя аутентификация не поддерживается? Был развёрнут свежевыкачанный 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 на требование сертификата клиента? я изначально подумал у вас вопрос проксирования |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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 на требование сертификата клиента? я изначально подумал у вас вопрос проксирования да-да, нужно авторизовывать клиента по его личному сертификату
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 29.05.2019(UTC) Сообщений: 8  Сказал(а) «Спасибо»: 1 раз
|
Автор: Санчир Момолдаев  Автор: 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 конфигурация
centos 7 [root@localhost test]# openssl engine (rdrand) Intel RDRAND engine (dynamic) Dynamic engine loading support (gostengy) CryptoPro GostEngy ($Revision: 180423 $)
[root@localhost test]# openssl version OpenSSL 1.1.0j 20 Nov 2018
[root@localhost test]# nginx -V nginx version: nginx/1.14.2 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) built with OpenSSL 1.1.0j 20 Nov 2018 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --user=root --group=root --with-http_ssl_module
[root@localhost test]# rpm -qa|grep cproc|sort cprocsp-cpopenssl-110-base-5.0.11216-5.noarch cprocsp-cpopenssl-110-devel-5.0.11216-5.noarch cprocsp-cpopenssl-110-gost-64-5.0.11216-5.x86_64 cprocsp-curl-64-4.0.9963-5.x86_64 cprocsp-pki-cades-2.0.0-1.x86_64 cprocsp-pki-phpcades-2.0.0-1.x86_64 cprocsp-pki-plugin-2.0.0-1.x86_64 cprocsp-pki-sapssf-2.0.0-1.x86_64 cprocsp-rdr-gui-gtk-64-4.0.9963-5.x86_64 cprocsp-rsa-64-4.0.9963-5.x86_64 lsb-cprocsp-base-4.0.9963-5.noarch lsb-cprocsp-ca-certs-4.0.9963-5.noarch lsb-cprocsp-capilite-64-4.0.9963-5.x86_64 lsb-cprocsp-devel-4.0.9963-5.noarch lsb-cprocsp-kc2-64-4.0.9963-5.x86_64 lsb-cprocsp-rdr-64-4.0.9963-5.x86_64
конфиг nginx http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; location ~ ^/ { proxy_pass https://test-tls.ru; proxy_ssl_verify off; proxy_ssl_ciphers GOST2012-GOST8912-GOST8912; proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; } }
Пересобрал на чистой Cenos nginx, удалил базовый openssl, создал симлинк в /usr/bin/openssl и заработало. Спасибо!
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.06.2019(UTC) Сообщений: 1  Откуда: Москва
|
Правильно ли я понимаю, что если мы соберем Nginx по этой инструкции, то это будет являться встраиванием (т.к. при сборке Nginx используется openssl-1.1.0, входящий в КриптоПро)? А вот если мы скачаем openssl-1.1.0 с официального сайта openssl.org, соберем его, и потом соберем Nginx с данным openssl, то встраиванием это являться не будет?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close