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

Уведомление

Icon
Error

10 Страницы«<8910
Опции
К последнему сообщению К первому непрочитанному
Offline Дмитрий Пичулин  
#181 Оставлено : 24 июня 2019 г. 16:03:56(UTC)
Дмитрий Пичулин

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

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 862
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 136 раз в 115 постах
Автор: grigory Перейти к цитате
Правильно ли я понимаю, что если мы соберем Nginx по этой инструкции, то это будет являться встраиванием (т.к. при сборке Nginx используется openssl-1.1.0, входящий в КриптоПро)?
А вот если мы скачаем openssl-1.1.0 с официального сайта openssl.org, соберем его, и потом соберем Nginx с данным openssl, то встраиванием это являться не будет?

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

Если речь про сертификацию, то на "встраивание" это не влияет, так как ни openssl, ни gostengy не являются сертифицированными продуктами/решениями.


Знания в базе знаний, поддержка в техподдержке
Offline dlg.im  
#182 Оставлено : 24 июля 2019 г. 11:35:31(UTC)
dlg.im

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

Группы: Участники
Зарегистрирован: 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)`
Offline Дмитрий Пичулин  
#183 Оставлено : 24 июля 2019 г. 12:16:46(UTC)
Дмитрий Пичулин

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

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 862
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 136 раз в 115 постах
Автор: 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.

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

Знания в базе знаний, поддержка в техподдержке
Offline dlg.im  
#184 Оставлено : 24 июля 2019 г. 14:16:10(UTC)
dlg.im

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

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 2

Автор: Дмитрий Пичулин Перейти к цитате

Данный подход, всё собрать и проинициализировать в докере, выглядит принципиально неверным.

Докер -- конечное приложение, бинарники МОГУТ быть собраны вне докера, ключи ДОЛЖНЫ быть сгенерированы вне докера.

Правильный путь подразумевает, что вы разобрались с нашими скриптами в штатном режиме, развернули стенд на поддерживаемой скриптами системе и у вас всё работает.

Далее, можно начать перенос полученных знаний в докер.

Ключи при этом удобно переносить как контейнеры pfx.

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



Почему он принципиально не верен? Контейнер такое же окружение, как и виртуальная машина. То, чего не хватает доустанавливается, что необходимо сконфигурировать - конфигурируется.

Данный докерфайл был собран как раз из Ваших скриптов, которые я прочел и просто разобрал на команды.

Касательно цели, можно принять за создание nginx-прокси для использования в облаке.
Offline vlit495  
#185 Оставлено : 29 августа 2019 г. 10:38:54(UTC)
vlit495

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

Группы: Участники
Зарегистрирован: 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

Offline Дмитрий Пичулин  
#186 Оставлено : 2 сентября 2019 г. 12:46:17(UTC)
Дмитрий Пичулин

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

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 862
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 136 раз в 115 постах
Автор: vlit495 Перейти к цитате
Путем проб и ошибок выяснил, что проблема возникает, когда количество воркеров в nginx больше одного.

Проблема в кэше TLS сессий. Возможно только два стабильно рабочих сочетания:
  1. ssl_session_cache включен, тогда только 1 рабочий поток
  2. ssl_session_cache выключен, тогда можно более одного потока

Это связано с тем, что внутренний кэш ГОСТ сессий кэшируется только в рамках своего рабочего потока, поэтому если в этот поток nginx не попадает, происходит ошибка.

Знания в базе знаний, поддержка в техподдержке
Offline Yuri  
#187 Оставлено : 27 сентября 2019 г. 13:31:39(UTC)
Yuri

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

Группы: Участники
Зарегистрирован: 23.06.2008(UTC)
Сообщений: 4

На удивление скрипт отработал на Astra Linux 1.6 Special Edition.
Предварительно нужно установить с диска разработчика
apt install build-essential

Не поможет ли кто со шпаргалкой, как развернуть собственный ГОСТовский центр сертификации и выдать на нём сертификат для
веб-сервера? В идеале * wildcard сертификат для домена.

Отредактировано пользователем 27 сентября 2019 г. 13:36:30(UTC)  | Причина: Не указана

Offline Yuri  
#188 Оставлено : 27 сентября 2019 г. 13:34:34(UTC)
Yuri

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

Группы: Участники
Зарегистрирован: 23.06.2008(UTC)
Сообщений: 4

Скрипт на данный момент использует revision_openssl="180423", а на сайте уже
https://update.cryptopro...t/nginx-gost/bin/185515/
В другой теме написано что в новом билде исправлены проблемы https://www.cryptopro.ru...ts&m=97838#post97838
Скрипт не обновляется по какой-то причине?
Offline Ефремов Степан  
#189 Оставлено : 14 октября 2019 г. 2:06:01(UTC)
Ефремов Степан

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

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

Поблагодарили: 1 раз в 1 постах
Автор: Yuri Перейти к цитате
Скрипт на данный момент использует revision_openssl="180423", а на сайте уже
https://update.cryptopro...t/nginx-gost/bin/185515/
В другой теме написано что в новом билде исправлены проблемы https://www.cryptopro.ru...ts&m=97838#post97838
Скрипт не обновляется по какой-то причине?


Спасибо, сразу не обратил внимания. Версию в скрипте обновили.
Техническая поддержка здесь.
База знаний здесь.
Online rmussalimov  
#190 Оставлено : 15 октября 2019 г. 10:43:58(UTC)
rmussalimov

Статус: Участник

Группы: Участники
Зарегистрирован: 05.08.2019(UTC)
Сообщений: 26

Сказал(а) «Спасибо»: 2 раз
Выполнил установочный скрипт, но 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)  | Причина: Не указана

Offline Дмитрий Пичулин  
#191 Оставлено : 15 октября 2019 г. 10:59:46(UTC)
Дмитрий Пичулин

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

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 862
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 136 раз в 115 постах
Автор: rmussalimov Перейти к цитате
Выполнил установочный скрипт, но openSSL не ставится

...

Походу ругается на зависимость lsb-cprocsp-capilite-64 >= 5.0

Либо используйте CSP >= 5.0 (тогда будет полная автоматика), либо устанавливайте с --ignore-depends (вручную), работать с CSP 4.0 тоже будет.

Знания в базе знаний, поддержка в техподдержке
Online rmussalimov  
#192 Оставлено : 15 октября 2019 г. 11:10:53(UTC)
rmussalimov

Статус: Участник

Группы: Участники
Зарегистрирован: 05.08.2019(UTC)
Сообщений: 26

Сказал(а) «Спасибо»: 2 раз
Автор: Дмитрий Пичулин Перейти к цитате
Автор: rmussalimov Перейти к цитате
Выполнил установочный скрипт, но openSSL не ставится

...

Походу ругается на зависимость lsb-cprocsp-capilite-64 >= 5.0

Либо используйте CSP >= 5.0 (тогда будет полная автоматика), либо устанавливайте с --ignore-depends (вручную), работать с CSP 4.0 тоже будет.



Не подскажите пример команды? Или это в самом .sh скрипте править надо?

Не так же?

Цитата:
./install-nginx.sh --install=openssl --ignore-depends=lsb-cprocsp-capilite-64 cprocsp-cpopenssl-110-gost-64_5.0.11315-5_amd64.deb

Offline Ефремов Степан  
#193 Оставлено : 15 октября 2019 г. 12:15:53(UTC)
Ефремов Степан

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

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

Поблагодарили: 1 раз в 1 постах
Цитата:
Не подскажите пример команды? Или это в самом .sh скрипте править надо?


Можно поставить отдельно. Нужен только gost пакет с игнорированием:

Код:
dpkg -i --ignore-depends=lsb-cprocsp-capilite-64 cprocsp-cpopenssl-110-gost-64_5.0.11315-5_amd64.deb
Техническая поддержка здесь.
База знаний здесь.
thanks 1 пользователь поблагодарил Ефремов Степан за этот пост.
rmussalimov оставлено 15.10.2019(UTC)
Online rmussalimov  
#194 Оставлено : 15 октября 2019 г. 12:25:33(UTC)
rmussalimov

Статус: Участник

Группы: Участники
Зарегистрирован: 05.08.2019(UTC)
Сообщений: 26

Сказал(а) «Спасибо»: 2 раз
Автор: Ефремов Степан Перейти к цитате
Цитата:
Не подскажите пример команды? Или это в самом .sh скрипте править надо?


Можно поставить отдельно. Нужен только gost пакет с игнорированием:

Код:
dpkg -i --ignore-depends=lsb-cprocsp-capilite-64 cprocsp-cpopenssl-110-gost-64_5.0.11315-5_amd64.deb


Выполнил, все поставилось. Спасибо Вам большое!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
10 Страницы«<8910
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.