OpenSSL è una libreria crittografica ampiamente utilizzata che implementa i protocolli SSL e TLS per comunicazioni sicure su reti di computer. OpenSSL è utilizzato da molti programmi come il server Web Apache, PHP, Postfix e molti altri. OpenSSL fornisce supporto per vari algoritmi crittografici come cifrari (AES, Blowfish, DES, IDEA ecc.), funzioni hash crittografiche (MD5, MD4, SHA-1, SHA-2 ecc.) e crittografia a chiave pubblica (RSA, DSA, Diffie -Scambio di chiavi Hellman).
In questo tutorial, ti mostrerò passo dopo passo come installare l'ultima versione stabile di OpenSSL dal sorgente sui server Ubuntu 18.04 e CentOS 7.6.
Cosa faremo?
- Installa dipendenze
- Scarica il codice sorgente di OpenSSL
- Installa OpenSSL
- Compila e installa OpenSSL
- Configura librerie di link
- Configura il binario OpenSSL
- Test
Passaggio 1:installazione delle dipendenze
Il primo passaggio, prima di poter compilare la libreria OpenSSL dal sorgente, consiste nell'installare alcune dipendenze del pacchetto, incluso il pacchetto "build-essential" su Ubuntu o il pacchetto "Strumenti di sviluppo" su CentOS.
Su Ubuntu
Aggiorna il repository di Ubuntu e installa le dipendenze del pacchetto per la compilazione del software utilizzando il comando apt di seguito.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
Su CentOS
Installa gli "Strumenti di sviluppo" e alcune librerie di pacchetti usando il comando yum.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
Al termine dell'installazione, vai al passaggio successivo.
Fase 2:scarica OpenSSL
In questo tutorial, installeremo l'ultima versione stabile di OpenSSL - OpenSSL 1.0.2o. Puoi scaricare il codice sorgente dal sito OpenSSL.
Vai alla directory '/usr/local/src' e scarica il codice sorgente di OpenSSL usando wget.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Ora estrai il file openssl.tar.gz e vai nella directory 'openssl'.
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
Il codice sorgente di OpenSSL è stato scaricato.
Passaggio 3:installa OpenSSL
Prima di installare la versione personalizzata di OpenSSL sul sistema, controlliamo la versione installata utilizzando il comando seguente.
openssl version -a
Di seguito sono riportati i miei risultati su Ubuntu:
E questo è su CentOS:
Sostituiremo la versione "1.1.0g" con l'ultima versione stabile 1.0.2o.
Installeremo la nuova versione di OpenSSL nella directory specifica '/usr/local/ssl', quindi abiliteremo le librerie di collegamento di OpenSSL e configureremo il nuovo PATH binario per OpenSSL.
Installa e compila OpenSSL
Vai alla directory di download di openssl '/usr/local/src/openssl'.
cd /usr/local/src/openssl-1.0.2o
Configura e compila OpenSSL con i comandi seguenti.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Attendi il processo di compilazione OpenSSL.
Nota:
- --prefix and --openssldir =Imposta il percorso di output di OpenSSL.
- condiviso =forza per creare una libreria condivisa.
- zlib =abilita la compressione usando la libreria zlib.
Al termine del processo di compilazione, installa OpenSSL utilizzando il comando seguente.
make install
OpenSSL è installato nella directory '/usr/local/ssl'.
Configura librerie di link
Successivamente, configureremo le librerie condivise per OpenSSL. Il nuovo binario OpenSSL caricherà i file della libreria dalla directory '/usr/local/ssl/lib'.
Vai alla directory '/etc/ld.so.conf.d' e crea un nuovo file di configurazione 'openssl-1.0.2o.conf'.
cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf
Incolla la directory del percorso della libreria openssl.
/usr/local/ssl/lib
Salva ed esci.
Ora ricarica il link dinamico usando il comando qui sotto.
sudo ldconfig -v
E vedrai che le librerie OpenSSL nella directory '/usr/local/ssl/lib' sono state caricate.
Ubuntu:
CentOS:
Configura il binario OpenSSL
Sostituiremo il binario openssl predefinito '/usr/bin/openssl o /bin/openssl' con la nuova versione '/usr/local/ssl/bin/openssl'.
Su Ubuntu 18.04 LTS
Eseguire il backup dei file binari.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Modifica il file '/etc/environment' usando vim.
vim /etc/environment
Ora aggiungi la nuova directory binaria OpenSSL come di seguito
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Salva ed esci.
Ricarica il file di ambiente e verifica il nuovo PATH binario aggiornato.
source /etc/environment
echo $PATH
Ora controlla di nuovo il file binario OpenSSL.
which openssl
Otterrai il risultato come di seguito.
Il percorso binario di OpenSSL per Ubuntu è stato aggiornato.
Su CentOS 7.6
Eseguire il backup dei file binari CentOS OpenSSL.
mv /bin/openssl /bin/openssl.BEKUP
Crea nuovi file di ambiente per OpenSSL.
vim /etc/profile.d/openssl.sh
Incolla la configurazione di seguito.
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/ssl/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
Salva ed esci.
Rendi eseguibile il file openssl.sh.
chmod +x /etc/profile.d/openssl.sh
Carica l'ambiente OpenSSL e controlla la directory bin PATH usando i comandi seguenti.
source /etc/profile.d/openssl.sh
echo $PATH
Ora controlla il file OpenSSL.
which openssl
Otterrai il risultato come di seguito.
Il percorso binario per OpenSSL su CentOS è stato aggiornato.
Fase 4 - Test
Testa la nuova versione di OpenSSL usando il comando seguente.
openssl version -a
Il risultato su Ubuntu.
Risultato su CentOS.
L'ultima versione stabile di OpenSSL è stata installata dal sorgente su Linux Ubuntu 18.04 e CentOS 7.5.