Le processus de génération de certificats SSL/TLS est une tâche courante pour de nombreux administrateurs système Linux. Heureusement, même si vous n'êtes pas administrateur, il est facile de le faire en utilisant OpenSSL, un outil open source installé par défaut sur de nombreuses distributions Linux. Nous expliquons ici ce qu'est OpenSSL, comment l'installer et, surtout, comment l'utiliser pour générer des certificats SSL et TLS sur votre système.
Contenu
- Qu'est-ce qu'OpenSSL ?
- Limitation du certificat SSL auto-signé
- Installation
- Utilisation de base
- Génération d'un certificat à l'aide d'un fichier de configuration
- Génération d'un certificat sans fichier de configuration
- Vérification des clés et des certificats
- Questions fréquemment posées
A lire aussi :Comment configurer Leafnode en tant que serveur USENET hors ligne
Qu'est-ce qu'OpenSSL ?
OpenSSL est une bibliothèque développée par le projet OpenSSL pour fournir des implémentations SSL et TLS open source pour le chiffrement du trafic réseau. Il est facilement disponible pour une variété de distributions basées sur Unix et peut être utilisé pour générer des certificats, des clés privées RSA et effectuer des tâches générales liées à la cryptographie.
Limitation du certificat SSL auto-signé
Lorsque vous utilisez OpenSSL pour générer un certificat SSL, il est considéré comme "auto-signé". Cela signifie que le certificat SSL est signé avec sa propre clé privée et non par une autorité de certification (CA).
En tant que tel, le certificat SSL ne peut pas être « approuvé » et ne doit pas être utilisé pour un site public. S'il est utilisé, les utilisateurs verront probablement des avertissements de leurs navigateurs concernant le certificat.
Un certificat auto-signé est utile pour le développement local ou pour toute application exécutée en arrière-plan qui ne fait pas face à Internet.
Alternativement, vous pouvez utiliser LetsEncrypt ou obtenir un certificat vérifié par une autorité de confiance, telle que Comodo CA.
Installation
La plupart des distributions Linux ont déjà une version d'OpenSSL intégrée par défaut. Sinon, vous pouvez facilement l'installer.
Vous pouvez l'installer sur Ubuntu et Debian en utilisant le apte
commander:
sudoapteinstaller ouvre SSL
Sur CentOS (ou son alternative), vous pouvez l'installer en utilisant le Miam
commander:
sudomiam installer ouvre SSL
Vous pouvez également le télécharger facilement à partir de son site internet sous la forme d'un fichier ".tar.gz".
A lire aussi :Comment utiliser cURL pour le transfert de données en ligne de commande et plus encore
Utilisation de base
Maintenant que vous avez installé OpenSSL, nous pouvons jeter un œil à certaines des fonctions de base fournies par le programme.
Vous pouvez commencer par afficher la version et d'autres informations pertinentes sur votre installation OpenSSL :
version openssl -une
![Vérification de la version d'Openssl](/f/66aa52ab134b0628d2591ea775edf42c.png)
Vous pouvez consulter le manuel fourni :
ouvre SSL aider
![Openssl Aide Commande 1](/f/6f8b13a621fd9c284c03a2285ae4a26d.png)
A lire aussi :8 invites Bash utiles et intéressantes
Génération d'un certificat à l'aide d'un fichier de configuration
La génération d'un certificat à l'aide d'OpenSSL est possible de plusieurs manières. L'un d'eux consiste à utiliser un fichier de configuration qui précisera les détails de l'organisation.
Pour commencer, vous pouvez créer un fichier de configuration appelé "config.conf" et le modifier à l'aide de Nano :
sudonano exemple.conf
Voici un exemple du contenu du fichier de configuration :
[requis] default_bits = 2048. invite = non. default_md = sha256. req_extensions = req_ext. x509_extensions= v3_ca. nom_distingué = dn [dn] C = États-Unis. ST = Californie. L = Los Angeles. O = Org. OU = Ventes. adresse e-mail = [email protected]. CN = www.org.test.com [ v3_ca ] subjectKeyIdentifier=hachage. authorityKeyIdentifier=keyid: toujours, émetteur: toujours. basicConstraints = CA: vrai [req_ext] subjectAltName = @alt_names [alt_names] DNS.1 = test.exemple.com
Vous pouvez simplement copier et coller ceci dans le fichier et apporter les modifications nécessaires pour refléter les informations de votre organisation.
![Modification du fichier de configuration nano](/f/0fc19294a3695c8d9276b010ee889f8d.png)
Ensuite, vous devez générer une clé privée RSA, qui sera ensuite utilisée pour générer un certificat racine - :
openssl générique -en dehors exemple.clé 2048
le -en dehors
flag est utilisé dans ce cas pour spécifier le nom de la clé qui sera générée. Une taille de clé de 2048 bits est également spécifiée, qui est la valeur par défaut pour les clés RSA.
![Openssl Générer une clé privée Rsa](/f/f606265248e27586a9836f5d3dc836bd.png)
A lire aussi :Comment utiliser la commande dd sous Linux
Vous devrez également générer une demande de signature de certificat (CSR) :
demande d'openssl -Nouveau-clé exemple.clé -en dehors exemple.csr -config exemple.conf
Dans ce cas, le -clé
flag est utilisé pour spécifier la clé RSA, le -en dehors
flag spécifie le nom du fichier CSR et le -config
flag est utilisé pour spécifier le nom du fichier de configuration.
Après cela, vous pouvez générer un certificat racine, qui est utilisé pour générer notre certificat final :
demande d'openssl -x509-sha256-nœuds-Nouveau-clé exemple.clé -en dehors exemple.crt -config exemple.conf
Lors du processus de génération de ce certificat racine, le -sha256
L'indicateur est utilisé pour spécifier SHA256 comme résumé de message.
Maintenant, comme pour la dernière étape, nous pouvons enfin taper ce qui suit pour générer notre certificat :
openssl x509 -sha256-CAcreateserial-req-journées30-dans exemple.csr -extfile exemple.conf -CALIFORNIE exemple.crt -CAkey exemple.clé -en dehors final.crt
le -CALIFORNIE
flag spécifie le certificat racine, le -CAkey
flag spécifie la clé privée et -extfile
spécifie le nom du fichier de configuration. Le fichier « final.crt » sera le certificat SSL que vous souhaitez.
![Openssl Générer un certificat auto-signé](/f/2a410122cdb30c464427c480b890077c.png)
A lire aussi :Comment configurer un serveur SFTP sous Linux
Génération d'un certificat sans fichier de configuration
Alternativement, vous pouvez également générer un certificat à l'aide d'OpenSSL sans fichier de configuration.
Vous pouvez commencer par générer une clé privée RSA :
openssl générique -en dehors exemple.clé 2048
Ensuite, vous devrez générer un CSR :
demande d'openssl -Nouveau-clé exemple.clé -en dehors exemple.csr
Lors de la génération d'un CSR, vous serez invité à répondre à des questions sur votre organisation.
![Demande de signature de certificat Openssl](/f/7a03460d42f5a4373b0aa8bd6fd21772.png)
Enfin, nous pouvons générer le certificat lui-même :
openssl x509 -req-journées30-dans exemple.csr -signkey exemple.clé -en dehors exemple.crt
![Openssl Génération de certificat sans fichier de configuration](/f/2be098ae629555284cd2180f91dff9d8.png)
Vérification des clés et des certificats
Les clés et les certificats sont facilement contrôlés et vérifiés à l'aide d'OpenSSL, avec le -Chèque
drapeau:
openssl rsa -Chèque-dans exemple.clé
![Openssl Vérifier la clé privée Rsa](/f/ea9a921561841898228785742e9e85da.png)
Vous pouvez vérifier les demandes de signature de certificat :
demande d'openssl -texte-noout-dans exemple.csr
ainsi que des certificats :
openssl x509 -texte-noout-dans exemple.crt
![Certificat de vérification OpenSSL](/f/357abaf11cc9795be188ea908e3f72cf.png)
Questions fréquemment posées
1. Dois-je encore m'inquiéter pour Heartbleed ?
Heartbleed (CVE-2014-0160) est une ancienne vulnérabilité trouvée dans OpenSSL en 2014. Les serveurs TLS et les clients exécutant OpenSSL ont tous deux été affectés. Un correctif a été rapidement publié quelques jours après sa découverte, et cette vulnérabilité n'est pas préoccupante en 2022 tant que vous utilisez une version moderne et à jour d'OpenSSL.
Si vous utilisez OpenSSL sur des systèmes basés sur Debian et Ubuntu, vous pouvez toujours le mettre à jour en exécutant les commandes suivantes :
mise à jour sudo apt && mise à niveau sudo apt openssl
2. Combien de temps durent les certificats SSL avant d'expirer ?
Cela dépend de la valeur que vous choisissez lors de la génération du certificat. Ceci peut être spécifié en utilisant le -journées
flag lors de la génération d'un certificat.
Crédit image: Sls écrit sur un bloc de cube en bois par 123RF
Abonnez-vous à notre newsletter!
Nos derniers tutoriels livrés directement dans votre boîte de réception