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?

  1. Installare le dipendenze
  2. Scaricare il codice sorgente di OpenSSL
  3. Installare OpenSSL
    1. Compilare e Installare OpenSSL
    2. Configurare le librerie di collegamento
    3. Configurare OpenSSL binario
  4. 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.