Я использую Debian (Stretch). Здесь openssl version
возвращается:
OpenSSL 1.1.0f 25 мая 2017 г. (Библиотека: OpenSSL 1.1.0-pre6-dev xx XXX xxxx)
Как я могу обновить «Библиотеку», используемую для OpenSSL ( 1.1.0-pre6-dev ), до самой последней версии, поскольку
apt-get install openssl
она, похоже, не помогает?На другом сервере
openssl version
возвращает «OpenSSL 1.1.0g 2 ноября 2017 г. (Библиотека: OpenSSL 1.1.0f 25 мая 2017 г.)»: как это возможно, что используемая библиотека версий не совпадает с установленным пакетом?
Обновление 1
apt-cache policy openssl libssl1.1
вывод:
OpenSSL:
Installed: 1.1.0f-3+deb9u1
Candidate: 1.1.0f-3+deb9u1
Version table:
1.1.0f-3+deb9u1 500
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
100 /var/lib/dpkg/status
1.1.0f-3 500
500 http://debian.mirrors.ovh.net/debian stretch/main amd64 Packages
libssl1.1:
Installed: 1.1.0f-5
Candidate: 1.1.0f-5
Version table:
1.1.0f-5 100
100 /var/lib/dpkg/status
1.1.0f-3+deb9u1 500
500 http://security.debian.org/debian-security stretch/updates/main amd64
Packages
1.1.0f-3 500
500 http://debian.mirrors.ovh.net/debian stretch/main amd64 Packages
Обновление 2
Похоже, что установлены две версии openssl:
usr/local/ssl/bin/openssl version
возвращается OpenSSL 1.0.2h 3 мая 2016
usr/bin/openssl version
возвращает OpenSSL 1.1.0f 25 мая 2017 г. (Библиотека: OpenSSL 1.1.0-pre6-dev xx XXX xxxx)
which openssl
возвращает / usr / bin / openssl
ldd $(which openssl)
возвращается
linux-vdso.so.1 (0x00007fff3b074000)
libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x00007f4ec0de0000)
libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x00007f4ec095b000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4ec0757000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4ec053a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4ec019b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4ec12f9000)
apt-cache policy openssl libssl1.1
выводит? (Пожалуйста, отредактируйте свой вопрос, чтобы добавить информацию.) Stretch имеет только 1.1.0f, но это новее, чем 1.1.0-pre6.which openssl
иldd $(which openssl)
выводить? Похоже, есть еще одна версия какopenssl
инструмента, так иlibssl
библиотеки.Ответы:
Прежде всего, вы должны удалить локально установленные библиотеки и двоичные файлы (
libcrypto
иlibssl
т. Д., Иopenssl
). Это гарантирует, что вы используете упакованные версии, которые получают поддержку безопасности.Чтобы получить то, что вам действительно нужно , то есть Nginx с HTTP2 и TLS, я настоятельно рекомендую вам использовать пакет с обратным портом вместо создания своего собственного; эта версия имеет функции, которые вы ищете. Для этого запустите (как root)
источник
Debian Stretch является текущей стабильной версией (по состоянию на ноябрь 2017 года). Команда безопасности передает исправления безопасности в выпущенные версии кода, поэтому, пока вы не получите новые функции, вы можете быть уверены, что ваши библиотеки SSL обновлены.
Какие связанные пакеты установлены или могут быть установлены
Какие версии установленных пакетов доступны в репозиториях
Убедитесь, что все в курсе
Для любого данного пакета вы можете увидеть, какие исправления были применены, прочитав файл Changes в
/usr/share/doc/{package_name}/changelog.Debian.gz
. Например,источник
Похоже, вы используете какой-то дистрибутив Linux, что означает, что обновления ваших пакетов зависят от сопровождающих вашего дистрибутива, и вы будете получать новые версии пакетов только тогда, когда упомянутые сопровождающие загружают новые версии в ваш репозиторий дистрибутива (это может также включать обновление до новой версии). версия вашего дистрибутива).
Конечно, вы можете следовать, например, этому руководству (если вы используете Ubuntu / Debian / Mint), чтобы создать новую версию OpenSSL, а затем использовать dpkg для ее установки, но это может привести к печальным последствиям, например, ваши установленные приложения будут либо прекратить соединение с использованием SSL или вообще прекратить работу.
Если вам абсолютно необходимо иметь новую версию OpenSSL, чтобы просто поиграть, вы можете скомпилировать ее из исходников и установить в / usr / local, где она не будет мешать общесистемным пакетам. Это обычно так же просто, как бег
Но в настоящее время это не всегда просто, учитывая существование CMake и других цепочек сборки. В любом случае, многие приложения Linux поставляются с руководством по их сборке.
источник