Outils pour utilisateurs

Outils du site


let_s_encrypt

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
let_s_encrypt [2018/01/10 01:34] simonlet_s_encrypt [2019/09/12 19:46] simon
Ligne 3: Ligne 3:
  
 ===== Configuration des certificats Let's Encrypt ===== ===== Configuration des certificats Let's Encrypt =====
-J'ai configuré les certificats pour plusieurs noms de domaines et voici la procédure suivie, pour le domaine fictif "plouf.com"+=== Acme.sh === 
- +[[https://github.com/Neilpang/acme.sh|acme.sh (github)]] est un client pour Let's Encrypt écrit en [[bash]], avec très peu de dépendances.
-J'ai utilisé l'outil [[https://github.com/diafygi/acme-tiny|acme-tiny]], on commence par le télécharger et l'installer.+
  
 +La première chose est d'installer acme.sh en suivant la [[https://github.com/Neilpang/acme.sh#1-how-to-install|procédure d'installation]]. 
 <code bash> <code bash>
-wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py -O /usr/local/bin/acme-tiny.py +apt install socat 
---2018-01-10 02:30:22--  https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py +# curl https://get.acme.sh sh
-Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.120.133 +
-Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.120.133|:443... connected. +
-HTTP request sent, awaiting response... 200 OK +
-Length: 9179 (9.0K) [text/plain] +
-Saving to: ‘/usr/local/bin/acme-tiny.py’ +
- +
-/usr/local/bin/acme-tiny.py         100%[================================================================>  8.96K  --.-KB/   in 0s       +
- +
-2018-01-10 02:30:22 (51.4 MB/s) - ‘/usr/local/bin/acme-tiny.py’ saved [9179/9179]+
 </code> </code>
  
-On crée un dossier pour Let's Encryptavec les bons droits : +Ensuite, il faut avoir un domaine déjà configuré en HTTP, avec un dossier accessible. Une fois que c'est faitil n'y a plus qu'à suivre les [[https://github.com/Neilpang/acme.sh#2-just-issue-a-cert|exemples sur le github du projet]] :
-<code bash> +
-# mkdir /etc/letsencrypt +
-# chown root:ssl-cert /etc/letsencrypt/ +
-chmod 750 /etc/letsencrypt/ +
-</code>+
  
-On se déplace dans le dossier qu'on vient de créer : 
 <code bash> <code bash>
-cd /etc/letsencrypt/+acme.sh --issue -d plouf.com -d www.plouf.com -w /var/www/plouf/
 </code> </code>
  
-Et on lance la génération d'une clé privée :+__**Bonus :**__ L'installation d'acme.sh ajoute directement une ligne dans le cron 
 <code bash> <code bash>
 +4 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
 </code> </code>
  
 +== Choisir une clé ECC et sa taille ==
 <code bash> <code bash>
 +# acme.sh --issue -d plouf.com -d www.plouf.com -w /var/www/plouf/ --keylength ec-384
 </code> </code>
  
 +== Wildcard ==
 <code bash> <code bash>
 +$ acme.sh --issue -d artanux.be -d '*.artanux.be' --dns dns_ovh --keylength ec-384
 </code> </code>
  
-<code bash> +Détails sur la page [[acme.sh]].
-</code>+
  
 +== Arrêter le renouvellement d'un certificat ==
 +Les explications sont sur [[https://github.com/Neilpang/acme.sh#13-how-to-stop-cert-renewal|la page github]] mais le plus simple est de supprimer le dossier correspondant :
 <code bash> <code bash>
 +# rm -r ~/.acme.sh/plouf.com
 </code> </code>
  
-<code bash+=== Certbot === 
-</code>+<WRAP center round important 60%> 
 +Cette partie est un peu ancienne et plus forcément pertinente... 
 +</WRAP> 
 + 
 +J'ai configuré les certificats pour plusieurs noms de domaines et voici la procédure suivie, pour le domaine fictif "plouf.com"
 + 
 +On commence par activer les backports (sous Stretch) afin de bénéficier de la version de [[certbot]] la plus récente.
  
 <code bash> <code bash>
 +# vim /etc/apt/sources.list
 +  #(...ajouter à la fin du fichier :)
 +  # Backports repository
 +  deb http://ftp.debian.org/debian stretch-backports main
 </code> </code>
 +
 +Dans mon cas, après installation sans les backports, certbot était en version 0.10 alors qu'avec les backports, on a la version 0.19.0.
  
 <code bash> <code bash>
 +# apt-get -t stretch-backports install python-certbot-apache
 </code> </code>
  
 <code bash> <code bash>
 +# certbot --version
 +certbot 0.19.0
 </code> </code>
 +
 +<WRAP center round alert 60%>
 +Sur une installation plus récente, j'ai du passer par [[pip]] pour installer certbot 0.21. L'installation depuis les backports ne fonctionnait pas. 
 +</WRAP>
 +
  
 <code bash> <code bash>
-</code>+# certbot --apache 
 +Saving debug log to /var/log/letsencrypt/letsencrypt.log 
 +Plugins selected: Authenticator apache, Installer apache
  
-<code bash>+Which names would you like to activate HTTPS for? 
 +------------------------------------------------------------------------------- 
 +1: plouf.com 
 +2: chat.plouf.com 
 +3: wiki.plouf.com 
 +------------------------------------------------------------------------------- 
 +Select the appropriate numbers separated by commas and/or spaces, or leave input 
 +blank to select all options shown (Enter 'c' to cancel): 1 
 +Obtaining a new certificate 
 +Performing the following challenges: 
 +tls-sni-01 challenge for caliban.be 
 +Enabled Apache socache_shmcb module 
 +Enabled Apache ssl module 
 +Waiting for verification... 
 +Cleaning up challenges 
 +Created an SSL vhost at /etc/apache2/sites-available/plouf.com-le-ssl.conf 
 +Enabled Apache socache_shmcb module 
 +Enabled Apache ssl module 
 +Deploying Certificate for caliban.be to VirtualHost /etc/apache2/sites-available/plouf.com-le-ssl.conf 
 +Enabling available site: /etc/apache2/sites-available/plouf.com-le-ssl.conf 
 + 
 +Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. 
 +------------------------------------------------------------------------------- 
 +1: No redirect - Make no further changes to the webserver configuration. 
 +2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for 
 +new sites, or if you're confident your site works on HTTPS. You can undo this 
 +change by editing your web server's configuration. 
 +------------------------------------------------------------------------------- 
 +Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 
 +Redirecting vhost in /etc/apache2/sites-enabled/cplouf.com.conf to ssl vhost in /etc/apache2/sites-available/plouf.com-le-ssl.conf 
 + 
 +------------------------------------------------------------------------------- 
 +Congratulations! You have successfully enabled https://plouf.com 
 + 
 +You should test your configuration at: 
 +https://www.ssllabs.com/ssltest/analyze.html?d=plouf.com 
 +------------------------------------------------------------------------------- 
 + 
 +IMPORTANT NOTES: 
 + - Congratulations! Your certificate and chain have been saved at: 
 +   /etc/letsencrypt/live/plouf.com-0001/fullchain.pem 
 +   Your key file has been saved at: 
 +   /etc/letsencrypt/live/plouf.com-0001/privkey.pem 
 +   Your cert will expire on 2018-04-10. To obtain a new or tweaked 
 +   version of this certificate in the future, simply run certbot again 
 +   with the "certonly" option. To non-interactively renew *all* of 
 +   your certificates, run "certbot renew" 
 + - If you like Certbot, please consider supporting our work by: 
 + 
 +   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate 
 +   Donating to EFF:                    https://eff.org/donate-le
 </code> </code>
  
 +On peut tester un renouvellement des certificats avec la commande suivante : 
 <code bash> <code bash>
 +# certbot renew --dry-run
 </code> </code>
  
 +Actuellement, ça foire chez moi... Pas encore compris pourquoi.
 +
 +==== Clés plus longues ====
 <code bash> <code bash>
 +# certbot certonly -a webroot --rsa-key-size 4096 --webroot-path=/var/www/plouf.com -d plouf.com -d www.plouf.com
 </code> </code>
- 
 ===== Sources ===== ===== Sources =====
   * [[https://www.sysnove.fr/blog/2016/03/utilisation-pratique-letsencrypt-acme-tiny.html|Sysnove.fr]]   * [[https://www.sysnove.fr/blog/2016/03/utilisation-pratique-letsencrypt-acme-tiny.html|Sysnove.fr]]