OpenSSL è una libreria di crittografia ampiamente utilizzata che implementa i protocolli SSL e TLS per la comunicazione sicura sulle reti di computer. OpenSSL è usato da molti programmi come Apache Web server, PHP, Postfix e molti altri. OpenSSL fornisce supporto per vari algoritmi crittografici come cifrari (AES, Blowfish, DES, IDEA ecc.), funzioni di hash crittografiche (MD5, MD4, SHA-1, SHA-2 ecc.) e crittografia a chiave pubblica (RSA, DSA, Diffie-Hellman key exchange).
In questo tutorial, vi mostrerò passo dopo passo come installare l’ultima versione stabile di OpenSSL dai sorgenti sui server Ubuntu 18.04 e CentOS 7.6.
Cosa faremo?
- Installare le dipendenze
- Scaricare il codice sorgente di OpenSSL
- Installare OpenSSL
- Compilare e Installare OpenSSL
- Configurare le librerie di collegamento
- Configurare OpenSSL binario
- Testare
Passo 1 – Installare le dipendenze
Il primo passo, prima di poter compilare la libreria OpenSSL dai sorgenti, è quello di installare alcune dipendenze del pacchetto tra cui il pacchetto ‘build-essential’ su Ubuntu, o il pacchetto ‘Development Tools’ su CentOS.
Su Ubuntu
Aggiornate il repository di Ubuntu e installate le dipendenze dei pacchetti per la compilazione del software usando il comando apt qui sotto.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
Su CentOS
Installate i ‘Development Tools’ e alcune librerie di pacchetti usando il comando yum.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
Dopo che l’installazione è completa, vai al passo successivo.
Passo 2 – Scarica OpenSSL
In questo tutorial, installeremo l’ultima versione stabile di OpenSSL – OpenSSL 1.0.2o. Puoi scaricare il codice sorgente dal sito di 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 alla directory ‘openssl’.
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
Il codice sorgente di OpenSSL è stato scaricato.
Passo 3 – Installare OpenSSL
Prima di installare la versione personalizzata di OpenSSL sul sistema, controlliamo la versione installata usando il comando sottostante.
openssl version -a
Di seguito i miei risultati su Ubuntu:
E questo su CentOS:
Sostituiamo 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’, e poi abiliteremo le librerie di collegamento di OpenSSL, e configureremo il nuovo PATH binario per OpenSSL.
Installa e compila OpenSSL
Vai alla directory openssl scaricata ‘/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
Aspetta il processo di compilazione di OpenSSL.
Nota:
- –prefix e –openssldir = Imposta il percorso di uscita di OpenSSL.
- shared = forza per creare una libreria condivisa.
- zlib = abilita la compressione usando la libreria zlib.
Quando il processo di compilazione è completo, installa OpenSSL usando il comando sottostante.
make install
OpenSSL è installato nella directory ‘/usr/local/ssl’.
Configura le librerie di collegamento
Poi, configureremo le librerie condivise per OpenSSL. Il nuovo binario OpenSSL caricherà i file delle librerie 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 il percorso delle librerie openssl.
/usr/local/ssl/lib
Salva ed esci.
Ora ricarica il collegamento dinamico usando il comando sottostante.
sudo ldconfig -v
E vedrai che le librerie OpenSSL nella directory ‘/usr/local/ssl/lib’ sono state caricate.
Ubuntu:
CentOS:
Configura il binario OpenSSL
Sostituiamo il binario openssl predefinito ‘/usr/bin/openssl o /bin/openssl’ con la nuova versione ‘/usr/local/ssl/bin/openssl’.
Su Ubuntu 18.04 LTS
Fate il backup dei file binari.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Modificate il file ‘/etc/environment’ usando vim.
vim /etc/environment
Ora aggiungete la nuova directory binaria OpenSSL come segue
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Salvate e uscite.
Ricaricate il file di ambiente e testate il nuovo PATH binario aggiornato.
source /etc/environment
echo $PATH
Ora controlla di nuovo il file binario di OpenSSL.
which openssl
Ottieni il risultato come segue.
Il percorso binario di OpenSSL per Ubuntu è stato aggiornato.
Su CentOS 7.6
Fare il backup dei file binari di CentOS OpenSSL.
mv /bin/openssl /bin/openssl.BEKUP
Creare nuovi file d’ambiente per OpenSSL.
vim /etc/profile.d/openssl.sh
Incolla la configurazione qui sotto.
#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH
Salvare e uscire.
Rendere 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 sottostanti.
source /etc/profile.d/openssl.sh
echo $PATH
Ora controlla il file OpenSSL.
which openssl
Ottieni il risultato come sotto.
Il percorso binario per OpenSSL su CentOS è stato aggiornato.
Passo 4 – Test
Testare la nuova versione di OpenSSL usando il seguente comando.
openssl version -a
Il risultato su Ubuntu.
Risultato su CentOS.