« Letsencrypt » : différence entre les versions
(→Génération : Ajout du chemin contenant le couple certificat/clef.) |
(→Génération : Ajout du paramètre de taille de la clé.) |
||
Ligne 47 : | Ligne 47 : | ||
===Génération=== | ===Génération=== | ||
certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual -d '*.ycharbi.fr' | certbot certonly --rsa-key-size 4096 --server https://acme-v02.api.letsencrypt.org/directory --manual -d '*.ycharbi.fr' | ||
Il va poser une chiée de question et donner le nom et la valeur d'un champ TXT DNS à entrer dans la zone du domaine à signé (il s'agit d'une clé d'authentification pour le protocole ACMEv2). Une fois ce champ renseigné et appliqué dans la zone DNS, faire <source lang="bash" inline><entrer></source> au prompte pour récupérer le certificat ainsi que sa clef privée (disponibles dans <source lang="bash" inline>/etc/letsencrypt/archive/ycharbi.fr</source>). | Il va poser une chiée de question et donner le nom et la valeur d'un champ TXT DNS à entrer dans la zone du domaine à signé (il s'agit d'une clé d'authentification pour le protocole ACMEv2). Une fois ce champ renseigné et appliqué dans la zone DNS, faire <source lang="bash" inline><entrer></source> au prompte pour récupérer le certificat ainsi que sa clef privée (disponibles dans <source lang="bash" inline>/etc/letsencrypt/archive/ycharbi.fr</source>). |
Version du 26 octobre 2019 à 17:44
EN CHANTIER
Article en cours d'écriture et/ou de test. Certains éléments peuvent être incomplets et mener à un résultat non fonctionnel.Merci de ne pas rager.
Letsencrypt est une autorité de certification lancée le 3 décembre 2015 (Bêta Version Publique). Elle permet de générer des certificats X.509 gratuitement et sans limite de nombre.
C'est un service fourni par l’Internet Security Research Group (ISRG). Les sponsors principaux sont l’Electronic Frontier Foundation (EFF), la Fondation Mozilla, Akamai, Cisco Systems , PlanetHoster et OVH. D'autres partenaires, tels que l'autorité de certification IdenTrust, l'Université du Michigan (U-M), la Stanford Law School, la Fondation Linux, l'entreprise Free10, ainsi que Stephen Kent de Raytheon / BBN Technologies et Alex Polvi de CoreOS sont également impliqués dans le projet. Bref c'est un truc sérieux et cela représente quand même 51,21% des certificats TLS en avril 2018 d'après NetTrack.
Cette documentation traitera principalement de la génération de certificat sans la partie automatisation de configuration WEB.
Génération de certificats
Il existe différents modes de génération de certificats. Voici ceux que j'utilise avec l'outil certbot.
Mode autonome
Ce mode permet de récupérer un certificat signé directement sur une machine proposant un service WEB (les commande seront à effectuées sur la machine répondant au domaine).
ATTENTION
Cette méthode installe tout un tas de bordel sur la machine dont un serveur Apache. Pour ma part, je lance une machine dédiée (un Squashfs dans mon cas), qui se chargera de la génération des certificats que je récupèrent et transferts sur la machine de destination (opération lourde destinée principalement à des tests).Installation
apt install python-certbot-apache
Génération
Il faut que le domaine à signé dirige les requêtes vers l'adresse IP de la machine certbot sinon l'erreur 503 renvoyé par celui-ci et interrompra la procédure.
ASTUCE
Il est possible d'automatiser le remplissage du nom de domaine lié au certificat à générer si le paramètre "ServerName domaine.ycharbi.fr" est ajouté dans un vHost. La procédure de création d'un vHost HTTPS par certbot sera donc automatique (sinon il demande de taper le numéro correspondant au vHost affiché dans la liste qu'il a généré en regardant dans le répertoire sites-availables).Génération de certificat pour tube.ycharbi.fr
certbot --authenticator standalone --installer apache -d tube.ycharbi.fr --pre-hook "service apache2 stop" --post-hook "service apache2 start"
INFORMATION
Il va demander une adresse e-mail qui servira à prévenir de l'expiration imminente du certificat.Le résultat est stocké dans ces emplacements:
- Clé publique/certificat: /etc/letsencrypt/live/tube.ycharbi.fr/fullchain.pem
- Clé privé: /etc/letsencrypt/live/tube.ycharbi.fr/privkey.pem
Il est bien sûr possible d'en faire un certificat chaîné pour certaines applications comme Haproxy par exemple:
cat /etc/letsencrypt/live/tube.ycharbi.fr/fullchain.pem /etc/letsencrypt/live/tube.ycharbi.fr/privkey.pem > /etc/ssl/tube.ycharbi.fr.pem
Source de la section
Mode manuel
Cette méthode permet de générer des certificat joker (wildcard). Selon moi, elle est beaucoup plus propre et n'installe pas tout un tas de paquets sur la machine. Elle peut être utilisée depuis une machine qui n'héberge aucun services (je l'utilise personnellement depuis mon proxy inverse).
Installation
apt install certbot
Génération
certbot certonly --rsa-key-size 4096 --server https://acme-v02.api.letsencrypt.org/directory --manual -d '*.ycharbi.fr'
Il va poser une chiée de question et donner le nom et la valeur d'un champ TXT DNS à entrer dans la zone du domaine à signé (il s'agit d'une clé d'authentification pour le protocole ACMEv2). Une fois ce champ renseigné et appliqué dans la zone DNS, faire <entrer>
au prompte pour récupérer le certificat ainsi que sa clef privée (disponibles dans /etc/letsencrypt/archive/ycharbi.fr
).
Automatisation
À faire