19
0
Fork 0
wiki/HowtoLetsEncrypt.md

3.1 KiB

Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.

Howto LetsEncrypt

Documentation officielle : https://letsencrypt.org/docs/

Dans tout les cas, il faut un client pour communiquer avec les serveurs de Let's Encrypt et obtenir le certificat. Il en existe plusieurs. L'officiel est https://certbot.eff.org/

Client officiel (Certbot)

Certbot est disponible en paquet sous Debian à partir des backports de Jessie.

Pour l'installer, il faut donc être en Debian Jessie avec les backports de configurés, puis :

apt install certbot -t jessie-backports

Création d'un utilisateur dédié

Afin de ne pas faire tourner certbot avec l'utilisateur root et de ne pas lui donner accès aux clés SSL, nous allons faire tourner certbot avec un utilisateur dédié.

Premièrement, penser à supprimer la tâche cron par défaut de certbot qui est lancé en root :

rm /etc/cron.d/certbot

Ensuite créer l'utilisateur dédié à certbot (ici "acme") et corriger les droits en consequences :

useradd acme -d /etc/letsencrypt
mkdir /etc/letsencrypt /var/log/letsencrypt /var/lib/letsencrypt
chmod 755 /etc/letsencrypt /var/log/letsencrypt /var/lib/letsencrypt
chown acme: /etc/letsencrypt /var/log/letsencrypt /var/lib/letsencrypt

Puis ajouter la commande de renouvellement dans la crontab de l'utilisateur acme :

# On ouvre la crontab de acme
crontab -u acme -e
# Et on rajoute la ligne suivante
0 0,12 * * * certbot renew -q

Configuration du Serveur Web

Apache

Créer le fichier dans /etc/apache2/conf-available/letsencrypt.conf avec :

SetEnvIf Request_URI "/.well-known/acme-challenge/*" no-jk
Alias /.well-known/acme-challenge /var/lib/letsencrypt/.well-known/acme-challenge
<Directory "/var/lib/letsencrypt/.well-known/acme-challenge">
    Options -Indexes
    AllowOverride all
    Require all granted
</Directory>

Puis activer ce fichier :

ln -s /etc/apache2/conf-available/letsencrypt.conf /etc/apache2/conf-enabled/letsencrypt.conf
apache2ctl -t
service apache2 reload

Génération du certificat

Générér une clé SSL dans /etc/ssl/private et un CSR (voir HowtoSSL) :

openssl req -newkey rsa:2048 -sha256 -nodes -keyout /etc/ssl/private/ma-cle.ssl -out mon-csr.csr

Faire la demande de certificat (avec l'utilisateur acme, le csr doit être accesible en lecture à cet utilisateur) :

sudo -u acme certbot certonly --webroot --csr mon-csr.csr --webroot-path /var/lib/letsencrypt -n --agree-tos --cert-path=/etc/letsencrypt/mon-cert.crt --fullchain-path=/etc/letsencrypt/mon-cert-fullchain.pem --chain-path=/etc/letsencrypt/mon-cert-chain.pem email@example.com

Votre certificat est maintenant présent dans /etc/letsencrypt/mon-cert.crt !

Automatisation

Pour simplifier l'installation et la configuration de certbot ainsi que la génération de CSR et de certificat, Evolix à créé le projet Evoacme.