Introduction
OpenSSL est une boîte à outils open source qui implémente les protocoles Secure Sockets Layer (SSL v2/v3) et Transport Layer Security (TLS v1), ainsi qu’une bibliothèque de cryptographie générale complète. Il est utilisé pour fournir des fonctions cryptographiques et des capacités de communication sécurisée dans de nombreux packages et applications logicielles.
Dans ce guide complet, nous allons passer en revue le processus d’installation d’OpenSSL sur Debian et Ubuntu Linux 18.04 / 20.04 / 22.04 étape par étape. Nous couvrirons :
- Comprendre OpenSSL et ses utilisations
- Vérifier si OpenSSL est déjà installé
- Choisir la bonne version d’OpenSSL à installer
- Utiliser apt pour installer OpenSSL
- Télécharger et compiler OpenSSL à partir des sources
- Vérifier l’installation d’OpenSSL
- Conseils de dépannage
Nous fournirons également de nombreuses informations de fond, explications et exemples pour vous aider à comprendre complètement chaque étape du processus. Que vous soyez débutant ou utilisateur Linux avancé, ce guide vise à vous fournir tout ce dont vous avez besoin pour installer correctement OpenSSL sur votre système Ubuntu.
Conditions préalables
Avant de commencer à installer OpenSSL, passons en revue quelques conditions préalables :
- Un système d’exploitation Ubuntu Linux (toute version moderne devrait fonctionner)
- Privilèges d’administrateur – vous devrez utiliser
sudo
pour certaines étapes d’installation - Connaissances de base en ligne de commande pour exécuter des commandes en terminal
- Outils de compilation GNU comme gcc et make (pour compiler à partir des sources)
C’est tout – passons à la compréhension de ce qu’est OpenSSL et de son utilité.
Qu’est-ce que OpenSSL ?
OpenSSL est une boîte à outils de cryptographie robuste et polyvalente qui implémente les protocoles Transport Layer Security (TLS) et Secure Sockets Layer (SSL) pour fournir des communications chiffrées entre les applications. Il comprend également une bibliothèque de cryptographie générale qui fournit diverses fonctions cryptographiques comme le hachage, les signatures numériques, le chiffrement/déchiffrement, etc.
Quelques utilisations spécifiques d’OpenSSL incluent :
- Fournir un chiffrement pour les services et connexions Internet – les sites Web HTTPS, SSH, VPN, email, etc. reposent sur TLS/SSL qui est implémenté à l’aide d’OpenSSL.
- Chiffrer des données sensibles – OpenSSL peut chiffrer des fichiers, des flux de données et plus encore via des mécanismes comme les chiffrements symétriques.
- Hacher de manière sécurisée les mots de passe – Stocker les mots de passe sous forme de hash au lieu de texte brut est recommandé, et OpenSSL fournit des fonctions comme SHA256 pour créer des hashs de mots de passe sûrs.
- Générer des paires de clés publiques/privées et des certificats – OpenSSL est utilisé pour créer une infrastructure de clés publiques (PKI) pour implémenter SSL/TLS.
- Signer cryptographiquement les messages pour la vérification d’intégrité et d’identité.
Comme vous pouvez le voir, OpenSSL forme une colonne vertébrale cruciale pour les communications chiffrées et les services de sécurité Internet. Ensuite, vérifions s’il est déjà installé.
Vérifier si OpenSSL est déjà installé
Avant d’installer OpenSSL, il vaut mieux vérifier s’il est déjà présent sur votre système Ubuntu suite à une installation précédente.
Pour vérifier si OpenSSL est installé, utilisez cette commande :
$ openssl version
Si OpenSSL est installé, il imprimera des informations de version comme :
OpenSSL 1.1.1f 31 Mar 2020
Cela indique qu’OpenSSL est déjà disponible sur votre système et vous n’avez probablement pas besoin de l’installer à nouveau. Assurez-vous que la version installée est toujours prise en charge et à jour.
Si la commande openssl
est introuvable, vous verrez une erreur comme :
bash: openssl: commande introuvable
Cela signifie qu’OpenSSL n’est pas encore installé, nous devrons donc procéder à son installation.
Choisir la bonne version d’OpenSSL
Il existe quelques versions différentes d’OpenSSL qui peuvent être installées sur Ubuntu. Les principales parmi lesquelles vous pourrez probablement choisir sont :
- OpenSSL 1.1.x – La branche moderne Long Term Support qui fournit des mises à jour régulières et une prise en charge jusqu’en 2023. C’est la branche recommandée pour la plupart des utilisations.
- OpenSSL 1.0.x – L’ancienne branche 1.0.x qui est en maintenance de sécurité jusqu’en 2023 mais ne reçoit pas de nouvelles fonctionnalités. À n’utiliser que si vous avez des problèmes de compatibilité d’applications héritées avec 1.1.x.
- OpenSSL 3.0 – La toute nouvelle branche de version 3.x publiée en 2021. Fournit de nouvelles fonctionnalités mais moins de stabilité et de support. À n’utiliser que si vous avez spécifiquement besoin de fonctionnalités de pointe.
Dans la plupart des cas, vous devez installer OpenSSL 1.1.x pour obtenir les dernières fonctionnalités stables à long terme et les mises à jour de sécurité. N’utilisez les branches plus anciennes ou plus récentes que si vous avez des besoins spécifiques.
Sur Ubuntu, le paquet openssl
installera la dernière version 1.1.x qui est recommandée pour la plupart des utilisateurs. Lors de la compilation à partir de la source, choisissez l’instantané de code source 1.1.x le plus récent.
Maintenant, passons en revue le processus d’installation à l’aide d’apt et à partir de la source.
Installer OpenSSL avec Apt
La façon la plus simple d’installer OpenSSL sur Ubuntu est d’utiliser le gestionnaire de paquets apt
. Voici les étapes :
- Mettez à jour vos dépôts apt pour récupérer les dernières listes de paquets :
$ sudo apt update
- Installez le paquet
openssl
:
$ sudo apt install openssl
- Vérifiez la version installée :
$ openssl version
Cela affichera la version nouvellement installée, probablement 1.1.x
C’est tout ! Apt téléchargera et installera automatiquement la dernière version d’OpenSSL à partir des dépôts officiels Ubuntu.
Selon votre version de base d’Ubuntu, vous pouvez obtenir des versions 1.0.x plus anciennes en utilisant apt. Mais cette méthode est idéale pour installer ou mettre à niveau rapidement vers la dernière version OpenSSL prise en charge.
Ensuite, voyons comment compiler et installer à partir de la source pour plus de contrôle.
Télécharger et compiler OpenSSL à partir des sources
Pour certains cas d’utilisation, vous voudrez peut-être télécharger et compiler OpenSSL à partir du code source plutôt que d’utiliser apt :
- Installer la dernière version OpenSSL avant la mise à jour des paquets de distribution
- Générer avec des options et paramètres de compilation personnalisés
- Lier aux bibliothèques statiques libcrypto/libssl plutôt qu’aux objets partagés
Voici les étapes détaillées pour construire et installer OpenSSL à partir du code source :
- Installez d’abord les dépendances requises :
$ sudo apt install build-essential wget
- Accédez à la page de téléchargement OpenSSL et trouvez le dernier tarball source 1.1.x. Copiez l’URL du fichier
.tar.gz
. Par exemple : https://www.openssl.org/source/openssl-1.1.1w.tar.gz - Utilisez
wget
pour télécharger le tarball source (ajustez la version si nécessaire) :
$ wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
- Vérifiez que la somme de contrôle du téléchargement correspond à celle du site web. Cela garantit que le téléchargement n’est pas corrompu :
$ sha256sum openssl-1.1.1w.tar.gz
- Extrayez les archives sources :
$ tar xvzf openssl-1.1.1w.tar.gz
- Accédez au répertoire source extrait :
$ cd openssl-1.1.1w
- Configurez les paramètres de compilation. Par exemple :
$ ./config
- Pour les paramètres personnalisés, voir
./config --help
. Les options importantes incluent :--prefix
pour définir l’emplacement d’installation (par défaut /usr/local)--openssldir
pour définir l’emplacement du répertoire SSL- bibliothèques statiques ou partagées
- Générez le paquet :
$ make
- Exécutez les tests (facultatif mais recommandé) :
$ make test
- Installez OpenSSL :
$ sudo make install
Par défaut, cela installera dans /usr/local/bin, /usr/local/lib, etc. Utilisez l’option --prefix
pour personnaliser.
- Vérifiez que le dossier d’installation contient les bibliothèques et binaires openssl.
Cela couvre le processus de base pour compiler et installer OpenSSL à partir du code source. Vous pouvez également lire le README officiel pour plus de détails.
Ensuite, vérifions que OpenSSL a été installé correctement.
Vérifier l’installation d’OpenSSL
Après avoir installé OpenSSL à l’aide d’apt ou en compilant à partir de la source, vérifiez que tout fonctionne correctement :
- Exécutez
openssl version
et vérifiez que la sortie affiche la version attendue - Essayez d’exécuter des commandes courantes comme :
openssl genrsa
– générer une clé privée RSAopenssl req
– générer une demande de signature de certificatopenssl x509
– examiner/créer des certificatsopenssl pkey
– examiner des fichiers de clés publiques ou privéesopenssl enc
– chiffrement/déchiffrement de chiffrement symétrique
- Recherchez les bibliothèques et binaires openssl dans les emplacements d’installation attendus :
/usr/lib/x86_64-linux-gnu/
– bibliothèques partagées/usr/local/lib
– bibliothèques statiques si construites à partir de la source/usr/bin
ou/usr/local/bin
– executables
- Si vous liez aux bibliothèques partagées, assurez-vous que votre variable d’environnement $LD_LIBRARY_PATH inclut le répertoire des bibliothèques OpenSSL.
- Essayez d’utiliser les commandes
openssl
dans des applications de test pour confirmer que les fonctionnalités cryptographiques et SSL/TLS fonctionnent comme prévu.
Si les commandes de base fonctionnent et que les bibliothèques/binaires se trouvent dans les bons emplacements d’installation, votre configuration OpenSSL devrait être opérationnelle !
Dépannage des problèmes d’installation d’OpenSSL
Voici quelques problèmes courants et corrections lors de l’installation d’OpenSSL :
Aucune bibliothèque partagée trouvée
Si les applications se plaignent de l’absence de bibliothèques partagées libssl
/libcrypto
, mettez à jour $LD_LIBRARY_PATH pour contenir le répertoire des bibliothèques OpenSSL, ou assurez-vous d’avoir installé le paquet -devel
apt qui contient les objets partagés .so. Ou reconstruisez à partir de la source sans l’option --static
.
Erreurs de compilateur lors de la génération à partir de la source
Assurez-vous que les outils de build requis comme gcc et make sont installés. Vérifiez à nouveau les éventuelles options de configuration personnalisées qui pourraient poser problème.
Erreurs de commande introuvable
Si la commande openssl n’est pas disponible après l’installation, assurez-vous que /usr/local/bin ou l’emplacement --prefix
configuré est dans votre variable d’environnement $PATH.
Les applications SSL ne trouvent pas les fichiers de certificats/clés
Mettez à jour la variable système OPENSSL_CONF
ou la configuration de l’application pour pointer vers le bon emplacement du répertoire de configuration OpenSSL, généralement /usr/lib/ssl ou /etc/ssl.
Échec de la poignée de main de protocole ou du chiffrement de l’application
Votre application est peut-être liée à une version OpenSSL différente de celle attendue. Vérifiez à nouveau les liaisons de bibliothèque et les versions utilisées.
Avertissements concernant la configuration par défaut non sécurisée
Modifiez le fichier openssl.cnf pour mettre à jour les paramètres par défaut selon les recommandations. Ou fournissez des configurations d’application pour remplacer.
Assurez-vous de désinstaller/supprimer complètement les anciennes versions d’OpenSSL pour éviter les conflits ou la confusion.
Dans la plupart des cas, les problèmes d’installation peuvent être résolus en vérifiant à nouveau les emplacements des bibliothèques, des bins et des fichiers de configuration. Reportez-vous à la documentation officielle OpenSSL pour des conseils de dépannage supplémentaires.
Conclusion
Cela conclut ce guide complet sur l’installation d’OpenSSL sur les systèmes Ubuntu ! Nous avons couvert l’installation à l’aide du gestionnaire de paquets apt ainsi que la compilation et la construction à partir des dernières versions source. Vous devriez maintenant également comprendre les bases du fonctionnement d’OpenSSL et les fonctions cryptographiques qu’il fournit.
Pour résumer, vous devriez maintenant être en mesure de :
- Installer les dernières versions d’OpenSSL sur Ubuntu
- Générer OpenSSL à partir de la source pour des configurations personnalisées
- Vérifier qu’OpenSSL est installé et fonctionne correctement
- Identifier et résoudre tout problème d’installation
- Comprendre les bases d’OpenSSL et son importance pour la sécurité
OpenSSL alimente d’innombrables systèmes de sécurité et applications cryptographiques, c’est donc un outil essentiel que tout utilisateur Linux et Ubuntu doit avoir à sa disposition. J’espère que ce guide vous a fourni toutes les connaissances nécessaires pour l’installer et l’utiliser pour vos projets et vos besoins. Faites-nous savoir si vous avez d’autres questions !