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 ?
- 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.
- 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é.
- 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 :
- 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.
- 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.
- 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';