Redis Genpass

Redis Genpass
Redis est un magasin de données en mémoire optimisé par les performances qui utilise un format de paire de valeurs clés pour stocker les données. Redis permet à toute nouvelle connexion client d'accéder à chaque clé et commande dans le magasin de données jusqu'à sa version 6.0.0. De la version 6.0.0, Redis a introduit une nouvelle couche de sécurité avec la fonction de liste de contrôle d'accès. Avec la fonction ACL, Redis peut limiter les niveaux d'accès aux commandes et aux clés pour différentes connexions client. Lorsque Redis ACL est en place, la connexion client doit s'authentifier avec un nom d'utilisateur et un mot de passe. Par conséquent, le niveau d'accès de chaque connexion va de toutes les clés et commandes à un sous-ensemble de ceux. L'utilisateur «par défaut» peut accéder à chaque commande et clé dans le magasin de données.

Comme indiqué dans l'illustration précédente, certains utilisateurs ont accès à des clés et des commandes délimitées, tandis que l'utilisateur par défaut a accès à toutes les clés et opérations du magasin.

Habituellement, Redis prend en charge la commande AUTH avec le nom d'utilisateur et les arguments de mot de passe pour s'authentifier en tant qu'utilisateur spécifique avec certaines restrictions appliquées.

Mots de passe ACL

Les mots de passe redis ACL sont stockés au format hachée SHA256. Habituellement, ceux-ci ressemblent plus à des secrets partagés. Ces mots de passe sont des chaînes hexadécimales qui contiennent des numéros de pseudorandom, comme le montre l'exemple suivant:

"TY6C75273D91T32DF726FB545C8A4EDC14RF0A95A6FD993950B10I814AD2R57U"

Les mots de passe ACL ne sont pas entrés par un être humain. Il est stocké dans un certain type de logiciel client. Par conséquent, la longueur du mot de passe n'est pas du tout un problème dans ce contexte.

Afin de générer les mots de passe Redis ACL, vous devez utiliser une commande spéciale appelée ACL Genpass, dont nous discuterons dans la section suivante.

La commande ACL Genpass

La commande ACL Genpass est utilisée pour générer une chaîne alphanumérique qui a une taille de 64 octets qui contient 256 bits de données pseudorandom. Pour rendre le mot de passe plus fort et plus difficile à casser, cette commande utilise les générateurs de nombres pseudo-aléatoires comme / dev / urandom ou / dev / aléatoire. Ce sont des types spéciaux de fichiers utilisés pour créer des séquences de valeurs de nombre aléatoire où les nombres aléatoires générés ont des propriétés d'une séquence de nombres aléatoires. Ces mots de passe sont dix fois plus difficiles à casser qu'un mot de passe habituel.

Syntaxe

ACL GenPass [Number_OF_BITS_PER_OUTPUT_STRING]

numéro_of_bits_per_output_string: Il s'agit d'un argument facultatif qui spécifie le nombre de bits à contenir dans la chaîne de sortie.

Cette commande renverra une chaîne alphanumérique de 64 octets, qui comprend 256 bits de valeurs de données pseudo-aléatoires. Chaque fois que vous passez l'argument facultatif où le nombre de bits varie de 1 à 1024, la longueur de la chaîne de sortie changera en conséquence. Habituellement, la longueur de chaîne de sortie sera calculée en divisant le nombre spécifié de bits par 4. De plus, les bits sont toujours arrondis au multiple suivant de 4.

Exemple 01 - Générer le mot de passe de longueur par défaut

Supposons que nous devons générer un mot de passe ACL pour l'utilisateur par défaut qui a accès à chaque commande et clé dans le magasin de données redis. Nous utiliserons la commande ACL Genpass, qui est moins complexe et plus rapide en raison de la complexité du temps constante.

Comme prévu, la sortie est une chaîne alphanumérique de 64 octets avec 256 bits de données pseudo-aléatoires. La longueur de mot de passe de sortie est de 64 caractères hexadécimaux. Cela implique que 256 bits sont là.

Exemple 02 - Générer le mot de passe de longueur personnalisé

La commande ACL Genpass donne le contrôle total à l'utilisateur pour définir le nombre de bits nécessaires pour être dans la chaîne finale. Le paramètre facultatif peut être passé sous la forme du nombre de bits dans le mot de passe généré.

Créons un mot de passe ACL avec la taille 16 bits. Par conséquent, la longueur finale de la corde alphanumérique doit être de 16 bits divisée par quatre, ce qui équivaut à 4 caractères hexagonaux.

ACL Genpass 16

Essayons de spécifier le nombre de bits à 6. La commande complètera ce numéro au prochain multiple de quatre. Par conséquent, le nombre de bits devient 8 sous le capot.

Comme prévu, la longueur de la chaîne de sortie est de 2 caractères hexadécimaux représentant 8 bits de données pseudorandomiques.

Comme discuté dans les exemples précédents, la commande ACL GenPass peut être un générateur de mots de passe fiable pour les magasins de données redis.

Conclusion

Pour résumer, Redis a introduit la fonction de liste de contrôle d'accès à partir de la version 6.0.0. Il permet une nouvelle couche de sécurité où certaines connexions client peuvent accéder à des commandes et des clés limitées dans le magasin de données redis. Chaque connexion client peut être authentifiée à l'aide du Authentification commande avec le nom d'utilisateur et le mot de passe fourni. Ces mots de passe sont stockés sous forme de valeurs de hachage SHA256 dans le stockage redis. Par conséquent, il est recommandé de générer des mots de passe redis solides à l'aide de la commande ACL GenPass. Il génère une chaîne alphanumérique de 64 octets qui est suffisamment forte pour éviter les attaques.