-
Notifications
You must be signed in to change notification settings - Fork 111
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WIP Add post "Générer des certificats avec Let's Encrypt et Certbot"
- Loading branch information
Showing
1 changed file
with
25 additions
and
0 deletions.
There are no files selected for viewing
25 changes: 25 additions & 0 deletions
25
articles/2019-06-01-generer-des-certificats-avec-letsencrypt-et-certbot.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |