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:30] 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 =====
 +=== 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.
 +
 +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>
 +# apt install socat
 +# curl https://get.acme.sh | sh
 +</code>
 +
 +Ensuite, il faut avoir un domaine déjà configuré en HTTP, avec un dossier accessible. Une fois que c'est fait, il 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>
 +# acme.sh --issue -d plouf.com -d www.plouf.com -w /var/www/plouf/
 +</code>
 +
 +__**Bonus :**__ L'installation d'acme.sh ajoute directement une ligne dans le cron : 
 +<code bash>
 +4 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
 +</code>
 +
 +== Choisir une clé ECC et sa taille ==
 +<code bash>
 +# acme.sh --issue -d plouf.com -d www.plouf.com -w /var/www/plouf/ --keylength ec-384
 +</code>
 +
 +== Wildcard ==
 +<code bash>
 +$ acme.sh --issue -d artanux.be -d '*.artanux.be' --dns dns_ovh --keylength ec-384
 +</code>
 +
 +Détails sur la page [[acme.sh]].
 +
 +== 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>
 +# rm -r ~/.acme.sh/plouf.com
 +</code>
 +
 +=== Certbot ===
 +<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". J'ai configuré les certificats pour plusieurs noms de domaines et voici la procédure suivie, pour le domaine fictif "plouf.com".
  
-J'ai utilisé l'outil [[https://github.com/diafygi/acme-tiny|acme-tiny]], on commence par le télécharger et l'installer.+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>
-wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py -O /usr/local/bin/acme-tiny.py +vim /etc/apt/sources.list 
---2018-01-10 02:30:22--  https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py +  #(...ajouter à la fin du fichier :
-Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.120.133 +  # Backports repository 
-Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.120.133|:443... connected. +  deb http://ftp.debian.org/debian stretch-backports main 
-HTTP request sent, awaiting response... 200 OK +</code>
-Length9179 (9.0K) [text/plain] +
-Saving to: ‘/usr/local/bin/acme-tiny.py’+
  
-/usr/local/bin/acme-tiny.py         100%[================================================================>  8.96K  --.-KB/s    in 0s      +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.
  
-2018-01-10 02:30:22 (51.4 MB/s) ‘/usr/local/bin/acme-tiny.py’ saved [9179/9179]+<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>
 +# certbot --apache
 +Saving debug log to /var/log/letsencrypt/letsencrypt.log
 +Plugins selected: Authenticator apache, Installer apache
 +
 +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>
 +# certbot renew --dry-run
 +</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 =====
 +  * [[https://www.sysnove.fr/blog/2016/03/utilisation-pratique-letsencrypt-acme-tiny.html|Sysnove.fr]]