Renouveler un certificat SSL Let’s encrypt avec le plugin Webroot

Installation d’un certificat SSL Let’s encrypt avec la méthode Webroot avec un serveur web Nginx

Il y a quelques semaines j’avais mis en place un certificat Let’s encrypt pour feub.net pour Nginx. A ce moment j’avais utilisé la méthode Standalone verification de Let’s encrypt qui est automatique mais qui a le désavantage d’utiliser le port 80, donc il faut stopper le serveur web pendant la génération du certificat, occasionnant un petit downtime du ou des site(s).

Ce petit inconvénient peut-être supprimé en utilisant la méthode Webroot proposée par Let’s encrypt, c’est celle-ci que je vais décrire ici et que j’ai utilisé pour renouveler le certificat pour feub.net.

Utilisation du plugin Webroot

Le plugin Webroot fonctionne de la sorte, un fichier est créé dans le répertoire .well-known  à la racine du serveur web (pour le ou les domaines en question), puis le serveur de validation de Let’s encrypt va faire des requêtes HTTP pour chaque domaine afin de confirmer que les DNS résolvent bien vers le serveur exécutant Let’s encrypt.

Pour l’installation de Let’s encrypt, se référer à la première partie de l’article Installer un certificat Let’s encrypt pour Nginx et servir WordPress en https.

Ensuite, pour générer le certificat avec la méthode Webroot, il suffit d’ajouter l’option –webroot  et de préciser le chemin vers la racine du site web avec l’option -w /chemin/vers/racine/web . Voici comment générer le certificat pour le domaine feub.net et son sous-domaine www.feub.net :

sudo letsencrypt certonly \
    --webroot -w /var/www/html/ \
    -d www.feub.net \
    -d feub.net

Après quelques secondes, si tout se passe bien, un message de succès apparait :

- Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/www.feub.net/fullchain.pem. Your cert will
   expire on 2016-07-25. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.
 - If you like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Le certificat est prêt. Il suffit alors de se référer toujours à l’article Installer un certificat Let’s encrypt pour Nginx et servir WordPress en https, chapitre Configurer Nginx avec SSL pour l’installer avec Nginx.

Création et ajout d’un certificat gratuit StartSSL à Nginx

J’ai longtemps utilisé des certificats auto-signés pour mes connexions SSL/TLS, bien qu’un tel certificat assure le cryptage de la liaison, elle n’assure en aucun cas la validité de celui-ci. Lorsque c’est moi qui accède à un de mes sites, aucun problème (je peux encore me faire confiance je pense ^.^), mais quid des personnes tiers utilisant mes services? Elles ne peuvent se fier qu’à mes paroles. De plus un certificat auto-signé n’étant pas reconnu par les navigateurs, ceux-ci affichent cette page flashy indiquant les dangers d’accéder à un tel site.

D’un autre coté, un certificat délivré par une autorité compétente a un prix (plus ou moins variable). La solution intermédiaire est offerte par StartSSL, une société qui possède une offre gratuite de certificat SSL appelée Class 1 SSL. C’est un vrai certificat, certe basique et pour une utilisation personnelle, mais reconnu par les navigateurs, donc plus de page d’avertissement de ceux-ci avant de naviguer sur un site sécurisé. Celui-ci est gratuit, avec toutes vos informations d’identité, mais celles-ci ne sont pas vérifiées par StartSSL, donc c’est certainement un point délicat dans le cas d’un site d’e-commerce par exemple. Mais pour simplement sécuriser des pages d’administration, un back-office, c’est amplement suffisant.

Voici décrite ci-dessous la procédure de création et mise en place d’un certificat SSL pour Nginx.

Continue reading « Création et ajout d’un certificat gratuit StartSSL à Nginx »