Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Sécuriser facilement et gratuitement un site avec HTTPS

Vous connaissez sans doute tous, Let’s encrypt qui permet d’avoir un certificat SSL gratuit pour basculer son site en HTTPS. Mais connaissez-vous Certbot, un outil proposé par l’EFF (Electronic Frontier Foundation) qui permet d’obtenir en une ligne de commande son certificat et de configurer dans la foulée son serveur web ?

Je n’avais pas encore pris le temps de le tester et je me dis que c’est l’occasion aujourd’hui de vous en faire un petit tuto rapide. Vous allez voir, c’est rapide, sans douleur et de toute façon, vous devrez tous y passer.

Voici donc comment migrer un site web (sous WordPress dans mon exemple, mais ça fonctionne avec tout) de HTTP vers HTTPS.

Première étape : Installez CERTBOT sur votre serveur.

Je vais vous faire le tuto pour Ubuntu mais si vous avez une autre distrib, cliquez ici.

Téléchargez le script et installez le script :

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-apache

Seconde étape : Générez les certificats.

Si comme moi, vous utilisez nginx, lancez la commande :

sudo certbot --nginx

Et si vous utilisez Apache :

sudo certbot --apache

Certbot va alors lister vos virtualhosts (les sites web présents sur votre serveur). Entrez les numéros de ceux que vous voulez migrer en HTTPS. Si c’est votre première fois, je vous invite à le faire site par site. Dans le cas d’un WordPress, pensez aussi à désactiver les plugins, car certains pourraient poser problème.

À partir de là, Certbot va générer les certificats Let’s Encrypt qui vont bien et modifier la conf Apache / Nginx pour que ce soit le HTTPS qui soit activé par défaut pour votre site. Certbot vous demandera d’ailleurs si vous voulez passer exclusivement en HTTPS (2/ Redirect) ou garder aussi une connexion HTTP (1/ No Redirect).

Illustration d'un cadenas verrouillé pour sécuriser un site avec HTTPS

Je vous recommande de choisir l’option 2 pour éviter les contenus dupliqués. Certbot va encore prendre quelques secondes et voilà, la configuration est terminée. C’était facile non ? À vous de tester votre site en HTTPS maintenant. Il se peut que vous ayez un peu de « mixed content »… Pour le régler, vous devrez peut être corriger certains appels dans votre thème, parfois dans vos plugins, voire préciser votre URL en HTTPS dans votre fichier wp-config.php comme ceci :

define('WP_HOME','https://VOTRESITE.com');
define('WP_SITEURL','https://VOTRESITE.com');

Si malgré cela, vous remarquez que votre site reste accessible en HTTP aussi, éditez votre VirtualHost et décommentez la partie concernant les redirections 301 de HTTP vers HTTPS. Voici ce que j’ai comme exemple sous nginx :

Capture d'écran d'un certificat HTTPS valide pour sécuriser un site

Pour faire tester votre config SSL, vous pouvez aussi utiliser le service ssllabs dont j’ai déjà parlé, en utilisant cette URL :

https://www.ssllabs.com/ssltest/analyze.html?d=URLDEVOTRESITE.COM

3ème étape : Automatiser le renouvellement de vos certificats.

Attendez ne partez pas tout de suite, car vous devez savoir que votre certificat n’est valide que durant 90 jours. C’est comme ça. Mais pas de souci, avec Certbot, vous allez pouvoir le renouveler facilement via une simple commande.

On va d’abord tester un coup à blanc pour voir s’il n’y a pas de souci avec vos certificats et leurs éventuels renouvellements. Pour cela, entrez la commande suivante (pensez bien à préciser le chemin d’accès) :

sudo certbot renew --dry-run

La commande nécessaire au renouvellement automatique de vos certificats aura été installé automatiquement à l’un de ces emplacements :

  • /etc/crontab/
  • /etc/cron.*/*
  • systemctl list-timers

Et voilà cette fois c’est vraiment terminé. Vous pouvez oublier tout ça 🙂

Je rappelle quand même que Let’s Encrypt et Certbot sont gratuits, donc pensez à faire un don pour soutenir ces services.


Les articles du moment