Обновление Openssl на CentOS 7
Посмотреть текущую версию
Определить текущую версию openssl можно стандартной командой:
# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
Узнать расположение пакета OpenSSL и его библиотек можно так:
# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
Установка из пакетов
Это самый просто и быстрый способ установки, но на момент написания в репозиториях для CentOS 7 доступна только версия 1.0.2.
1. Производим установку:
# yum install openssl
Или если пакет уже установлен, то пытаемся обновить:
# yum update openssl
2. Менеджер попробует найти нужный пакет, если найдет, то выведет информацию и спросит про установку - вводим «y» и нажимаем ентер.
Если требуемой версии нет, то выполняем установку из исходника.
Установка из исходника
0. Устанавливаем из репозитория пакеты, необходимые для сборки пакетов:
# yum install make gcc
1. Переходим на официальный сайт https://www.openssl.org/source/, находим нужную версию и копируем ссылку на архив tar.gz. При этом желательно использовать последнюю стабильную версию или версию LTS (Long Term Support).
2. Скачиваем архив на CentOS:
# wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz
3. Распаковываем архив
# tar -xvf openssl-1.1.1n.tar.gz
4. Переходим в папку с исходником:
# cd openssl-1.1.1n
5. Конфигурируем пакет с указанием места установки в папку пользовательских пакетов:
# ./config --prefix=/usr/local --openssldir=/usr/local
6. Производим сборку:
# make
7. Производим установку:
# make install
8. На всякий случай делаем резервную копию текущей версии (если она установлена):
# mv /usr/bin/openssl /root/openssl.back
9. В папке с пакетами создаем ссылку на новую версию:
# ln -s /usr/local/bin/openssl /usr/bin/openssl
10. Проверяем версию с уточнением:
# openssl version -a
OpenSSL 1.1.1n 21 Apr 2020 (Library: OpenSSL 1.0.2k-fips 26 Jan 2017)
…
Видно, что встала новая версия OpenSSL, но в скобках указано, что система по прежнему, использует старую библиотеку. Необходимо добавить в линковщик LD новый путь (он создает связки и формирует кэш динамических библиотек установленных в системе).
11. Для это создаем файл:
# vi /etc/ld.so.conf.d/usr-lib.conf
Добавляем в него строки:
/usr/local/lib
/usr/local/lib64
На будущее прописываем путь и для 64-х разрядных библиотек.
12. Применяем настройки путей к библиотекам:
# ldconfig -v
13. Снова проверяем:
# openssl version -a
OpenSSL 1.1.1n 21 Apr 2020
…