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

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

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.



Surfshark : dévorez le Black Friday à pleines dents [bon plan]

— Article en partenariat avec Surfshark —

Aujourd’hui je vous partage un très bon plan à l’occasion du Black Friday qui arrive sous peu. En effet le fournisseur de VPN Surfshark s’est fendu d’une offre défiant pas mal de concurrents avec une réduction de 83% + 3 mois offerts. Vous payerez donc moins de 2.3€/mois durant 27 mois, TVA incluse, imbattable (ou pas loin) ! L’offre est temporaire donc pour sécuriser votre surf à moindres frais ne tardez pas !

Faisons un petit tour de l’outil pour les petits nouveaux qui ne connaissent pas encore Surfshark. Il s’agit tout simplement de l’un des VPN les plus solides du marché à l’heure actuelle. Pas forcément celui qui vient à l’esprit tout de suite, mais un outsider aux dents aiguisées qui commence à faire parler de lui en bien, et cela autant pour ses fonctionnalités que sa fiabilité.

Interface Surfshark

Le débit en download comme en upload est dans la moyenne des autres gros VPN du marché, ce qui vous permettra de streamer vos catalogues Netflix sans trop de soucis.

Surfshark possède actuellement autour des 3200 serveurs répartit dans 65 pays, chacun disposant de DNS privé et adapté au P2P. C’est moins que d’autres services établis depuis des années, mais la liste s’allonge plutôt vite (plus de 1000 ajouts rien que sur l’année en cours). À ce rythme il n’y aura plus de différence très bientôt.

Par défaut le protocole utilisé sera IKEv2/IPsec (que vous pouvez le modifier pour OpenVPN ou WireGuard si vous préférez). Niveau petit plus il propose également une fonctionnalité, nommée MultiHop, qui permet de se connecter via plusieurs pays afin d’augmenter la confidentialité et la sécurité. Il s’agit d’une option de double VPN, ce qui se ressentira forcément un peu sur la vitesse de connexion.

Surfshark IKEv2/IPsec

Je pourrai encore citer le bouton Kill Switch, le mode camouflage (qui brouille les pistes même pour votre FAI), le chiffrage des données via l’algorithme AES-256-GCM ou encore un système de liste blanche (split tunneling). Cette dernière est plutôt pratique pour les sites et applications qui ne supportent pas les connexions VPN (les applis bancaires par exemple), vous pourrez malgré tout vous y connecter sans avoir à couper/remettre en marche le VPN.

À ne pas négliger, l’interface assez minimaliste et très simple à prendre en main. Si vous n’êtes pas trop geek et/ou que c’est le premier outil du genre que vous utilisez, foncez ! C’est super simple.

Le MultiHop de Surfshark

Est-ce que je vous ai dit que l’offre vous permet en plus de connecter un nombre illimité d’appareils et sans limites de bandes passantes ? Que toutes les plateformes sont supportées (macOS, Linux, Windows, Android, iOS, FireTV, Apple TV, Chrome, Firefox, PlayStation …) ? Qu’il dispose d’un anti-pub/anti-tracker intégré ?

Niveau des paiements c’est plutôt complet aussi par rapport à certains concurrents. Vous pouvez régler via une CB classique (ou, mieux une carte Curve), PayPal, Amazon Pay, Google Pay ou encore les méthodes de paiements en ligne comme Sofort et Direct Debit. Petite cerise sur le gâteau, Surfshark accepte depuis quelques jours (fin novembre 2020) le paiement en crypto. Bitcoin, Ethereum, Ripple & co vous sont proposés via les services CoinGate et CoinPayments.

Bref pour profiter de l’offre Black Friday de Surfshark c’est par ici.

Encore merci à Surfshark de soutenir korben.info !


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. Avatar for fofo 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. Avatar for fofo 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. Avatar for LGeek 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. Avatar for LGeek 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