Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,559 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 38 раз Поблагодарили: 521 раз в 368 постах
|
Автор: grigory  Правильно ли я понимаю, что если мы соберем Nginx по этой инструкции, то это будет являться встраиванием (т.к. при сборке Nginx используется openssl-1.1.0, входящий в КриптоПро)? А вот если мы скачаем openssl-1.1.0 с официального сайта openssl.org, соберем его, и потом соберем Nginx с данным openssl, то встраиванием это являться не будет? И тот и другой способ сборки, в настоящий момент, практически уже идентичны, можете использовать любой. Если речь про сертификацию, то на "встраивание" это не влияет, так как ни openssl, ни gostengy не являются сертифицированными продуктами/решениями. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.07.2019(UTC) Сообщений: 2
|
Коллеги доброво времени суток всем.
Попробовал переложить данные инструкции на dockerfile и собственно настроить nginx+csp в контейнере. Однако, возникло несколько багов, которые своими силами я не смог ни обойти, ни найти решение. Кто-нибудь может подсказать как можно решить данные проблемы и автоматизировать сборку подобного контейнера? Основные проблемы с п.3\4\5. п.6 зависит от п.4. Исходники лежат на github: https://github.com/dialogs/cryptopro_docker
1. ZLIB build is take `prefix` from NGINX ARGs and end location is incorrect. 2. GCC can't read ARG `cc_ld_opt` correctly. For example error is: `./auto/configure: error: invalid option "-02"` 3. In PRCE build: `./configure: line 8976: /usr/bin/file: No such file or directory` 4. In CryptoPro installation:
- ```bash umount: /var/opt/cprocsp/mnt/0: must be superuser to unmount umount: /var/opt/cprocsp/mnt/1: must be superuser to unmount umount: /var/opt/cprocsp/mnt/2: must be superuser to unmount umount: /var/opt/cprocsp/mnt/3: must be superuser to unmount umount: /var/opt/cprocsp/mnt/4: must be superuser to unmount umount: /var/opt/cprocsp/mnt/5: must be superuser to unmount umount: /var/opt/cprocsp/mnt/6: must be superuser to unmount umount: /var/opt/cprocsp/mnt/7: must be superuser to unmount ```
- ```bash debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Teletype ```
5. CyrptoPro error while getting test certificate:
- ```bash Error: Keyset does not exist /dailybuilds/CSPbuild/CSP/samples/CPCrypt/Enroll.cpp:450: 0x80090016 Error: Keyset does not exist /dailybuilds/CSPbuild/CSP/samples/CPCrypt/Enroll.cpp:1018: 0x80090016 [ErrorCode: 0x80090016] ```
6. Error while running through supervisord: `2019-07-23 18:03:47,862 INFO exited: csp (exit status 255; not expected)`
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,559 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 38 раз Поблагодарили: 521 раз в 368 постах
|
Автор: dlg.im  Коллеги доброво времени суток всем.
Попробовал переложить данные инструкции на dockerfile и собственно настроить nginx+csp в контейнере. Однако, возникло несколько багов, которые своими силами я не смог ни обойти, ни найти решение. Кто-нибудь может подсказать как можно решить данные проблемы и автоматизировать сборку подобного контейнера? Основные проблемы с п.3\4\5. п.6 зависит от п.4. Исходники лежат на github: https://github.com/dialogs/cryptopro_docker
1. ZLIB build is take `prefix` from NGINX ARGs and end location is incorrect. 2. GCC can't read ARG `cc_ld_opt` correctly. For example error is: `./auto/configure: error: invalid option "-02"` 3. In PRCE build: `./configure: line 8976: /usr/bin/file: No such file or directory` 4. In CryptoPro installation:
- ```bash umount: /var/opt/cprocsp/mnt/0: must be superuser to unmount umount: /var/opt/cprocsp/mnt/1: must be superuser to unmount umount: /var/opt/cprocsp/mnt/2: must be superuser to unmount umount: /var/opt/cprocsp/mnt/3: must be superuser to unmount umount: /var/opt/cprocsp/mnt/4: must be superuser to unmount umount: /var/opt/cprocsp/mnt/5: must be superuser to unmount umount: /var/opt/cprocsp/mnt/6: must be superuser to unmount umount: /var/opt/cprocsp/mnt/7: must be superuser to unmount ```
- ```bash debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Teletype ```
5. CyrptoPro error while getting test certificate:
- ```bash Error: Keyset does not exist /dailybuilds/CSPbuild/CSP/samples/CPCrypt/Enroll.cpp:450: 0x80090016 Error: Keyset does not exist /dailybuilds/CSPbuild/CSP/samples/CPCrypt/Enroll.cpp:1018: 0x80090016 [ErrorCode: 0x80090016] ```
6. Error while running through supervisord: `2019-07-23 18:03:47,862 INFO exited: csp (exit status 255; not expected)` Данный подход, всё собрать и проинициализировать в докере, выглядит принципиально неверным. Докер -- конечное приложение, бинарники МОГУТ быть собраны вне докера, ключи ДОЛЖНЫ быть сгенерированы вне докера. Правильный путь подразумевает, что вы разобрались с нашими скриптами в штатном режиме, развернули стенд на поддерживаемой скриптами системе и у вас всё работает. Далее, можно начать перенос полученных знаний в докер. Ключи при этом удобно переносить как контейнеры pfx. Ещё хотелось бы прояснить цель всех начинаний с докером, возможно это путь в никуда. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.07.2019(UTC) Сообщений: 2
|
Автор: Дмитрий Пичулин  Данный подход, всё собрать и проинициализировать в докере, выглядит принципиально неверным.
Докер -- конечное приложение, бинарники МОГУТ быть собраны вне докера, ключи ДОЛЖНЫ быть сгенерированы вне докера.
Правильный путь подразумевает, что вы разобрались с нашими скриптами в штатном режиме, развернули стенд на поддерживаемой скриптами системе и у вас всё работает.
Далее, можно начать перенос полученных знаний в докер.
Ключи при этом удобно переносить как контейнеры pfx.
Ещё хотелось бы прояснить цель всех начинаний с докером, возможно это путь в никуда.
Почему он принципиально не верен? Контейнер такое же окружение, как и виртуальная машина. То, чего не хватает доустанавливается, что необходимо сконфигурировать - конфигурируется. Данный докерфайл был собран как раз из Ваших скриптов, которые я прочел и просто разобрал на команды. Касательно цели, можно принять за создание nginx-прокси для использования в облаке.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 30.04.2019(UTC) Сообщений: 1
|
Добрый день! Столкнулся со странной ошибкой. Клиент подключается к системе через браузер, фронтом служит Nginx версии 1.14, настроенный на использование протокола http/https, причем https использует сертификат ГОСТ 2012 при поддержке КриптоПро CSP версии 4. Nginx проксирует запросы на Jboss Web Server на базе Apache, используя http-протокол, веб-сервер через mod_cluster балансирует две ноды Jboss EAP (сервер приложений JBoss). Для подключения через ГОСТ используется браузер IE11. Все по инструкции настроилось как по маслу и работает. Но, при работе с портальным приложением в лог периодически вываливаются ошибки peer closed connection in SSL handshake while SSL handshaking. Соответственно, получаем ошибку в браузере и незагружающийся фрейм. Путем проб и ошибок выяснил, что проблема возникает, когда количество воркеров в nginx больше одного. При этом работа через другие браузеры c неГОСТовыми сертификатами проходит нормально. Это фича? PS. Конфиг собирал с миру по нитке, пытаясь решить проблему, поэтому не ручаюсь, что все там верно. Цитата: user nginx; worker_processes auto; error_log /var/log/nginx/error.log debug;
events { worker_connections 1024; }
http { include mime.types; default_type application/octet-stream; client_max_body_size 100M; sendfile on; keepalive_timeout 75;
upstream ispz { server bcvm635.tsc.ts:80; keepalive 100; }
server { listen 80 default_server; if ($http_x_forwarded_proto != 'https') { return 301 https://$host$request_uri; } server_name bcvm634.tsc.ts; }
server { listen 443 ssl; server_name bcvm634.tsc.ts; keepalive_timeout 70; ssl on; ssl_certificate /etc/nginx/bcvm634.tsc.ts.pem; ssl_certificate_key engine:gostengy:bcvm634.tsc.ts; ssl_certificate bcvm634.tsc.tsRSA.pem; ssl_certificate_key bcvm634.tsc.tsRSA.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 1h; ssl_buffer_size 4k; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers GOST2012-GOST8912-GOST8912:HIGH; ssl_prefer_server_ciphers on;
location / { proxy_pass http://ispz; proxy_ssl_server_name on; proxy_ssl_name "bcvm634.tsc.ts"; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header Connection ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_ssl_session_reuse off; proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_read_timeout 600s; send_timeout 600s; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
Отредактировано пользователем 29 августа 2019 г. 10:45:48(UTC)
| Причина: Получение уведомлений ON
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC) Сообщений: 1,559 Откуда: КРИПТО-ПРО
Сказал(а) «Спасибо»: 38 раз Поблагодарили: 521 раз в 368 постах
|
Автор: vlit495  Путем проб и ошибок выяснил, что проблема возникает, когда количество воркеров в nginx больше одного.
Проблема в кэше TLS сессий. Возможно только два стабильно рабочих сочетания: - ssl_session_cache включен, тогда только 1 рабочий поток
- ssl_session_cache выключен, тогда можно более одного потока
Это связано с тем, что внутренний кэш ГОСТ сессий кэшируется только в рамках своего рабочего потока, поэтому если в этот поток nginx не попадает, происходит ошибка. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 23.06.2008(UTC) Сообщений: 8
Сказал(а) «Спасибо»: 1 раз
|
На удивление скрипт отработал на Astra Linux 1.6 Special Edition. Предварительно нужно установить с диска разработчика apt install build-essential Не поможет ли кто со шпаргалкой, как развернуть собственный ГОСТовский центр сертификации и выдать на нём сертификат для веб-сервера? В идеале * wildcard сертификат для домена. Отредактировано пользователем 27 сентября 2019 г. 13:36:30(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 23.06.2008(UTC) Сообщений: 8
Сказал(а) «Спасибо»: 1 раз
|
Скрипт на данный момент использует revision_openssl="180423", а на сайте уже https://update.cryptopro.ru/support/nginx-gost/bin/185515/ В другой теме написано что в новом билде исправлены проблемы https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=97838#post97838 Скрипт не обновляется по какой-то причине?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 31.08.2017(UTC) Сообщений: 49  Сказал(а) «Спасибо»: 1 раз Поблагодарили: 17 раз в 16 постах
|
Автор: Yuri  Скрипт на данный момент использует revision_openssl="180423", а на сайте уже https://update.cryptopro.ru/support/nginx-gost/bin/185515/ В другой теме написано что в новом билде исправлены проблемы https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=97838#post97838 Скрипт не обновляется по какой-то причине?
Спасибо, сразу не обратил внимания. Версию в скрипте обновили. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.08.2019(UTC) Сообщений: 65
Сказал(а) «Спасибо»: 4 раз
|
Выполнил установочный скрипт, но openSSL не ставится Цитата:Install Openssl-1.1.0 (Reading database ... 180332 files and directories currently installed.) Preparing to replace cprocsp-cpopenssl-110-base 5.0.11315-5 (using cprocsp-cpopenssl-110-base_5.0.11315-5_all.deb) ... Unpacking replacement cprocsp-cpopenssl-110-base ... Setting up cprocsp-cpopenssl-110-base (5.0.11315-5) ... (Reading database ... 180332 files and directories currently installed.) Preparing to replace cprocsp-cpopenssl-110-64 5.0.11315-5 (using cprocsp-cpopenssl-110-64_5.0.11315-5_amd64.deb) ... Unpacking replacement cprocsp-cpopenssl-110-64 ... Setting up cprocsp-cpopenssl-110-64 (5.0.11315-5) ... (Reading database ... 180332 files and directories currently installed.) Preparing to replace cprocsp-cpopenssl-110-devel 5.0.11315-5 (using cprocsp-cpopenssl-110-devel_5.0.11315-5_all.deb) ... Unpacking replacement cprocsp-cpopenssl-110-devel ... Setting up cprocsp-cpopenssl-110-devel (5.0.11315-5) ... (Reading database ... 180332 files and directories currently installed.) Preparing to replace cprocsp-cpopenssl-110-gost-64 5.0.11315-5 (using cprocsp-cpopenssl-110-gost-64_5.0.11315-5_amd64.deb) ... Unpacking replacement cprocsp-cpopenssl-110-gost-64 ... dpkg: dependency problems prevent configuration of cprocsp-cpopenssl-110-gost-64: cprocsp-cpopenssl-110-gost-64 depends on lsb-cprocsp-capilite-64 (>= 5.0); however: Version of lsb-cprocsp-capilite-64 on system is 4.0.9963-5. dpkg: error processing cprocsp-cpopenssl-110-gost-64 (--install): dependency problems - leaving unconfigured Errors were encountered while processing: cprocsp-cpopenssl-110-gost-64 CSP - 4.0 OS: Ubuntu Причем в установке он типо отображается: Цитата:CSP: found GCC: found GIT: found Openssl-1.1.0: found PCRE: found ZLIB: found Nginx: found Походу ругается на зависимость lsb-cprocsp-capilite-64 >= 5.0Однако нужного engine нет Цитата:user@user-All-Series:~# /opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl engine (dynamic) Dynamic engine loading support Не подскажите, как исправить? Отредактировано пользователем 15 октября 2019 г. 10:47:45(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close