SSL, c’est le bordel

SSL, c’est quoi déjà ?

Wikipedia vous expliquera ça techniquement, je vais tenter de vulgariser :

Vous accédez à internet grâce à un opérateur (Orange, Free, SFR, etc.), en réalité, plusieurs opérateurs mais vous n’en voyez/payez qu’un. Vous accédez à des sites. Pour cela, votre navigateur (firefox, chrome, etc.) demande en clair “je veux telle page”. Si le site vous demande votre mot de passe, votre navigateur le transmet en clair sur le réseau.

A priori, rien de bien méchant. Mais soyons un peu paranos : si votre opérateur (ou l’un quelconque des opérateurs de la chaîne qui vous relie au site web) décidait d’être un filou (je sais c’est impossible, mais supposez) ou qu’un membre de son personnel décide (de son propre chef) d’être un filou, il pourrait :

  • récupérer vos mots de passe (et donc faire des achats avec votre CB, lire vos mails, etc.)
  • noter les pages que vous consultez, mettre tout ça dans une base de données et vendre ce profil (telle personne a regardé telles vidéos YouTube, a consulté telles pages sur tels sites, fait telles recherches sur Google, etc.). Pour mémoire c’est ce que fait déjà Google sur tous les sites qui utilisent GoogleAnalytics si vous ne vous êtes pas protégé(e).

Le web “normal” (non sécurisé, celui que vous utilisez depuis 1990) utilise le protocole “http” sur le port 80.

Avec SSL, c’est la même chose mais ça s’appelle “https” (le S voulant dire “sécurisé”) et le port est 443.

Qu’est-ce que ça change ? Quand vous utilisez https, les données qui transitent entre votre navigateur et le site que vous consultez sont chiffrées. Donc les petits filous dont on a parlé plus haut sauront toujours quel site vous visitez mais ne pourront plus voir votre nom d’utilisateur, votre mot de passe ou même quelle page vous consultez. Donc votre compte bancaire est moins exposé et votre profil moins intéressant (puisqu’il devient : telle personne regarde des vidéos YouTube et fait des recherches sur Google, sans plus de précision).

Et pourquoi je parle de ça ?

Parce-que depuis quelques temps, les navigateurs essayent d’imposer le https partout. Et pour commencer, ils ont fait en sorte que quand vous consultez une page sur un site en https, tout ce que la page inclut en provenance d’autres sites (une photo, une vidéo, un jeu flash, etc.) doit être inclut en https sinon ça ne s’affichera pas (un rectangle blanc ou noir à la place).

Puisque ce blog est accessible en https, voilà un exemple de vidéo qui ne marche pas (parce-qu’elle est bloquée) :

Et la même vidéo qui marche :

Maintenant, observez bien votre barre d’adresse :

Espace de travail 1_027

Vous voyez que le site est en https et vous voyez aussi une sorte de bouclier. Cliquez dessus :

Espace de travail 1_028

Ah voilà une sorte d’explication. Cliquez sur la petite flèche (attention, votre opérateur va savoir que vous regardez une vidéo avec un chaton) et choisissez “Désactiver la protection pour cette page”. Et là, ô miracle, les 2 vidéos sont visibles.

Conséquences

Les conséquences sont multiples et dépendent de la casquette que vous portez :

  • si vous êtes un(e) simple internaute, quand une page “ne marche pas”, c’est pas votre problème, le site est pourri et vous n’y mettrez plus jamais les pieds et vous avez bien le droit de râler… En l’occurrence, le site en question marche mais il utilise un contenu qui vous expose. Soit c’est de sa faute (comme dans le cas de la première vidéo que j’ai postée) soit c’est de la faute de celui qui fournit le contenu inclut et qui ne propose pas ce contenu en https. Et là c’est pas juste de râler après le site qui a fait ce qu’il a pu pour vous protéger.

  • si vous mettez du contenu en ligne, soit vous publiez en http et vous vous moquez des conséquences (ayant lu ce qui précède, vous êtes au courant que c’est mal, vous n’êtes plus seulement négligent – après c’est entre vous et votre conscience), soit vous publiez en https.

Publier en https

  • il faut être un peu scrupuleux sur les contenus que vous intégrez :

    • mettre https au lieu de http dans les liens youtube, dailymotion, vimeo, etc., Les liens de type <a href="xxx">...</a> ne sont pas à modifier (ce n’est pas du contenu intégré)
    • vérifier que ça passe sur les navigateurs que vous avez sous la main,
    • rectifier quand vous vous rendez compte (ou qu’on vous signale) que ça ne marche pas partout.
  • Ça nécessite d’abord de configurer votre serveur ou votre hébergement pour qu’il fonctionne en https (voire le forcer). Pour cela il faudra acquérir un certificat.

Quelques liens ou astuces

StartSSL

startssl vous permet d’acquérir un certificat gratuitement pour un blog perso ou associatif et propose des tarifs vraiment compétitifs pour les usages plus commerciaux.

Configurer Apache

C’est un aide-mémoire pour la redirection permanente et une configuration simpliste.

<VirtualHost *:80>
        ServerName blog.mondomaine.com
        DocumentRoot /var/www/sites/blog

    Redirect permanent / https://blog.mondomaine.com/
</VirtualHost>

<VirtualHost *:443>
        ServerName blog.mondomaine.com
        DocumentRoot /var/www/sites/blog
        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/mondomaine.crt
        SSLCertificateKeyFile /etc/ssl/private/mondomaine.key
        SSLCACertificateFile /etc/ssl/certs/LaCADeMonFournisseur.pem
</VirtualHost>

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *