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

Уведомление

Icon
Error

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

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 124 раз в 107 постах
Автор: 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)
Сообщений: 828
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 124 раз в 107 постах
Автор: 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)
Сообщений: 828
Откуда: КРИПТО-ПРО

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

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

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

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