Обновление 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