OpenSSL est une bibliothèque de chiffrement largement utilisée qui implémente les protocoles SSL et TLS pour une 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 prend en charge divers algorithmes cryptographiques tels que les chiffrements (AES, Blowfish, DES, IDEA, etc.), les fonctions de hachage cryptographique (MD5, MD4, SHA-1, SHA-2, etc.) et la cryptographie à clé publique (RSA, DSA, Diffie -Échange de clés Hellman).
Dans ce tutoriel, je vais vous montrer étape par étape comment installer la dernière version stable d'OpenSSL à partir de la source sur les serveurs Ubuntu 18.04 et CentOS 7.6.
Qu'allons-nous faire ?
- Installer les dépendances
- Télécharger le code source OpenSSL
- Installer OpenSSL
- Compiler et installer OpenSSL
- Configurer les bibliothèques de liens
- Configurer le binaire OpenSSL
- Test
Étape 1 - Installer les dépendances
La première étape, avant de pouvoir compiler la bibliothèque OpenSSL à partir de la source, consiste à installer certaines dépendances de package, notamment le package "build-essential" sur Ubuntu ou le package "Development Tools" sur CentOS.
Sur Ubuntu
Mettez à jour le référentiel Ubuntu et installez les dépendances du package pour la compilation du logiciel à l'aide de la commande apt ci-dessous.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
Sur CentOS
Installez les 'Outils de développement' et certaines bibliothèques de packages à l'aide de 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.
Étape 2 - Télécharger OpenSSL
Dans ce tutoriel, nous installerons la dernière version stable d'OpenSSL - OpenSSL 1.0.2o. Vous pouvez télécharger le code source depuis le site OpenSSL.
Allez dans le répertoire '/usr/local/src' et téléchargez le code source OpenSSL en utilisant wget.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Maintenant, 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 OpenSSL a été téléchargé.
Étape 3 - Installer OpenSSL
Avant d'installer la version personnalisée d'OpenSSL sur le système, vérifions la version installée à l'aide de la commande ci-dessous.
openssl version -a
Voici mes résultats sur Ubuntu :
Et c'est sur CentOS :
Nous remplacerons 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 liens d'OpenSSL et configurer le nouveau PATH binaire pour OpenSSL.
Installer et compiler OpenSSL
Allez dans le répertoire téléchargé openssl '/usr/local/src/openssl'.
cd /usr/local/src/openssl-1.0.2o
Configurez et compilez OpenSSL avec les commandes ci-dessous.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Attendez le processus de compilation d'OpenSSL.
Remarque :
- --prefix et --openssldir =Définir le chemin de sortie d'OpenSSL.
- shared =forcer à créer une bibliothèque partagée.
- zlib =activer la compression à l'aide de la bibliothèque zlib.
Une fois le processus de compilation terminé, installez OpenSSL à l'aide de la commande ci-dessous.
make install
OpenSSL est installé dans le répertoire '/usr/local/ssl'.
Configurer les bibliothèques de liens
Ensuite, nous allons configurer les bibliothèques partagées pour OpenSSL. Le nouveau binaire OpenSSL chargera les fichiers de bibliothèque à partir du répertoire '/usr/local/ssl/lib'.
Allez dans le répertoire '/etc/ld.so.conf.d' et créez un 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
Enregistrez et quittez.
Rechargez maintenant le lien dynamique à l'aide de la commande ci-dessous.
sudo ldconfig -v
Et vous verrez que les bibliothèques OpenSSL du répertoire '/usr/local/ssl/lib' ont été chargées.
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
Sauvegardez les fichiers binaires.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Modifiez le fichier '/etc/environment' à l'aide de vim.
vim /etc/environment
Ajoutez 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"
Enregistrez et quittez.
Rechargez le fichier d'environnement et testez le nouveau PATH binaire mis à jour.
source /etc/environment
echo $PATH
Maintenant, vérifiez à nouveau le fichier binaire OpenSSL.
which openssl
Vous obtiendrez le résultat ci-dessous.
Le chemin binaire d'OpenSSL pour Ubuntu a été mis à jour.
Sur CentOS 7.6
Sauvegardez les fichiers binaires CentOS OpenSSL.
mv /bin/openssl /bin/openssl.BEKUP
Créez de nouveaux fichiers d'environnement pour OpenSSL.
vim /etc/profile.d/openssl.sh
Collez la configuration ci-dessous.
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/ssl/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
Enregistrez et quittez.
Rendre le fichier openssl.sh exécutable.
chmod +x /etc/profile.d/openssl.sh
Chargez l'environnement OpenSSL et vérifiez le répertoire PATH bin à l'aide des commandes ci-dessous.
source /etc/profile.d/openssl.sh
echo $PATH
Vérifiez maintenant le fichier OpenSSL.
which openssl
Vous obtiendrez le résultat ci-dessous.
Le chemin binaire pour OpenSSL sur CentOS a été mis à jour.
Étape 4 - Tester
Testez la nouvelle version d'OpenSSL à l'aide de la commande suivante.
openssl version -a
Le résultat sur Ubuntu.
Résultat sur CentOS.
La nouvelle dernière version stable d'OpenSSL a été installée à partir de la source sur Linux Ubuntu 18.04 et CentOS 7.5.