Linux Quimper

Expiration des certificats Let's Encrypt


(vincent) #1

J’ai reçu un mail de Let’s Encrypt ce matin :

Action is required to prevent your Let’s Encrypt certificate renewals from breaking.

Your Let’s Encrypt client used ACME TLS-SNI-01 domain validation to issue a certificate in the past 60 days.

TLS-SNI-01 validation is reaching end-of-life and will stop working on February 13th, 2019.

You need to update your ACME client to use an alternative validation method (HTTP-01, DNS-01 or TLS-ALPN-01) before this date or your certificate renewals will break and existing certificates will start to expire.

Pour éviter de s’arracher les cheveux dans 2 mois, on met à jour certbot :

sudo add-apt-repository ppa:certbot/certbot
sudo apt update

Puis on renouvelle les certificats :

sudo certbot renew --force-renewal --preferred-challenges http

Bon(s) renouvellement(s) à vous :slight_smile:


(Otyugh) #2

Pour éviter de s’arracher les cheveux dans 2 mois, on met à jour
certbot :

sudo add-apt-repository ppa:certbot/certbot
sudo apt update

©ron for the rescue ! Pas besoin de ppa :wink:
Il suffit d’ajouter une entrée en tapant “crontab”; la synthaxe est pas
bien compliquée.

Par contre personnellement j’ai dû faire un script un peu cradingue
parce que fallait relancer mon serveur web en mode “http” le temps de
la màj de certificats (alors que la bonne pratique voudrait qu’on
redirige tout ce qui est pas chiffré tout le temps… Booooh)


(Fanch) #3

Lu trop vite ? Vincent parle d’une méthode de vérification qui disparaît. (TLS-SNI-01). Il faut changer de méthode, du coup faut le faire à la main une fois.

Pour le coup c’est franchement mal fait car c’est la méthode par défaut avec apache et nginx !!! Les boulets…
Perso, comme je ne veux pas qu’un programme touche à mon nginx, j’utilise l’option webroot. De cette façon, la vérification se fait en transparence avec l’environnement de production qui n’est pas modifié.

Voici ma règle sur tous mes vhosts:80

location /.well-known/acme-challenge {
    root /usr/share/nginx/letsencrypt;
}

Ma commande pour générer un nouveau certif :

certbot certonly --webroot -w /usr/share/nginx/letsencrypt -d toto.qth.fr

Pour le cron renewal, il est normalement déjà installé avec le package certbot sous /etc/cron.d/certbot (c’est là que j’ai aussi ajouté comme toi un hook pour recharger nginx)


(Otyugh) #4

Lu trop vite ?

C’est pas faux ^^’