Как установить последнюю версию OpenSSL из исходного кода в Linux
OpenSSL — это широко используемая криптографическая библиотека, реализующая протоколы SSL и TLS для безопасной связи через компьютерные сети. Многие программы, такие как веб-сервер Apache, PHP, Postfix и многие другие, используют OpenSSL. OpenSSL обеспечивает поддержку различных криптографических алгоритмов, таких как шифры (AES, Blowfish, DES, IDEA и т. д.), криптографические хеш-функции (MD5, MD4, SHA-1, SHA-2 и т. д.) и криптография с открытым ключом (RSA, DSA). , обмен ключами Диффи-Хеллмана).
В этом уроке я шаг за шагом покажу вам, как установить последнюю стабильную версию OpenSSL из исходного кода на серверах Ubuntu 22.04 и CentOS 7.6.
Что мы будем делать?
- Установить зависимости
- Скачать исходный код OpenSSL
Установить OpenSSL
- Скомпилируйте и установите OpenSSL
- Настройка библиотек ссылок
- Настройка двоичного файла OpenSSL
Шаг 1 — Установите зависимости
Прежде чем мы сможем скомпилировать библиотеку OpenSSL из исходного кода, первым шагом является установка некоторых зависимостей пакета, включая пакет «build-essential» в Ubuntu или пакет «Инструменты разработки» в CentOS.
В Ubuntu
Обновите репозиторий Ubuntu и установите зависимости пакетов для компиляции программного обеспечения, используя приведенную ниже команду apt.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
На CentOS
Установите «Инструменты разработки» и некоторые библиотеки пакетов с помощью команды yum.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
После завершения установки перейдите к следующему шагу.
Шаг 2 — Загрузите OpenSSL
В этом уроке мы установим последнюю стабильную версию OpenSSL — OpenSSL 3.0.7. Вы можете скачать исходный код с сайта OpenSSL.
Перейдите в каталог /usr/local/src и загрузите исходный код OpenSSL с помощью wget.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-3.0.7.tar.gz
Теперь извлеките файл openssl.tar.gz и перейдите в каталог openssl.
tar -xf openssl-3.0.7.tar.gz
cd openssl-3.0.7
Исходный код OpenSSL загружен.
Шаг 3 — Установите OpenSSL
Прежде чем устанавливать пользовательскую версию OpenSSL в систему, давайте проверим установленную версию с помощью команды ниже.
openssl version -a
Ниже приведены мои результаты в Ubuntu:
Мы заменим версию 3.0.2 последней стабильной версией OpenSSL 3.0.7.
Мы установим новую версию OpenSSL в определенный каталог /usr/local/ssl, а затем включим библиотеки ссылок OpenSSL и настроим новый двоичный PATH для OpenSSL.
Установите и скомпилируйте OpenSSL
Перейдите в загруженный каталог openssl «/usr/local/src/openssl».
cd /usr/local/src/openssl-3.0.7
Настройте и скомпилируйте OpenSSL с помощью команд ниже.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Дождитесь процесса компиляции OpenSSL.
Примечание:
- --prefix и --openssldir=Установите выходной путь OpenSSL.
- общий=принудительно создать общую библиотеку.
- zlib=включить сжатие с помощью библиотеки zlib.
Когда процесс компиляции завершится, установите OpenSSL, используя команду ниже.
make install
OpenSSL устанавливается в каталог «/usr/local/ssl».
Настройка библиотек ссылок
Далее мы настроим общие библиотеки для OpenSSL. Новый двоичный файл OpenSSL будет загружать файлы библиотеки из каталога «/usr/local/ssl/lib».
Перейдите в каталог /etc/ld.so.conf.d и создайте новый файл конфигурации openssl-3.0.7.conf.
cd /etc/ld.so.conf.d/
nano openssl-3.0.7.conf
Вставьте путь к библиотеке openssl.
/usr/local/ssl/lib64
Сохранить и выйти.
Теперь перезагрузите динамическую ссылку, используя команду ниже.
sudo ldconfig -v
И вы увидите, что библиотеки OpenSSL в каталоге «/usr/local/ssl/lib64» загружены.
Убунту:
Настройка двоичного файла OpenSSL
Мы заменим двоичный файл openssl по умолчанию «/usr/bin/openssl или /bin/openssl» на новую версию «/usr/local/ssl/bin/openssl».
В Ubuntu 22.04 LTS
Сделайте резервную копию двоичных файлов.
mv /usr/bin/c_rehash /usr/bin/c_rehash.bak
mv /usr/bin/openssl /usr/bin/openssl.bak
Отредактируйте файл «/etc/environment» с помощью nano.
nano /etc/environment
Теперь добавьте новый двоичный каталог OpenSSL, как показано ниже.
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/ssl/bin"
Сохранить и выйти.
Перезагрузите файл среды и протестируйте новый обновленный двоичный PATH.
source /etc/environment
echo $PATH
Теперь снова проверьте двоичный файл OpenSSL.
which openssl
Вы получите результат, как показано ниже.
Двоичный путь OpenSSL для Ubuntu был обновлен.
В CentOS 7.6
Создайте резервную копию двоичных файлов CentOS OpenSSL.
mv /bin/openssl /bin/openssl.bak
Создайте новые файлы среды для OpenSSL.
vim /etc/profile.d/openssl.sh
Вставьте конфигурацию ниже.
#Set OPENSSL_PATH
OPENSSL_PATH="/usr/local/ssl/bin"
export OPENSSL_PATH
PATH=$PATH:$OPENSSL_PATH
export PATH
Сохранить и выйти.
Сделайте файл openssl.sh исполняемым.
chmod +x /etc/profile.d/openssl.sh
Загрузите среду OpenSSL и проверьте каталог bin PATH, используя приведенные ниже команды.
source /etc/profile.d/openssl.sh
echo $PATH
Теперь проверьте файл OpenSSL.
which openssl
Двоичный путь для OpenSSL в CentOS был обновлен.
Шаг 4 — Тестирование
Проверьте новую версию OpenSSL, используя следующую команду.
openssl version -a
Результат на Ubuntu.
Последняя стабильная версия OpenSSL была установлена из исходного кода в Linux Ubuntu 22.04 и CentOS 7.6.
Ссылка
- https://wiki.openssl.org/