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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline dmik68  
#1 Оставлено : 15 января 2020 г. 18:30:31(UTC)
dmik68

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

Группы: Участники
Зарегистрирован: 15.01.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Королёв

Сегодня ставил КриптоПро CSP 5.0 на сервер Ubuntu 18.4 и нарвался на проблему.
Оказалось, что установка компонента cp-openssl (OpenSSL library) создаёт сбой в подсистеме SSH internal-sftp в Ubuntu.
Устанавливавшиеся компоненты показаны на скриншоте.

Я пытался настроить модуль OpenSSL engine КриптоПро как дополнительный движёк gostengy в дополнение к уже настроенному и проверенно работающему модулю gost.
К сожалению, модуль КриптоПро (/opt/cprocsp/cp-openssl/lib/amd64/engines/libgost.so) выдал ошибку о несовместимости версий с имеющимся системным OpenSSL 1.1.1
Цитата:
# openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost) Reference implementation of GOST engine

140175985918400:error:260B6091:engine routines:dynamic_load:version incompatibility:../crypto/engine/eng_dyn.c:454:
140175985918400:error:260BC066:engine routines:int_engine_configure:engine configuration error:../crypto/engine/eng_cnf.c:141:section=gostengy_section, name=dynamic_path, value=/opt/cprocsp/cp-openssl/lib/amd64/engines/libgost.so
140175985918400:error:0E07606D:configuration file routines:module_run:module initialization error:../crypto/conf/conf_mod.c:174:module=engines, value=engine_section, retcode=-1




Что интересно, коннекты по обычному протоколу SSH проходили без проблем, а коннекты по протоколу подсистемы SSH internal-sftp перестали проходить.
Стал разбираться, увидел в логах ругань SHH на libcrypto.so
Цитата:

......................
Jan 15 15:58:43 uk1 cprocsp[19387]: File '//opt/cprocsp/lib/amd64/libcapi20.so.4.0.5' has been verified
Jan 15 15:58:43 uk1 cprocsp[19387]: File '//opt/cprocsp/lib/amd64/libasn1data_XER.so.4.0.5' has been verified
Jan 15 15:58:43 uk1 systemd-resolved[901]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP.
Jan 15 15:58:43 uk1 cprocsp[19387]: Starting cryptsrv
Jan 15 15:58:43 uk1 systemd[1]: Started LSB: Start and stop CSP servers.
Jan 15 16:06:41 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:06:41 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:06:42 uk1 systemd[1]: Started Session 6486 of user dk.
Jan 15 16:09:06 uk1 systemd[1]: Starting Clean php session files...
Jan 15 16:09:07 uk1 systemd[1]: Started Clean php session files.
Jan 15 16:30:05 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:30:05 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:30:06 uk1 systemd[1]: Created slice User Slice of kolentsev_sftp.
Jan 15 16:30:06 uk1 systemd[1]: Starting User Manager for UID 1002...
Jan 15 16:30:06 uk1 systemd[1]: Started Session 6494 of user kolentsev_sftp.
Jan 15 16:30:06 uk1 systemd[20074]: gpgconf: running /usr/bin/gpg-agent failed (exitcode=2): General error
Jan 15 16:30:06 uk1 systemd[20074]: gpgconf: fatal error (exit status 1)
Jan 15 16:30:06 uk1 systemd[20074]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
Jan 15 16:30:06 uk1 systemd[20074]: Listening on GnuPG cryptographic agent and passphrase cache (access for web browsers).
Jan 15 16:30:06 uk1 systemd[20074]: Listening on REST API socket for snapd user session agent.
Jan 15 16:30:06 uk1 systemd[20074]: Reached target Paths.
Jan 15 16:30:06 uk1 systemd[20074]: Listening on GnuPG network certificate management daemon.
Jan 15 16:30:06 uk1 systemd[20074]: Reached target Timers.
Jan 15 16:30:06 uk1 systemd[20074]: Listening on GnuPG cryptographic agent and passphrase cache.
Jan 15 16:30:06 uk1 systemd[20074]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
Jan 15 16:30:06 uk1 systemd[20074]: Reached target Sockets.
Jan 15 16:30:06 uk1 systemd[20074]: Reached target Basic System.
Jan 15 16:30:06 uk1 systemd[20074]: Reached target Default.
Jan 15 16:30:06 uk1 systemd[20074]: Startup finished in 50ms.
Jan 15 16:30:06 uk1 systemd[1]: Started User Manager for UID 1002.
Jan 15 16:33:28 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:33:28 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:33:29 uk1 systemd[1]: Started Session 6496 of user kolentsev_sftp.
Jan 15 16:34:29 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:34:29 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:34:29 uk1 systemd[1]: Started Session 6497 of user kolentsev_sftp.
Jan 15 16:35:30 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)
Jan 15 16:35:30 uk1 sshd[1403]: /usr/sbin/sshd: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/sshd)



Сбой был устранён после удаления "OpenSSL library" КриптоПро.


Я всё понимаю, бывают проблемы разработчиков.
Но какого хрена не выдаётся запрос на подтверждения согласия на активацию той фичи-сервиса КриптоПро, которая вызывает этот глюк?
Этого было бы достаточно, чтобы насторожить админа. А так приходится проводить оперативные расследования.


Текстовые логи операций:
cp-openssl_error.txt (47kb) загружен 2 раз(а).

Скриншот установки компонентов:
cp-openssl_error.png (13kb) загружен 8 раз(а).

Отредактировано пользователем 15 января 2020 г. 18:41:24(UTC)  | Причина: Не указана

Offline Алексей Черенцов  
#2 Оставлено : 16 января 2020 г. 6:44:17(UTC)
Алексей Черенцов

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

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

Ха, сегодня такая же ситуация приключилась. Стоял у меня 4ый КриптоПро. А сегодня потребовалось склонировать с репозиторя объект и выяснилось, что GIT отвалился с ошибкой:

/usr/bin/ssh: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)

Благодоря твоему сообщению поудалял криптопрошные ssl-пакты и git опять ожил. Спасибо тебе за наводку.
Offline Ефремов Степан  
#3 Оставлено : 16 января 2020 г. 17:56:43(UTC)
Ефремов Степан

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

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

Поблагодарили: 5 раз в 5 постах
Надо разбираться
1. "libcrypto.so.1.0.0: no version information available" не является ошибкой, а является диагностическим сообщением.
2. В дистрибутиве 5.0 идет 2 openssl (1.1.0 и 1.0.2). В связи с отсутствием поддержки новых гостов в capi_gost (engine для openssl 1.0.2) и ненужности cp-openssl 1.0.2 как такого вообще - планируется удаление версии 1.0.2 из дистрибутивов и CSP 4.0 (т.е. в 4.0 вообще не будет cp-openssl), и CSP 5.0. Поэтому не рекомендуем устанавливать cp-openssl 1.0.2 вообще.
3. В зависимости от того, какая libssl/libcrypto является приоритетной (наша или системная) могут возникать ошибки.
Библиотеки openssl стали очень капризные, например:
- ub18 изначально идет с библиотекой 1.1.0. При установке мы смотрим "а есть ли на системе openssl новее нашего". Видим что нет, ставим наши библиотеки в приоритет, а через час ub18 обновляет пакеты системного openssl до 1.1.1 и мы получаем проблемы вида: системный openssl не хочет работать с нашими библиотеками 1.1.0
- одинаковые версии библиотеки на centos и ubuntu имеют разные окончания (*so.1.1.0 и *so.10), что мешает работе приложений, слинкованных с openssl

Подытожу выше сказанное:
- cp-openssl (1.0.2) не нужно устанавливать, если он не нужен (а он не должен быть нужен)
- попробуйте установить только openssl 1.1.0 и сообщите, если возникнут какие либо ошибки. Сразу отмечу, что в случае, если на системе есть openssl новее нашего, наш будет регистрировать библиотеки в приоритете ниже системного. Для пользования нашего openssl в этом случае можно пользоваться LD_LIBRARY_PATH

Отредактировано пользователем 16 января 2020 г. 17:58:01(UTC)  | Причина: Не указана

Техническая поддержка здесь.
База знаний здесь.
Offline dmik68  
#4 Оставлено : 17 января 2020 г. 11:15:17(UTC)
dmik68

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

Группы: Участники
Зарегистрирован: 15.01.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Королёв

Автор: Ефремов Степан Перейти к цитате
Надо разбираться

Это совершенно точно.
В ближайшее время количество установок КриптоПро CSP 5.0 резко возрастёт. Учитывая, что сбой возникает на типовой Ubuntu 18.04, которая является одной из наиболее популярных ОС, вас скоро запинают.

Автор: Ефремов Степан Перейти к цитате

1. "libcrypto.so.1.0.0: no version information available" не является ошибкой, а является диагностическим сообщением.
2. В дистрибутиве 5.0 идет 2 openssl (1.1.0 и 1.0.2). В связи с отсутствием поддержки новых гостов в capi_gost (engine для openssl 1.0.2) и ненужности cp-openssl 1.0.2 как такого вообще - планируется удаление версии 1.0.2 из дистрибутивов и CSP 4.0 (т.е. в 4.0 вообще не будет cp-openssl), и CSP 5.0. Поэтому не рекомендуем устанавливать cp-openssl 1.0.2 вообще.
3. В зависимости от того, какая libssl/libcrypto является приоритетной (наша или системная) могут возникать ошибки.
Библиотеки openssl стали очень капризные, например:
- ub18 изначально идет с библиотекой 1.1.0. При установке мы смотрим "а есть ли на системе openssl новее нашего". Видим что нет, ставим наши библиотеки в приоритет, а через час ub18 обновляет пакеты системного openssl до 1.1.1 и мы получаем проблемы вида: системный openssl не хочет работать с нашими библиотеками 1.1.0
- одинаковые версии библиотеки на centos и ubuntu имеют разные окончания (*so.1.1.0 и *so.10), что мешает работе приложений, слинкованных с openssl

Можно жаловаться на это как угодно, но у всех SSL в Ubuntu работает нормально, ничего не валится.
Стоило поставить в систему "OpenSSL library" - возникли странные сбои SSH (!).

Автор: Ефремов Степан Перейти к цитате

- cp-openssl (1.0.2) не нужно устанавливать, если он не нужен (а он не должен быть нужен)
- попробуйте установить только openssl 1.1.0 и сообщите, если возникнут какие либо ошибки. Сразу отмечу, что в случае, если на системе есть openssl новее нашего, наш будет регистрировать библиотеки в приоритете ниже системного. Для пользования нашего openssl в этом случае можно пользоваться LD_LIBRARY_PATH

Когда используется КриптоПро CSP 5.0, там нет выбора версии "OpenSSL library" и нет никаких предупреждений об упомянутых выше проблемах.
Так что нужно срочно корректировать скрипт GUI для установки CSP 5.0, чтобы выдавалось предупреждение о возможности сбоя работы SSH и т.д.
Что касается потребности в установке "OpenSSL library" в составе КриптоПро CSP 5.0 - она есть, как минимум, в перспективе.
Если использовать стандартный для Ubuntu SSL gost engine (libengine-gost-openssl1.1), то он не обеспечивает часть шифров ГОСТ, которые есть в gost-engine (на git).
Так что было бы лучше устанавливать его через КриптоПро CSP 5.0. Альтернатива (кстати, хорошая) - участие КриптоПро в разработке libengine-gost-openssl1.1
Устанавливать gost-engine - это корявое системное решение (делал для тестов).
Offline Ефремов Степан  
#5 Оставлено : 17 января 2020 г. 12:09:49(UTC)
Ефремов Степан

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

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

Поблагодарили: 5 раз в 5 постах
Автор: dmik68 Перейти к цитате
Когда используется КриптоПро CSP 5.0, там нет выбора версии "OpenSSL library" и нет никаких предупреждений об упомянутых выше проблемах.

Момент с gui понятен, спасибо. Будем что-то предпринимать.

dmik68 написал:
Стоило поставить в систему "OpenSSL library" - возникли странные сбои SSH (!).

Из-за не нужности cp-openssl-1.0.2, но возможных проблемах, как у вас - мы планируем его убрать из дистрибутива.

Пока итог такой: не надо ставить cp-openssl-1.0.2 (особенно, как выясняется, на ub18, в CSP 5.0 на других OS проблем с SSH не замечали).
Техническая поддержка здесь.
База знаний здесь.
Offline Ефремов Степан  
#6 Оставлено : 17 января 2020 г. 12:22:54(UTC)
Ефремов Степан

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

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

Поблагодарили: 5 раз в 5 постах
dmik68 написал:
Стоило поставить в систему "OpenSSL library" - возникли странные сбои SSH (!).

И все таки хотелось бы воспроизвести, т.к. здесь не похоже, что дело в различие версий. Больше похоже на испорченный /var/opt/cprocsp/cp-openssl/openssl.cnf. Можете в кратце описать, как воспроизвести проблему на ub18?
Техническая поддержка здесь.
База знаний здесь.
Offline dmik68  
#7 Оставлено : 17 января 2020 г. 13:40:00(UTC)
dmik68

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

Группы: Участники
Зарегистрирован: 15.01.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Королёв

Как писал изначально, сбой возник конкретно в подсистеме SSH internal-sftp.
Эта подсистема делает chroot-доступ группы пользователей в режиме SFTP-only (без доступа к консоли SSH).
Обычный SSH работал без сбоев.
Сопутствующие логи были приложены к изначальному сообщению.

Что касается SFTP-only, то он реализуется стандартным образом, расписывать не буду.
Конфиг тоже стандартный для такого случая, и он отработан в таком виде в течении многих лет.
Цитата:
# override default of no subsystems
##Subsystem sftp /usr/lib/openssh/sftp-server

AllowGroups adm www-data
Subsystem sftp internal-sftp
Match group www-data
ChrootDirectory /data/sites
ForceCommand internal-sftp -u 000 -l INFO -f LOCAL5
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no


Логирование прописывается так (50-default.conf):
Цитата:
# Internal-sftp logging.
$InputUnixListenSocketCreatePath on
$AddUnixListenSocket /data/sites/dev/log
local5.* /var/log/sftp.log


У другого человека тоже обнаружилась подобная проблема.
Автор: Алексей Черенцов Перейти к цитате
сегодня потребовалось склонировать с репозиторя объект и выяснилось, что GIT отвалился с ошибкой:
/usr/bin/ssh: /opt/cprocsp/cp-openssl/lib/amd64/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)
поудалял криптопрошные ssl-пакты и git опять ожил.



Вот это не использовал никак:
/var/opt/cprocsp/cp-openssl/openssl.cnf

В стандартном системном конфиге был прописан только engine gost, установленный libengine-gost-openssl1.1 (/usr/lib/x86_64-linux-gnu/engines-1.1/gost.so).
На время пробовал прописать дополнительный engine (естественно, не как gost, а под другим именем).
Этот дополнительный движок - gostengy - не заработал с ошибкой, указанной в первичном сабже.
При обнаружении сбоя в internal-sftp, для эксперимента, удалил добавленную секцию в конфиге системного SSL. Ни на что не повлияло.
Конфигурация системного SSL на момент, когда тестировался дополнильный "gostengy" из КриптоПро CSP 5.0:
Цитата:
[engine_section]
gost = gost_section
gostengy = gostengy_section

[gost_section]
soft_load = 1
engine_id = gost
default_algorithms = ALL
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

[gostengy_section]
soft_load = 1
engine_id = gostengy
dynamic_path = /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost.so
default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1123456789101112
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

Отредактировано пользователем 17 января 2020 г. 13:56:47(UTC)  | Причина: Дополнение

Offline Ефремов Степан  
#8 Оставлено : 17 января 2020 г. 15:05:16(UTC)
Ефремов Степан

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

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

Поблагодарили: 5 раз в 5 постах
Воспроизвелось. Из логов сразу понятно, что управление попадает в наш cp-openssl-1.0.2, а не 1.1.0. sshd слинкован с openssl 1.0, непонятно почему не 1.1, но есть как есть. По этому если есть проблемы с конфигом, то с /var/opt/cprocsp/cp-openssl/openssl.cnf, а не с системным. А похоже они есть.

Можете пожалуйста воспроизвести поломку (установить наш 1.0.2), а после чего попробовать закомментировать "engines = engine_section" в /var/opt/cprocsp/cp-openssl/openssl.cnf:
Цитата:
[openssl_def]
# engines = engine_section

Отредактировано пользователем 17 января 2020 г. 15:05:54(UTC)  | Причина: Не указана

Техническая поддержка здесь.
База знаний здесь.
Offline dmik68  
#9 Оставлено : 17 января 2020 г. 15:31:02(UTC)
dmik68

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

Группы: Участники
Зарегистрирован: 15.01.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Королёв

Да, всё совпадает.
Последовательность действий:
1. Снесено старое через скрипт GUI и установлено новое с включением "OpenSSL library".
2. Протестировано воспроизведение сбоя в internal-sftp.
3. Протестировано, что обычный SSH и SFTP не затронуты сбоем.
4. Закомментировано "engines = engine_section" в /var/opt/cprocsp/cp-openssl/openssl.cnf
5. Протестировано устранение сбоя в internal-sftp (сбой устранился).

Комплект соответствующих логов прилагается.
sftp.log (1kb) загружен 2 раз(а).
auth.log (3kb) загружен 2 раз(а).
syslog.txt (12kb) загружен 1 раз(а).

Скриншот ошибки подключения в режиме "internal-sftp".
SFTP_err.png (6kb) загружен 1 раз(а).
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.