diff --git a/articles/2019-06-01-generer-des-certificats-avec-letsencrypt-et-certbot.md b/articles/2019-06-01-generer-des-certificats-avec-letsencrypt-et-certbot.md new file mode 100644 index 0000000000..9d25847802 --- /dev/null +++ b/articles/2019-06-01-generer-des-certificats-avec-letsencrypt-et-certbot.md @@ -0,0 +1,25 @@ +--- +date: 2019-06-01 +title: Génerer des certificats avec Let's Encrypt et Certbot +author: l-vo +slug: generer-des-certificats-avec-letsencrypt-et-certbot +--- + +J'ai précédemment écrit sur mon blog perso un article sur [la mise en place d'un serveur mail sur Debian](https://keepitsimple.lvo.dev/2019/03/08/Installer-un-serveur-mail-sur-Debian-9-Stretch/). Le cas de la génération des certificats SSL avec [Let's Encrypt](https://letsencrypt.org/) n'avait pas pu y être détaillée ce qui m'avait décidé à programmer l'écriture d'un post sur le sujet. Dont acte. + +# Contexte +Lorsqu'il est question de chiffrer des échanges avec un serveur (mail, web ou autre), on a non seulement besoin d'une clé de chiffrage mais aussi d'être sûr que l'entité qui fourni la clé de chiffrage est bien qui elle prétend être. Les **certificats éléctroniques** remplissent ces deux rôles. + +## Fonctionnement dans le protocole HTTPS +Pour illustrer l'utilisation d'un certificat, voyons par exemple son rôle au sein du protocole HTTPS. Lorsque vous vous connectez à un site HTTPS, celui-ci vous envoi un certificat: + + - votre navigateur va vérifier auprès d'une authorité de confiance que le certificat est valide et qu'il émane bien de l'entité dont il prétend provenir + - votre navigateur va générer une clé symétrique et la chiffrer avec la clé publique contenue dans le cerificat + - le serveur web sur lequel vous êtes connecté va déchiffrer cette clé symétrique à l'aide de sa clé privée; votre navigateur et le serveur web peuvent désormais utiliser cette clé connue de vous seuls pour chiffrer les données échangées + + A noter que le chiffrage asymétrique (clé privée/clé publique) n'est utilisé qu'a l'initialisation de la connexion pour déchiffrer la clé générée par le navigateur de l'utilisateur. C'est ensuite un chiffrage symétrique qui est utilisé avec cette clé car moins coûteux. Le schéma ci-dessous illustre bien ce fonctionnement: + ![Schéma de fonctionnement du protocole HTTPS](https://www.tutorialspoint.com/security_testing/images/https_Protocol.jpg) + (source https://www.tutorialspoint.com/security_testing/https_protocol_basics.htm) + + ## Rôle de Let's Encrypt + Jusqu'il y a peu, le chiffrement SSL était réservé aux sites d'une certaine ampleur puisqu'un certificat représentait un coût annuel de plus ou moins une centaine d'euros. Puis Let's Encrypt est arrivé. Et on peut dire qu'il a radicalement changé la donne puisqu'il permet à n'importe qui de générer des certificats SSL valables 3 mois à conditions de prouver qu'on est bien le propriétaire du domaine ciblé. La durée de validité plus courte des certificats (3 mois contre 1 an pour les certificats "classique") est compensée par le fait que Let's Encrypt met a disposition un outil qui permet d'automatiser le renouvellement. C'est cet outil (**Certbot**, qui permet aussi la création du certificat) que nous allons étudier dans cet article. \ No newline at end of file