OpenSSL je široce používaná krypto knihovna, která implementuje protokoly SSL a TLS pro bezpečnou komunikaci přes počítačové sítě. OpenSSL používá mnoho programů, jako je 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 s veřejným klíčem (RSA, DSA, Diffie -Hellmanova výměna klíčů).
V tomto tutoriálu vám krok za krokem ukážu, jak nainstalovat nejnovější stabilní verzi OpenSSL ze zdroje na servery Ubuntu 18.04 a CentOS 7.6.
Co uděláme?
- Instalovat závislosti
- Stáhněte si zdrojový kód OpenSSL
- Nainstalujte OpenSSL
- Zkompilujte a nainstalujte OpenSSL
- Konfigurovat knihovny odkazů
- Nakonfigurujte OpenSSL Binary
- Testování
Krok 1 – Instalace závislostí
Prvním krokem, než budeme moci zkompilovat knihovnu OpenSSL ze zdroje, je instalace některých závislostí balíčků, včetně balíčku „build-essential“ na Ubuntu nebo balíčku „Development Tools“ na CentOS.
Na Ubuntu
Aktualizujte úložiště Ubuntu a nainstalujte závislosti balíčků pro kompilaci softwaru pomocí příkazu apt níže.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
V systému CentOS
Nainstalujte 'Development Tools' a některé knihovny balíčků 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 – Stáhnout OpenSSL
V tomto tutoriálu nainstalujeme nejnovější stabilní verzi OpenSSL – OpenSSL 1.0.2o. Zdrojový kód si můžete stáhnout z webu OpenSSL.
Přejděte do adresáře '/usr/local/src' a stáhněte si 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 zkontrolujte nainstalovanou verzi pomocí příkazu níže.
openssl version -a
Níže jsou mé výsledky na Ubuntu:
A toto je na CentOS:
Verzi '1.1.0g' nahradíme nejnovější stabilní verzí 1.0.2o.
Nainstalujeme novou verzi OpenSSL do konkrétního adresáře '/usr/local/ssl' a poté povolíme knihovny odkazů OpenSSL a nakonfigurujeme novou binární 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
Nakonfigurujte 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 and --openssldir =Nastavte výstupní cestu OpenSSL.
- shared =vynutit vytvoření sdílené knihovny.
- zlib =povolí kompresi pomocí knihovny zlib.
Po dokončení procesu kompilace nainstalujte OpenSSL pomocí příkazu níže.
make install
OpenSSL je nainstalováno v adresáři '/usr/local/ssl'.
Konfigurovat knihovny odkazů
Dále nakonfigurujeme sdílené knihovny pro OpenSSL. Nový binární soubor OpenSSL načte soubory knihovny 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ář cesty knihovny openssl.
/usr/local/ssl/lib
Uložte a ukončete.
Nyní znovu načtěte dynamický odkaz pomocí příkazu níže.
sudo ldconfig -v
A uvidíte, že byly načteny knihovny OpenSSL v adresáři '/usr/local/ssl/lib'.
Ubuntu:
CentOS:
Konfigurovat OpenSSL binární
Nahradíme výchozí binární openssl '/usr/bin/openssl nebo /bin/openssl' novou verzí '/usr/local/ssl/bin/openssl'.
Na 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í PATH.
source /etc/environment
echo $PATH
Nyní znovu zkontrolujte binární soubor OpenSSL.
which openssl
Dostanete výsledek, jak je uvedeno níže.
Binární cesta OpenSSL pro Ubuntu byla aktualizována.
V systému CentOS 7.6
Zálohujte binární soubory CentOS OpenSSL.
mv /bin/openssl /bin/openssl.BEKUP
Vytvořte nové soubory prostředí pro OpenSSL.
vim /etc/profile.d/openssl.sh
Vložte konfiguraci níže.
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/ssl/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
Uložte a ukončete.
Udělejte soubor openssl.sh spustitelný.
chmod +x /etc/profile.d/openssl.sh
Načtěte prostředí OpenSSL a zkontrolujte adresář PATH bin pomocí příkazů níže.
source /etc/profile.d/openssl.sh
echo $PATH
Nyní zkontrolujte soubor OpenSSL.
which openssl
Dostanete výsledek, jak je uvedeno níže.
Binární cesta pro OpenSSL na CentOS byla aktualizována.
Krok 4 – Testování
Otestujte novou verzi OpenSSL pomocí následujícího příkazu.
openssl version -a
Výsledek na Ubuntu.
Výsledek na CentOS.
Nová nejnovější stabilní verze OpenSSL byla nainstalována ze zdroje na Linux Ubuntu 18.04 a CentOS 7.5.