- Как обновить библиотеку OpenSSL
- Как обновить OpenSSL на Windows 7?
- 1 ответ
- Как обновить OpenSSL до версии 1.0.2 на CentOS 6 / CentOS 7
- Как обновить OpenSSL на Linux CentOS
- Посмотреть текущую версию
- Из пакетов
- Из исходника
- How To Install OpenSSL on Windows
- Step 1 – Download OpenSSL Binary
- Step 2 – Run OpenSSL Installer
- Step 3 – Setup Environment Variables
- Step 4 – Run OpenSSL Binary
Как обновить библиотеку OpenSSL
Я использую 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 вывод:
Обновление 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) возвращается
Прежде всего, вы должны удалить локально установленные библиотеки и двоичные файлы ( libcrypto и libssl т. Д., И openssl ). Это гарантирует, что вы используете упакованные версии, которые получают поддержку безопасности.
Чтобы получить то, что вам действительно нужно , то есть Nginx с HTTP2 и TLS, я настоятельно рекомендую вам использовать пакет с обратным портом вместо создания своего собственного; эта версия имеет функции, которые вы ищете. Для этого запустите (как root)
Debian Stretch является текущей стабильной версией (по состоянию на ноябрь 2017 года). Команда безопасности передает исправления безопасности в выпущенные версии кода, поэтому, пока вы не получите новые функции, вы можете быть уверены, что ваши библиотеки SSL обновлены.
Какие связанные пакеты установлены или могут быть установлены
Какие версии установленных пакетов доступны в репозиториях
Убедитесь, что все в курсе
Для любого данного пакета вы можете увидеть, какие исправления были применены, прочитав файл Changes в /usr/share/doc/
Похоже, вы используете какой-то дистрибутив Linux, что означает, что обновления ваших пакетов зависят от сопровождающих вашего дистрибутива, и вы будете получать новые версии пакетов только тогда, когда упомянутые сопровождающие загружают новые версии в ваш репозиторий дистрибутива (это может также включать обновление до новой версии). версия вашего дистрибутива).
Конечно, вы можете следовать, например, этому руководству (если вы используете Ubuntu / Debian / Mint), чтобы создать новую версию OpenSSL, а затем использовать dpkg для ее установки, но это может привести к печальным последствиям, например, ваши установленные приложения будут либо прекратить соединение с использованием SSL или вообще прекратить работу.
Если вам абсолютно необходимо иметь новую версию OpenSSL, чтобы просто поиграть, вы можете скомпилировать ее из исходников и установить в / usr / local, где она не будет мешать общесистемным пакетам. Это обычно так же просто, как бег
Но в настоящее время это не всегда просто, учитывая существование CMake и других цепочек сборки. В любом случае, многие приложения Linux поставляются с руководством по их сборке.
Как обновить OpenSSL на Windows 7?
Я использую Windows 7 x64, и в моем cgywin приглашение я могу запустить
и посмотреть текущую версию. Я хочу обновить его до последней версии, но не могу найти официальный источник о том, как это сделать. Какой самый простой способ сделать это? Я надеюсь, что их командную строку я могу использовать в том же окне.
1 ответ
Чтобы обновить openssl Cygwin, вам просто нужно запустить установщик и выбрать более новую версию. Сайт Cygwin гласит следующее:
Утилита setup.exe отслеживает версии всех установленных компонентов и предоставляет механизм для установки или обновления всего, что доступно на этом сайте для Cygwin.
Шаги для обновления следующие:
- Перейдите на сайт Cygwin и загрузите файл setup.exe.
- Запустите setup.exe и нажимайте «Далее», пока не перейдете на страницу «Выбор пакетов».
- Введите пакет, который вы хотите обновить (openssl) в поле поиска.
- Выберите версию, которую вы хотите установить.
- Нажмите Далее и подождите, пока он установится / загрузится.
После завершения установки / обновления вы сможете увидеть новую версию в Cygwin с помощью следующей команды:
Вы также можете собрать OpenSSL из исходного кода, но я никогда не пробовал. Я полагаю, что Cygwin занимается установкой / обновлением по определенной причине.
Как обновить OpenSSL до версии 1.0.2 на CentOS 6 / CentOS 7
OpenSSL — это библиотека, которая обеспечивает криптографическую функциональность, в частности SSL / TLS для популярных приложений, таких как защищенные веб-серверы, базы данных MySQL и приложения электронной почты.
У меня на сервере CentOS 6 до сих пор стояла версия библиотеки OpenSSL 1.0.1e-fips 11 Feb 2013 которая в свое время стала уязвимой для хакеров и прочих злоумышленников, и сегодня я вам опишу мои шаги успешного обновления данной библиотеки до версии OpenSSL 1.0.2l 25 May 2017
1. Проверяем текущею версию командой «openssl version»:
# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
2. Далее командой «yum info openssl» проверяем возможные готовые пакеты обновления:
# yum info openssl
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Determining fastest mirrors
* base: mirror.logol.ru
* epel: fedora-mirror01.rbc.ru
* extras: mirror.logol.ru
* nux-dextop: mirror.li.nux.ro
* remi: mirror.awanti.com
* remi-php55: mirror.awanti.com
* remi-php56: mirror.awanti.com
* remi-test: mirror.awanti.com
* updates: mirror.logol.ru
Installed Packages
Name : openssl
Arch : x86_64
Epoch : 1
Version : 1.0.1e
Release : 60.el7_3.1
Size : 1.5 M
Repo : installed
From repo : updates
Summary : Utilities from the general purpose cryptography library with TLS implementation
URL : http://www.openssl.org/
License : OpenSSL
Description : The OpenSSL toolkit provides support for secure communications between
: machines. OpenSSL includes a certificate management tool and shared
: libraries which provide various cryptographic algorithms and
: protocols.
Как видим доступный пакет обновлений уже установлен и он версии 1.0.1e что в нашем случае нас не устраивает!
3. Тогда мы идем на официальный сайт и скачиваем последнюю версию данной библиотеки и распаковываем:
# cd /usr/src
# wget https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
# tar -zxf openssl-1.0.2-lates
4. Переходим в папку и конфигурируем:
5. Проверяем и устанавливаем:
6. Резервируем предыдущую версию OpenSSL:
7. И делаем ссылку на новую:
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
8. Проверяем версию OpenSSL:
в ответ мы получаем OpenSSL 1.0.2l 25 May 2017.
Поздравляю вы успешно справились с задачей и обновили библиотеку до новой версии!
Как обновить OpenSSL на Linux CentOS
Данная инструкция протестирована на CentOS 6, 7 и 8.
Посмотреть текущую версию
Узнать текущую версию openssl в Linux можно следующей командой:
Мы увидим что-то на подобие:
OpenSSL 1.0.2k-fips 26 Jan 2017
* в данном примере используется версия openssl 1.0.2k от 26 января 2017 года.
Из пакетов
Самый простой способ — воспользоваться репозиторием. Однако, в нем может находиться далеко не последняя версия.
yum install openssl
* также можно ввести yum update openssl.
Если будет найдено обновление, система предложит обновить пакет — отвечаем Y.
Если обновлений нет или будет установлена не последняя версия, выполняем установку из исходника.
Из исходника
Устанавливаем пакеты, необходимые для сборки пакета:
yum install make gcc
Переходим по ссылке https://www.openssl.org/source/ и находим в описании LTS версию openssl:
* как видим, на момент написания обновления инструкции это была версия 1.1.1.
И копируем ссылку на ее скачивание:
На CentOS скачиваем исходник с использованием найденной ссылки:
И распаковываем его с последующим удалением:
tar -xvf openssl-*.tar.gz && \rm openssl-*.tar.gz
Переходим в папку с распакованным исходником:
./config —prefix=/usr/local —openssldir=/usr/local
Резервируем предыдущую версию openssl:
mv /usr/bin/openssl /root/openssl.back
И делаем ссылку на новую:
ln -s /usr/local/bin/openssl /usr/bin/openssl
Снова проверяем версию:
openssl version -a
Система вернет полные сведения об openssl, например:
OpenSSL 1.1.1g 21 Apr 2020 (Library: OpenSSL 1.0.2k-fips 26 Jan 2017)
built on: Sat May 11 01:54:53 2019 UTC
platform: linux-x86_64
options: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,—noexecstack -Wall -O3 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wa,—noexecstack -Wa,—generate-missing-build-notes=yes -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM=»\»/dev/urandom\»» -DSYSTEM_CIPHERS_FILE=»/etc/crypto-policies/back-ends/openssl.config»
OPENSSLDIR: «/etc/pki/tls»
ENGINESDIR: «/usr/lib64/engines-1.1»
Seeding source: os-specific
Обращаем внимание, что у нас установлена новая версия OpenSSL, но по прежнему, используется старая библиотека — Library: OpenSSL 1.0.2k-fips 26 Jan 2017.
Необходимо добавить в ldconfig новый путь. Для это создаем файл:
* если у нас используется система 32-бит, то путь будет /usr/local/lib.
How To Install OpenSSL on Windows
OpenSSL is a full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is licensed under an Apache-style license. This tutorial will help you to install OpenSSL on Windows operating systems.
Step 1 – Download OpenSSL Binary
Download the latest OpenSSL windows installer file from the following download page. Click the below link to visit OpenSSL download page:
Step 2 – Run OpenSSL Installer
Now run the OpenSSL installer on your system. The OpenSSL required Microsoft Visual C++ to be installed on your system. If your system doesn’t have Microsoft Visual C++ installed, the installer will show your message like:
Click Yes to download and install required Microsoft Visual C++ package on your system.
Then again run the OpenSSL installer and follow the wizard.
Step 3 – Setup Environment Variables
Now set the environment variables to function OpenSSL properly on your system. You are required to set OPENSSL_CONF and Path environment variables.
Set OPENSSL_CONF Variable:
Set Path Variable:
Step 4 – Run OpenSSL Binary
Open a command prompt and type openssl to get OpenSSL prompt. Then run version command on OpenSSL proper to view installed OpenSSL version.