OpenSSL je široce používaná šifrovací knihovna, která implementuje protokoly SSL a TLS pro bezpečnou komunikaci v počítačových sítích. OpenSSL používá mnoho programů, například webový server Apache, PHP, Postfix a mnoho dalších. OpenSSL poskytuje podporu pro různé kryptografické algoritmy, jako jsou šifry (AES, Blowfish, DES, IDEA atd.), kryptografické hashovací funkce (MD5, MD4, SHA-1, SHA-2 atd.) a kryptografie veřejných klíčů (RSA, DSA, Diffie-Hellmanova výměna klíčů).
V tomto návodu vám krok za krokem ukážu, jak nainstalovat nejnovější stabilní verzi OpenSSL ze zdrojových kódů na servery Ubuntu 18.04 a CentOS 7.6.
Co budeme dělat?
- Instalace závislostí
- Stažení zdrojového kódu OpenSSL
- Instalace OpenSSL
- Kompilování a Nainstalujte OpenSSL
- Konfigurujte linkovací knihovny
- Konfigurujte binární knihovnu OpenSSL
- Testování
Krok 1 -. Instalace závislostí
První krok, než budeme moci zkompilovat knihovnu OpenSSL ze zdrojových kódů, je nainstalovat některé závislosti balíčků, včetně balíčku ‚build-essential‘ v Ubuntu nebo balíčku ‚Development Tools‘ v CentOS.
V Ubuntu
Aktualizujte repozitář Ubuntu a nainstalujte závislosti balíčků pro kompilaci softwaru pomocí níže uvedeného příkazu apt.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
V CentOS
Nainstalujte ‚Development Tools‘ a některé balíčky knihoven pomocí příkazu yum.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
Po dokončení instalace přejděte k dalšímu kroku.
Krok 2 – Stažení OpenSSL
V tomto návodu nainstalujeme nejnovější stabilní verzi OpenSSL – OpenSSL 1.0.2o. Zdrojový kód si můžete stáhnout ze stránek OpenSSL.
Přejděte do adresáře ‚/usr/local/src‘ a stáhněte zdrojový kód OpenSSL pomocí wget.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Nyní rozbalte soubor openssl.tar.gz a přejděte do adresáře ‚openssl‘.
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
Zdrojový kód OpenSSL byl stažen.
Krok 3 – Instalace OpenSSL
Před instalací vlastní verze OpenSSL do systému zkontrolujeme nainstalovanou verzi pomocí níže uvedeného příkazu.
openssl version -a
Níže jsou uvedeny mé výsledky na Ubuntu:
A toto je na CentOS:
Nahradíme verzi ‚1.1.0g‘ nejnovější stabilní verzí 1.0.2o.
Nainstalujeme novou verzi OpenSSL do konkrétního adresáře ‚/usr/local/ssl‘ a poté povolíme linkovací knihovny OpenSSL a nakonfigurujeme novou binární cestu PATH pro OpenSSL.
Instalace a kompilace OpenSSL
Přejděte do staženého adresáře openssl ‚/usr/local/src/openssl‘.
cd /usr/local/src/openssl-1.0.2o
Konfigurujte a zkompilujte OpenSSL pomocí níže uvedených příkazů.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Počkejte na proces kompilace OpenSSL.
Poznámka:
- –prefix a –openssldir = Nastavení výstupní cesty OpenSSL.
- shared = vynucení vytvoření sdílené knihovny.
- zlib = povolit kompresi pomocí knihovny zlib.
Po dokončení procesu kompilace nainstalujte OpenSSL pomocí níže uvedeného příkazu.
make install
OpenSSL se nainstaluje do adresáře ‚/usr/local/ssl‘.
Konfigurace linkovaných knihoven
Následujícím krokem bude konfigurace sdílených knihoven pro OpenSSL. Nová binárka OpenSSL bude načítat knihovní soubory z adresáře ‚/usr/local/ssl/lib‘.
Přejděte do adresáře ‚/etc/ld.so.conf.d‘ a vytvořte nový konfigurační soubor ‚openssl-1.0.2o.conf‘.
cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf
Vložte adresář s cestou ke knihovnám openssl.
/usr/local/ssl/lib
Uložení a ukončení.
Nyní znovu načtěte dynamický odkaz pomocí níže uvedeného příkazu.
sudo ldconfig -v
A uvidíte, že knihovny OpenSSL v adresáři ‚/usr/local/ssl/lib‘ byly načteny.
Ubuntu:
CentOS:
Konfigurace binárky OpenSSL
Nahradíme výchozí binárku openssl ‚/usr/bin/openssl nebo /bin/openssl‘ novou verzí ‚/usr/local/ssl/bin/openssl‘.
V Ubuntu 18.04 LTS
Zálohujte binární soubory.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Upravte soubor ‚/etc/environment‘ pomocí vim.
vim /etc/environment
Nyní přidejte nový binární adresář OpenSSL, jak je uvedeno níže
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Uložte a ukončete.
Znovu načtěte soubor prostředí a otestujte novou aktualizovanou binární cestu PATH.
source /etc/environment
echo $PATH
Nyní znovu zkontrolujte binární soubor OpenSSL.
which openssl
Výsledek bude následující.
Binární cesta k OpenSSL pro Ubuntu byla aktualizována.
V systému CentOS 7.6
Zálohujte binární soubory OpenSSL pro CentOS.
mv /bin/openssl /bin/openssl.BEKUP
Vytvořte nové soubory prostředí pro OpenSSL.
vim /etc/profile.d/openssl.sh
Vložte níže uvedenou konfiguraci.
#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH
Uložení a ukončení.
Udělejte spustitelný soubor openssl.sh.
chmod +x /etc/profile.d/openssl.sh
Načíst prostředí OpenSSL a zkontrolovat adresář PATH bin pomocí níže uvedených příkazů.
source /etc/profile.d/openssl.sh
echo $PATH
Nyní zkontrolujte soubor OpenSSL.
which openssl
Výsledek bude následující.
Binární cesta pro OpenSSL v systému CentOS byla aktualizována.
Krok 4 – Testování
Vyzkoušejte novou verzi OpenSSL pomocí následujícího příkazu.
openssl version -a
Výsledek na Ubuntu.
Výsledek na CentOS.
.