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

Korben Upgrade your mind

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 : Installer CERTBOT sur votre serveur.

Pour cela, téléchargez le script, rendez le executable et lancez-le :

wget https://dl.eff.org/certbot-auto

chmod a+x certbot-auto

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

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

./certbot-auto –nginx

Et si vous utilisez Apache :

./certbot-auto –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/ Secure) ou garder aussi une connexion HTTP (1/ Easy).

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 :

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) :

./CHEMIN/VERS/certbot-auto renew –dry-run

Si tout se passe bien, éditez votre crontab :

crontab -e

Et ajoutez la ligne suivante pour lancer une vérification de vos certificats 2 fois par jour.

*/12 * * * * /CHEMIN/VERS/certbot-auto renew –quiet –no-self-upgrade

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.


Batterie Anker PowerBank 13400 mAh

-25 % de réduction

Livré avec son câble d’alimentation USB-C, Housse de protection et Guide de démarrage rapide

Et compatible avec la Nintendo Switch, sa vitesse de charge va jusqu’à 80% plus vite que les batteries non certifiées par Nintendo

En Savoir +



Réponses notables

  1. Quelqu’un a une idée concernant un vhost qui n’a pas de nom de domaine ?

    J’ai un petit server mais sans NDD, dans mon site-enabled : server_name _;

    Or le script veut un domaine …

  2. Avec nginx il ne faut pas oublier de recharger la conf pour qu’il prenne en compte le nouveau certificat.
    Rajouter “&& service nginx reload” a la fin de la tache cron de certbot suffit amplement.

  3. Oki, c’est bien ce que je pensais. Bon, merci :slight_smile:

  4. mauvais titre, “Sécuriser facilement et gratuitement un site avec HTTPS” voudrais dire que de passer son site en HTTPS le sécuriserai

  5. Pour ceux qui sont du côté obscur de la force, il y a un module Powershell qui fait la même chose.
    ACMESharp, dispo sur GitHub.
    Il est possible de valider un nom de domaine en ajoutant un record TXT à la zone DNS du domaine à valider. Très pratique pour les domaines qui n’ont pas de serveur web associé (ou si c’est une appliance ou un site sur lequel on n’a pas la main du tout).
    Bonne journée :wink:

  6. Tes domaines sont visibles sur https://crt.sh/?Identity=%&iCAID=16418

  7. Tu as oublié dans ton cron de reloader la conf du serveur web. Comme les certificats sont placés en RAM, sans reload, les vieux certificats seront toujours servis.

  8. fofo says:

    ça peut sembler évident, mais let’s encrypt ne fonctionne que pour les sites internet, par pour les serveurs intranet

  9. Let’s Encrypt ne génère pas de wildcard (*.mondomaine.tld)
    Par contre, aucun problème pour générer plusieurs certificat différents.
    Il suffit de les faire un après l’autre, comme si les autres n’existaient pas (en utilisant la même adresse mail et sans recréer de compte à chaque fois)

  10. En même temps si quelqu’un sniff tes paquets sur ton réseau c’est que c’est un réseau pourri. HTTPS surcharge le réseau et les ordinateurs inutilement.

  11. Let’s Encrypt publient tous les domaines sur lesquels ils ont délivré un certificat (Certificate Transparency).
    Exemple de recherche pour un domaine récemment trouvé sur crt.sh https://www.google.com/transparencyreport/https/ct/#domain=victorias-emporium.co.uk&incl_exp=false&incl_sub=true

    Donc soit tu crées un certificat unique pour ton domaine et ses sous-domaines et alors il suffit de voir ce certificat (en visitant ton domaine ou en allant sur crt.sh ou autre) pour retrouver les autres sous-domaines validés, soit tu crées des certificats indépendants et is se trouvent publiés individuellement et tout aussi trouvables (comme avec ce domaine britannique).

  12. fofo says:

    [quote=“madshiva, post:18, topic:5606, full:true”]
    En même temps si quelqu’un sniff tes paquets sur ton réseau c’est que c’est un réseau pourri. HTTPS surcharge le réseau et les ordinateurs inutilement.
    [/quote]A partir du moment ou tu gères des droits je ne vois aucune raison de laisser balader des mots de passes ou données sensibles en clair.
    Sniffer le réseau n’est pas très compliqué, cela peut-être intentionnellement (employé sur le départ, sous traitant véreux), ou involontairement (virus). La plupart des gros réseaux sont tombés comme ça tu hackes un poste d’un user lambda (virus ou mot de passe deviné), et tu sniffes le réseau pour chopper petit à petit des privilèges.

    Avec ce genre de raisonnement, pas besoin de s’embêter à gérer des droits : un dossier réseau partagé en écriture à tout le monde, y’a qu’à mettre le fichier Excel des salaires dans un dossier “ne pas ouvrir”…

  13. Justement pour ça qu’on sécurise le réseau d’abord c’est à dire faire tomber le port réseau au cas ou celui-ci voudrais le faire. Pas de sniff sur le réseau pas de problème de lecture de données en clair.

    Après si le navigateur supporte HTTP/2, il n’ y a pas de perde de temps, au contraire un gain, mais avant que se soit à 100% en place…

    PS: J’ai jamais dit qu’il ne fallait rien faire. Pas besoin d’essayer d’interpréter donc ce que j’ai dit.

  14. LGeek says:

    Ca fonctionne et c’est très facile. Suffit de passer par Crypto niveau dashboard :

    Puis redirect 301 (optionnel selon indexation du site)

    Et finalement créer une page rule : > Create Page Rule > http://nomdedomaine.fr/ > Always Use HTTPS

  15. LGeek says:

    Ca veut dire que tu ne veux pas utiliser la version gratuite de Cloudflare qui pourtant donne accès à un certif gratis ?

  16. Salut,
    Autre que de passer d’un htttp vers un https qui m’intéresse vraiment, une information web m’intrigue: je la rapporte en tant que tel https://masquersonip.com/3917/faille-dans-la-securite-s-la-freak-attack/ que faire dans ce cas? Une telle faille ne met pas en danger tout son site web surtout que pour mon cas j’ai beaucoup de données clients (vente de produits bios en ligne), est-il judicieux de faire usage de Let’s Encrypt alors qu’il est gratuit? :neutral_face:

Continuer la discussion sur Korben Communauté

17 commentaires supplémentaires dans les réponses

Participants

Installer le shell Bash (Linux) sous Windows 10

L’année dernière, ça ne vous a pas échappé, Bash a fait son apparition sous Windows 10. C’est pour moi, la meilleure chose qui soit arrivée à Windows depuis un moment, car ça permet de lancer des outils Linux et de développer ses propres scripts Shell directement sous Windows. Le pied !

Mais même si c’est parfaitement fonctionnel, il faut quand même…

Lire la suite


Plus de 60 idées pour votre Raspberry Pi

Nous sommes nombreux à nous être procuré un petit ordinateur Raspberry Pi pour nous lancer dans des projets de ouf malade… C’est très cool, mais à part le classique Media Center XBMC, qu’avez-vous fait avec votre Raspberry Pi ?

Si vous séchez niveau idées, voici une petite sélection…

Lire la suite


Une astuce pour rendre Windows 10 plus rapide

Si vous trouvez que Windows 10 est un peu lent, que vos applications ne se lancent pas très vite, que vos compilations prennent du temps, voici une petite astuce débusquée par Brominou pour accélérer le bouzin.

Cliquez dans la zone de recherche de la barre Windows et tapez le mot clé « Performances ». Puis cliquez sur « Régler l’apparence et les performances de Windows » …

Lire la suite


Changer d’adresse IP rapidement

Une petite astuce pour ceux qui ne connaissent pas. Comment changer d’adresse IP à la volée.
Il suffit d’en demander une nouvelle à son provider si celui-ci accepte les IP dynamiques. Pour vérifier que vos manipulation ont eu l’effet escompté, vérifiez quelle est votre adresse IP….

Lire la suite