Sécurité et hachage du mot de passe WordPress

Publié: 2017-11-10

Les mots de passe sont une forme d'authentification liée aux utilisateurs ou aux processus. Ils sont utilisés pour valider l'identité d'un utilisateur ou d'un processus par rapport à un système informatique ou à des ressources. Dans le Web moderne d'ultra-connectivité, d'appareils IoT et mobiles, la sécurité des mots de passe est un sujet plus sérieux que jamais. Les fuites de bases de données de mots de passe se produisent tout le temps, de grandes entreprises telles que LinkedIn, Tumblr et Yahoo étant affectées. Bob Diachenko de MacKeeper Security, a écrit plus tôt cette année à propos d'une liste géante de 560 millions d'adresses e-mail/mots de passe trouvée flottant librement sur Internet !

Donc, dans cet article, nous parlerons de trois choses liées aux mots de passe et à WordPress :

  1. Génération et gestion de mots de passe forts.
  2. Comment WordPress fait le hachage de mot de passe.
  3. Implémentation de votre propre hachage de mot de passe.

Mots de passe faibles et forts

La force du mot de passe, en termes de complexité de la force brute, fait l'objet de nombreux débats, et la notion de la force d'un mot de passe a été largement redéfinie au fil des décennies, à mesure que des ressources informatiques plus puissantes deviennent facilement accessibles à l'individu. L'expert en sécurité de renommée mondiale Bruce Schneier a écrit un excellent article sur la sécurité des mots de passe et sur la manière de choisir des mots de passe sécurisés.

Lorsque l'on parle de la force du mot de passe, il faut inclure le contexte et le niveau de menace :

C'est différent et beaucoup plus difficile lorsque l'attaquant essaie de deviner votre mot de passe WordPress que s'il a compromis votre sécurité et a accès à la liste complète des mots de passe hachés.

Dans la première situation, l'attaquant sera rapidement bloqué par le service d'authentification en raison d'un trop grand nombre de tentatives de connexion sur une courte période. Habituellement, les attaquants découvrent les mots de passe par d'autres moyens, différents de la force brute, tels que le phishing, les logiciels malveillants, etc. Cependant, si la cible a choisi un mot de passe en utilisant des informations relativement publiques telles que la date, le nom/prénom, etc., il est alors plus facile pour l'attaquant de le deviner.

Dans la deuxième situation, si l'attaquant a accès au fichier de mots de passe, cela peut n'être qu'une question de temps, en particulier si la fonction de hachage utilisée est MD5. Il a été cassé et s'est avéré peu sûr il y a longtemps. L'attaquant peut utiliser du matériel moderne (comme des cartes GPU) combiné à des tables «arc-en-ciel» précalculées pour déchiffrer l'intégralité du fichier de mots de passe en très peu de temps. De plus, dans certains cas extrêmes, les mots de passe de tous les utilisateurs sont stockés en "texte clair" dans la base de données. Dans ces deux cas, la "force" de votre mot de passe est annulée.

Comment générer et stocker des mots de passe forts

Il est préférable de laisser la génération et la gestion du mot de passe à un ordinateur en qui vous avez confiance, au lieu d'essayer de penser régulièrement à des mots de passe forts. Vous êtes humain et inévitablement vous vous tromperez et choisirez quelque chose qu'un ordinateur considère comme un choix faible.

L'utilisation d'un gestionnaire de mots de passe pour générer et stocker des mots de passe pour chaque service est efficace et présente le moins de menaces. Bien que l'idée de conserver tous vos mots de passe au même endroit puisse être déconcertante, c'est en fait un plus : en sachant que tous vos mots de passe sont au même endroit, vous pouvez les sécuriser plus facilement. Plus besoin d'utiliser des morceaux de papier aléatoires ou des permutations de mots de passe faibles dont vous vous souviendrez facilement mais qui peuvent facilement être devinés. De plus, un gestionnaire de mots de passe peut vous aider à générer des mots de passe forts sans aucun problème.

Le choix le plus populaire (et le plus cher) est 1Password, mais vous pouvez essayer d'utiliser celui fourni dans votre système d'exploitation (comme iCloud KeyChain d'Apple) ou utiliser une solution multiplateforme open source telle que KeePass.

Hébergez votre site web avec Pressidium

GARANTIE DE REMBOURSEMENT DE 60 JOURS

VOIR NOS FORFAITS

Hachage de mot de passe WordPress

Le hachage de mot de passe est une technique par laquelle le mot de passe en clair est transmis à une fonction de hachage et converti en une longue valeur alphanumérique. WordPress l'utilise pour les stocker dans la base de données, empêchant les regards indiscrets de lire directement les mots de passe WordPress. Lorsque vous vous connectez à WordPress et envoyez votre mot de passe, il calcule le hachage et le compare avec celui de la base de données. Si c'est le cas, l'accès vous est accordé, sinon, il vous est refusé. Cette méthode fonctionne car une chaîne de texte spécifique (un mot de passe WordPress dans ce cas) générera toujours la même valeur de hachage. Étant donné qu'une valeur de hachage ne peut pas être reconvertie dans le texte d'origine, WordPress ne peut savoir que vous avez entré la bonne que si la valeur de hachage du mot de passe que vous avez fourni et celle qui est stockée dans la base de données sont identiques.

Par défaut, la fonction WordPress wp_hash_password() utilise un algorithme MD5 à 8 passes pour générer des hachages. Cependant , MD5 a été cassé avec succès en utilisant une combinaison de matériel moderne et une technique appelée tables arc-en-ciel qui contient une quantité massive de valeurs précalculées. Ceux-ci aident un attaquant à essayer des milliards de combinaisons par seconde, sur un seul GPU moderne.

Implémentez votre propre hachage de mot de passe WordPress

Vous pouvez (et devriez) sélectionner une implémentation différente, telle que Bcrypt en passant le tuple (16, FALSE) à l'objet PasswordHash dans l'instanciation. Les deux fonctions wp_hash_password() et wp_set_password() sont enfichables, vous pouvez donc fournir votre propre implémentation. Ils peuvent être trouvés sous wp-includes/pluggable.php.

Roots.io (les personnes derrière le système WordPress passe-partout Trellis, Bedrock et Sage) ont également publié un plugin WordPress qui implémente la fonctionnalité bcrypt pour les fonctions de hachage WordPress par défaut.

Conclusion

Afin de vous assurer que vous utilisez des mots de passe forts et que vous les modifiez fréquemment, il est préférable d'utiliser un gestionnaire de mots de passe. Cela peut vous aider à garder tous vos mots de passe organisés en un seul endroit et vous rappeler quand il est temps de les changer. En ce qui concerne le hachage de mot de passe, il est préférable d'utiliser un algorithme cryptographiquement sécurisé comme SHA-2 ou Bcrypt au lieu de revenir à la valeur par défaut de WordPress. Il est préférable d'éviter de rouler votre propre fonction de hachage, car une erreur peut introduire des problèmes de sécurité.