Générer un Hash Salt avec drush sur Drupal

Rédigé par Teddy Vermeulin le 17/01/2024

Dernière mise à jour le 24/05/2024

Apprenez à générer simplement un Hash Salt à l'aide d'une commande drush sur Drupal.

Hash Salt ou comment vos mots de passe sont gardés secrets

Hash Salt, qu'est ce que c'est ?

Un hash salt est une donnée aléatoire qui est utilisée comme une extension d'un mot de passe lors du processus de hachage. 

Le hachage, quant à lui, est un processus qui transforme une quantité arbitraire de données (comme un mot de passe, un fichier, ou un message) en une chaîne de caractères de longueur fixe, appelée "haché". Cette transformation a pour objectif de créer une empreinte digitale unique, de sorte que même un petit changement dans les données d'origine produise un haché radicalement différent.

Comment Drupal utilise le Hash Salt ?

  1. Stockage sécurisé des mots de passe
    Lorsqu'un utilisateur crée ou modifie son mot de passe, Drupal génère un hash salt aléatoire unique pour ce mot de passe. Le mot de passe et le hash salt sont combinés puis hachés. Le résultat de ce hachage est ce qui est effectivement stocké dans la base de données de Drupal.
     
  2. Vérification des mots de passe
    Lorsqu'un utilisateur tente de se connecter, le système récupère le hash salt stocké associé à l'utilisateur, le combine avec le mot de passe fourni par l'utilisateur, puis hache cette combinaison. Si le résultat correspond au hachage stocké dans la base de données, l'accès est accordé.
     
  3. Sécurisation des cookies
    Le hash salt est utilisé pour sécuriser les cookies de session qui sont générés lorsque les utilisateurs se connectent à votre site. Ces cookies sont essentiels pour maintenir la session d'un utilisateur connecté, permettant au site de reconnaître l'utilisateur d'une page à l'autre. En cryptant ces cookies, Drupal s'assure qu'ils sont uniques et beaucoup plus difficiles à falsifier.

Avantages du Hash Salt pour la sécurité Drupal :

  1. Unicité
    Chaque mot de passe haché est unique, grâce au salt, ce qui protège contre les attaques utilisant des tables de hachages précalculées.
     
  2. Complexification des attaques
    Même si deux utilisateurs ont le même mot de passe, les hachages seront différents à cause des salts différents, ce qui rend les attaques plus complexes.
     
  3. Protection contre les fuites de données
    En cas de fuite des données de hachage, les mots de passe des utilisateurs restent protégés grâce à la difficulté d'inverser un hachage, surtout lorsqu'un salt est utilisé.

Dans le monde de la cryptographie, le sel ne provoque pas d'hypertension, il prévient plutôt les crises de sécurité.

Génération du Hash Salt avec Drush

Pour générer un hash salt avec drush, utiliser cette commande dans un terminal :

drush eval "var_dump(Drupal\Component\Utility\Crypt::randomBytesBase64(55))"

Vous obtiendrez une chaîne de caractères aléatoires qui ressemblera à celle-ci :

string(74) "01Kc0W7iulJ5S_yp-n8x41bUntCFgVt2izA48ULCKi3InYEmhBWJ3U4SW1JCYL1w9L_eYVeXEQ"

Il ne vous reste plus qu'à copier celui-ci dans votre fichier settings.php :

settings.php
$settings['hash_salt'] = 'votre_hash_salt_ici';