OpenSSL est une bibliothèque cryptographique largement utilisée qui met en œuvre les protocoles SSL et TLS pour la communication sécurisée sur les réseaux informatiques. OpenSSL est utilisé par de nombreux programmes comme le serveur Web Apache, PHP, Postfix et bien d’autres. OpenSSL fournit un support pour divers algorithmes cryptographiques tels que les ciphers (AES, Blowfish, DES, IDEA etc.), les fonctions de hachage cryptographiques (MD5, MD4, SHA-1, SHA-2 etc.) et la cryptographie à clé publique (RSA, DSA, échange de clés Diffie-Hellman).

Dans ce tutoriel, je vais vous montrer étape par étape comment installer la dernière version stable d’OpenSSL à partir des sources sur les serveurs Ubuntu 18.04 et CentOS 7.6.

Ce que nous allons faire ?

  1. Installer les dépendances
  2. Télécharger le code source d’OpenSSL
  3. Installer OpenSSL
    1. Compiler et… Installer OpenSSL
    2. Configurer les bibliothèques de liaison
    3. Configurer le binaire OpenSSL
  4. Tester

Etape 1 – Installer les dépendances

La première étape, avant de pouvoir compiler la bibliothèque OpenSSL à partir des sources, est d’installer certaines dépendances du paquetage, notamment le paquetage ‘build-essential’ sur Ubuntu, ou le paquetage ‘Development Tools’ sur CentOS.

Sur Ubuntu

Mettre à jour le dépôt Ubuntu et installer les dépendances des paquets pour la compilation des logiciels en utilisant la commande apt ci-dessous.

sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y

Sur CentOS

Installer les ‘Development Tools’ et certaines bibliothèques de paquets en utilisant la commande yum.

yum group install 'Development Tools'
yum install perl-core zlib-devel -y

Une fois l’installation terminée, passez à l’étape suivante.

Etape 2 – Télécharger OpenSSL

Dans ce tutoriel, nous allons installer la dernière version stable d’OpenSSL – OpenSSL 1.0.2o. Vous pouvez télécharger le code source à partir du site OpenSSL.

Allez dans le répertoire ‘/usr/local/src’ et téléchargez le code source d’OpenSSL en utilisant wget.

cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz

Puis extrayez le fichier openssl.tar.gz, et allez dans le répertoire ‘openssl’.

tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o

Le code source d’OpenSSL a été téléchargé.

Etape 3 – Installer OpenSSL

Avant d’installer la version personnalisée d’OpenSSL sur le système, vérifions la version installée en utilisant la commande ci-dessous.

openssl version -a

Voici mes résultats sur Ubuntu:

Et voici sur CentOS:

Nous allons remplacer la version ‘1.1.0g’ par la dernière version stable 1.0.2o.

Nous allons installer la nouvelle version d’OpenSSL dans le répertoire spécifique ‘/usr/local/ssl’, puis activer les bibliothèques de liaison d’OpenSSL, et configurer le nouveau PATH binaire pour OpenSSL.

Installer et compiler OpenSSL

Aller dans le répertoire téléchargé d’openssl ‘/usr/local/src/openssl’.

cd /usr/local/src/openssl-1.0.2o

Configurer et compiler OpenSSL avec les commandes ci-dessous.

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test

Attendre le processus de compilation d’OpenSSL.

Note:

  • –prefix et –openssldir = Définir le chemin de sortie de l’OpenSSL.
  • shared = forcer la création d’une bibliothèque partagée.
  • zlib = activer la compression en utilisant la bibliothèque zlib.

Une fois le processus de compilation terminé, installez l’OpenSSL en utilisant la commande ci-dessous.

make install

OpenSSL est installé dans le répertoire ‘/usr/local/ssl’.

Configurer les bibliothèques de liaison

Puis, nous allons configurer les bibliothèques partagées pour OpenSSL. Le nouveau binaire OpenSSL chargera les fichiers de bibliothèque depuis le répertoire ‘/usr/local/ssl/lib’.

Allez dans le répertoire ‘/etc/ld.so.conf.d’ et créez le nouveau fichier de configuration ‘openssl-1.0.2o.conf’.

cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf

Collez le répertoire du chemin de la bibliothèque openssl.

/usr/local/ssl/lib

Sauvegarder et quitter.

Maintenant rechargez le lien dynamique en utilisant la commande ci-dessous.

sudo ldconfig -v

Et vous verrez que les bibliothèques OpenSSL sur le répertoire ‘/usr/local/ssl/lib’ a été chargé.

Ubuntu:

CentOS:

Configurer le binaire OpenSSL

Nous allons remplacer le binaire openssl par défaut ‘/usr/bin/openssl ou /bin/openssl’ par la nouvelle version ‘/usr/local/ssl/bin/openssl’.

Sur Ubuntu 18.04 LTS

Sauvegarder les fichiers binaires.

mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP

Modifier le fichier ‘/etc/environnement’ en utilisant vim.

vim /etc/environment

Ajouter maintenant le nouveau répertoire binaire OpenSSL comme ci-dessous

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"

Enregistrer et quitter.

Recharger le fichier d’environnement et tester le nouveau PATH binaire mis à jour.

source /etc/environment
echo $PATH

Vérifiez maintenant à nouveau le fichier binaire OpenSSL.

which openssl

Vous obtiendrez le résultat suivant.

Le chemin binaire d’OpenSSL pour Ubuntu a été mis à jour.

Sur CentOS 7.6

Sauvegarder les fichiers binaires d’OpenSSL de CentOS.

mv /bin/openssl /bin/openssl.BEKUP

Créer de nouveaux fichiers d’environnement pour OpenSSL.

vim /etc/profile.d/openssl.sh

Coller la configuration ci-dessous.

#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH

Enregistrer et quitter.

Rendre le fichier openssl.sh exécutable.

chmod +x /etc/profile.d/openssl.sh

Chargez l’environnement OpenSSL et vérifiez le répertoire bin PATH en utilisant les commandes ci-dessous.

source /etc/profile.d/openssl.sh
echo $PATH

Vérifiez maintenant le fichier OpenSSL.

which openssl

Vous obtiendrez le résultat suivant.

Le chemin binaire pour OpenSSL sur CentOS a été mis à jour.

Etape 4 – Test

Tester la nouvelle version d’OpenSSL en utilisant la commande suivante.

openssl version -a

Le résultat sur Ubuntu.

Résultat sur CentOS.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.