La sécurité de vos services, applications et sites

 Petit dictionnaire des termes techniques.

Qu’il s'agisse d’un site web ou d’un des différents types d’application, il y aura probablement toujours un moyen de s’introduire. Pour garder le sujet simple, on parlera de deux vecteurs de vulnérabilité : humaine et logicielle.

Vulnérabilité humaine

L’Homme est plein de contradictions et d’habitudes. Une des règles parmi les plus simples de la sécurité, et de ne pas utiliser le mot de passe de sa messagerie lors de l’inscription sur un autre site (pour diverses raisons, mais principalement, car il est fort probable qu’un identifiant/login/e-mail ou autres informations nominatives soient aussi renseignés sur ce nouveau site). Je vous laisse faire le “calcul”.

Liste des 100 mots de passe les plus utilisés

Son nom est très explicite quant au sujet. Il existe des variantes de ces listes publiées chaque année (par pays et par différents organismes). Cette liste si on devait traduire ces titres anglophones, comprendrait régulièrement (mauvais, courant ou populaire).

Une liste anglophone contient toujours dans son top “qwerty” et “password” tandis que la liste Richelieu (projet Français) contiendra aussi “azerty”, “motdepasse” et “coucou” . Mais aussi des prénoms, villes FR et combinaisons de chiffres (1234).

Cette liste apporte des informations sur le comportement des personnes. La majorité des gens vont faire le choix suivant :

  • Le plus court (3 à 6 caractères) ;
  • Minuscules sans caractères spéciaux ;
  • Mot ou nom propre.

Or, tous ces “non-mot-de-passe” contreviennent aux règles pour un mot de passe sécurisé.

Il existe des listes plus complètes de ces classements comprenant quelques milliers d’entrées du même style.

Nouveau compte

Le mot de passe fourni à un nouvel arrivant dans une société doit être changé par ce dernier puisque selon le système employé, le mot de passe est probablement connu par une autre personne. Le mot de passe fourni est généralement robuste.

Certains sites utilisent la même approche de vous fournir eux-même un premier mot de passe robuste.

Après renvoi d’un nouveau mot de passe en cas d’oubli.

Malheureusement, le mot de passe remplaçant celui fourni figure probablement en bonne place dans le classement évoqué plus haut ou est d’un niveau équivalent (nous en parlerons plus tard).

Dans le cas d’oubli de mot de passe, si le mot de passe renvoyé est le mot de passe que vous utilisiez. Vous feriez mieux de vous désinscrire du site (voir plus bas “Fuite d’informations d’un site”).

Social engineering

Il s’agit de récupérer les informations concernant une personne et/ou une entreprise (et ces employées).

Un des buts premiers est de posséder toutes les informations nécessaires pour pirater. Sachant que de nombreux accès sont souvent créés par les personnes en se basant sur des compositions d’informations personnelles.

Ces compositions donnent une fausse impression d’avoir un mot de passe sécurisé puisqu’il apporte longueur et variation dans le mot de passe. Mais tout le monde peut s’introduire, après un peu de recherche et la composition d’un dictionnaire (liste de possibilités) d’après les informations trouvées après une étape de social engineering.

Cette recherche est maintenant facilitée, puisqu’en plus des innombrables informations déjà disponibles, nous (ou nos proches) ajoutons des tonnes d’informations personnelles sur les réseaux sociaux.

Plus d'informations

Vous pouvez donc facilement découvrir si une personne que vous n’avez jamais rencontrée si par exemple, elle possède un animal de compagnie, son nom, son pedigree, etc. Une montagne d’informations qui permettront de constituer une liste de mots de passe probants.

Il n’y a pas que les pirates généralement appelés hackers (bien que les pirates n’en constituent qu’une partie, ce qui finit par déformer l’usage du mot hacker) qui utilisent ce type de méthode. Des enquêteurs privés peuvent utiliser cette approche (pour ne citer qu’eux). Dès lors, l’approche peut devenir encore plus personnelle/intrusive avec fouille de poubelles, de l’environnement de travail (société d’entretien), etc.

Phishing

Pour simplifier, il s’agit d’une pratique frauduleuse souvent en se faisant passer pour une entité légitime pour obtenir des informations de votre part que vous fournirez sans vous poser de questions. Cette pratique est liée au social engineering :

  • Inscription sur un site (semblant légitime) pour obtenir un potentiel avantage gratuitement en contrepartie d'une adresse e-mail ou de la création d’un compte (récupération d’un mot de passe en clair) ;
  • Fausse opération de maintenance (par exemple une adresse du type qui_semble_legitime_ou_maintenance_etc@gmail vous demandant vos identifiants via un mail dans votre boîte gmail… transposable avec tous les services de messagerie) sous couvert d’un prétexte fallacieux ;
  • Utilisation d’une chaîne de mail ou de post sur les réseaux sociaux (hé oui) ;
  • Enquête anonyme (sauf que la manière dont vous l’avez reçu ou apparaît dans votre fil d'actualité social n’est pas anodin) ;
  • Etc

Le phishing peut être général (dans le but de revendre des informations et/ou but plus inavouable) ou ciblé. C’est ces pratiques ciblées qui permettront de s’introduire sur votre site ou vos applications d’entreprise.

Vulnérabilité logicielle

Fuite d’informations d’un site

Régulièrement, on apprend que des mots de passe ont fuité de tel ou tel grand site. Le cas qui m’a le plus marqué était Linkedin, il y a quelques années. C’est dans ces moments-là que l’on découvre aussi que ces derniers stockent encore des mots de passe en “clair”. Alors que la bonne pratique veut que l’on stocke un hashage mathématique du mot de passe (obtenu via une opération mathématique de cryptage non réversible). Puis lors d’une tentative de connexion, appliquer la même opération mathématique pour comparer les résultats. Dans le cas où le résultat est le même que le hashage stocké, alors la valeur fournie était bonne.

Ainsi, en cas de fuite, le pirate obtient en face des informations qui vous identifient, un hash plutôt qu’un mot de passe. Et comme l’opération mathématique choisie n’est pas réversible, il ne peut pas s’en servir pour s’introduire quelque part.

Plus d'informations

Toutes les méthodes de hashage ne sont pas égales. Les implémentations utilisant le MD5 (très populaire en France), elles sont vulnérables car il s’agit d’une méthode ne permettant pas d’utiliser une clé secrète dans l’opération mathématique. Ce qui a permis depuis longtemps de créer des dictionnaires de correspondance plus ou moins complets. En utilisant ce dictionnaire inversé, un pirate ayant obtenu le hash, pourra s’introduire sur vos autres comptes en utilisant la correspondance qu’il aura trouvé. 100% si le compte cible utilise lui aussi MD5, moins pour d’autres algorithmes de cryptage (mathématiquement si le dictionnaire inversé ne comprend pas toutes les entrées pouvant donner un même hash).

Configuration d’usine

Qu’il s’agisse de matériel livré avec une interface applicative, du compte administrateur d’un service clé en main ou même d’un CMS. Il peut exister des configurations de base avec un couple login/password connu par le grand public (ou en interne par la société qui développe la solution). Il est donc impératif de changer ces mots de passe par défaut pour une valeur sécurisée. Parfois, d’autres précautions peuvent être prises en parallèle.

Attaque par dictionnaire

Une fois une adresse e-mail trouvée (accessoirement utilisé comme identifiant/login par la plupart des systèmes), les choix sont s’introduire dans votre messagerie ou sur le site/application cible. Avec ce que vous venez de lire, vous avez déjà une idée de comment cela pourrait se faire. Obtenir des mots de passe que vous utilisez est surement le plus confortable. Toutefois à part dans le cas de fuite, les méthodes pour en obtenir laisseront des traces.

Des logiciels automatiques existent pour tester les couples d’identifiants les uns après les autres. Un de leurs choix est d’utiliser des listes existantes (appelées dictionnaires) pour tenter de s'introduire en commençant par des versions courtes de ces derniers.

Pour maximiser les chances, la constitution automatique d’un dictionnaire personnalisé pour la cible, via la combinaison d’informations récupérer (en utilisant des méthodes évoquées plus haut) est un choix courant.

Force Brute

Les mêmes logiciels proposent la méthode “brute-force”. C’est-à-dire que cette fois-ci, vous configurez par exemple une longueur minimale, une longueur maximale et les combinaisons de jeux de caractères à utiliser (majuscules, minuscules, chiffres, caractères spéciaux, ponctuation). Puis le logiciel (ou le script) va tester toutes les combinaisons possibles et ne s’arrêter qu’une fois entré ou toutes les possibilités testées.

Vous aurez peut-être déjà été confronté à ce type de logiciel pour “retrouver” le mot de passe oublié d’une archive (fichier ZIP par exemple).

Sécurité WordPress

Les lignes qui suivent sont transposables pour tous les CMS grand public. Étant largement utilisés, toutes les failles de sécurité existantes finissent par être documentées (version par version du produit) sur des sites spécialisés.

Le core

Il s’agit plus ou moins du moteur du CMS de l’administration et d’une certaine structure de fichiers. Les failles peuvent venir de cette partie-ci, mais le risque est souvent plus faible puisque les équipes qui travaillent sur cette partie ont à “coeur” la sécurité du projet. Appliquer régulièrement les mises à jour devrait vous prémunir de tous risques de ce côté-ci.

Attention, la contrepartie pourrait être un site inaccessible en cas d’une incompatibilité quelconque. Vous devez donc laisser votre équipe technique se charger de cette partie et tester d’abord les mises à jour sur leur serveur de pré-production (validation pour faire simple) avant de les appliquer sur le serveur de production (site visible par tous et référencé).

Les plugins

Vous entendrez parler de plugins, modules et d’extensions. Ce ne sont pas les mêmes choses, mais en France, après un amalgame, nous avons abusivement traduit “plugins” par “modules”.

De la même manière que pour le core, les plugins peuvent embarquer de sérieux problèmes de sécurité (documentés ou non). Un des plugins de slider ayant permis le plus grand nombre de piratage des sites l’utilisant est surement le tristement célèbre revslider qui version après version embarque de nouvelles vulnérabilités (une simple recherche internet permet de faire ressortir des résultats sur plusieurs années/versions).

Plus d'informations

Il existe des plugins payants ou partiellement payants. Et là, selon l’honnêteté de l’agence ou du client, de très mauvais choix peuvent être réalisés. Comme essayer de télécharger une version “gratuite” de ce produit payant. Ces “offres” très visibles sur internet sont en dehors de la boutique officielle (donc le code n’en est pas vérifié). Le code en a été altéré pour intégrer des droits différents, des vulnérabilités, une porte dérobée, des co-plugins, des téléchargements de code tiers, des adresses de fournisseurs différentes (payement /connexion/etc), etc.

Nous nous assurons donc de ne travailler qu’avec notre choix de plugins provenant tous de la boutique officielle (et que nous avont inspecté lors de la sélection). Le choix de ces derniers est aussi lié à leurs fonctionnalités. Pour ce qui n’existe pas de manière satisfaisante, nous le réalisons nous-même.

Les thèmes

Attention, un thème n’est pas un template, il s’agit d’un abus de langage.

Le problème est le même que pour les plugins, mais de manière exacerbée. Car seul l’aspect visuel du thème sera perceptible pour un client. Un thème peut également embarquer d’autres soucis qui impacteront surement plus fortement le référencement que la majorité des plugins ne peuvent généralement le faire.

Ils sont donc une cible privilégiée pour être “reconditionné” et “redistribué”.

Nous avons donc opté pour l’intégration de Web Designs au travers d’un nouveau thème pour nos clients.

Nettoyage

En cas de piratage, nous offrons une prestation complète de sécurisation et nettoyage de votre site WordPress.

Protection

Il existe de nombreuses choses à faire pour protéger un site que se soit lui-même ou son hébergement. Et nous avons toute une série selon le produit. Si vous faites appel à nos services, cette protection est obligatoire.

Protection de votre WordPress

Comme tout CMS grand public, le fait d’être connu et très utilisé fait de lui une cible.

C’est pourquoi, nous avons mis au point toute une série de mesures pour augmenter la sécurité d’un site.

Certaines s’appliquent au travers d’un plugin et d’autres via une surcharge de la configuration du serveur Apache. Ceci complète les choix évoqués plus haut concernant ce qui avait le droit de figurer dans nos installations WordPress.

Cette protection que nous ajoutons ne pourra pas être optionnelle.

Réduction du risque humain

Si vous êtes un client direct, nous pouvons même offrir une protection encore plus musclée de WordPress. Mais uniquement si vous adoptez une de nos solutions pour réduire les risques humains (solution plutôt simple permettant l’utilisation de mots de passe forts, sans vous charger la mémoire, ni laisser de traces informatiques). Ceci faisant rêver, nous n’en discutons donc qu’avec nos clients pour des raisons évidentes.