Paramètres de sécurité Redis

RedisRedisBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce labo, vous apprendrez comment améliorer la sécurité de votre serveur Redis. Nous aborderons la définition d'un mot de passe pour empêcher tout accès non autorisé et la désactivation de commandes spécifiques pour limiter les utilisations abusives potentielles. À la fin de ce labo, vous disposerez d'une instance Redis plus sécurisée.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") subgraph Lab Skills redis/access_cli -.-> lab-552103{{"Paramètres de sécurité Redis"}} end

Définition d'un mot de passe avec CONFIG SET requirepass

Par défaut, Redis ne requiert pas de mot de passe, ce qui le rend vulnérable. Définir un mot de passe est la première étape, et la plus importante, pour sécuriser votre serveur Redis. Nous utiliserons la commande CONFIG SET requirepass pour ce faire.

La commande CONFIG SET vous permet de modifier dynamiquement les paramètres de configuration de Redis. Le paramètre requirepass spécifie le mot de passe que les clients doivent fournir pour se connecter au serveur.

Commençons :

  1. Connectez-vous au serveur Redis en utilisant redis-cli :

    Ouvrez un terminal dans la VM LabEx. Le répertoire par défaut est ~/project. Exécutez la commande suivante :

    redis-cli

    Cela vous connectera au serveur Redis fonctionnant sur l'hôte (127.0.0.1) et le port (6379) par défaut. Vous devriez voir l'invite 127.0.0.1:6379>.

    127.0.0.1:6379>
  2. Définissez le mot de passe en utilisant la commande CONFIG SET requirepass :

    Nous allons définir le mot de passe sur mysecretpassword. Pour les environnements de production, choisissez un mot de passe fort et unique.

    CONFIG SET requirepass mysecretpassword

    Vous devriez voir la sortie suivante :

    OK

    Cela confirme que le mot de passe a été défini.

  3. Tentez d'exécuter une commande sans authentification :

    Essayez d'exécuter une commande simple comme PING :

    PING

    Vous devriez recevoir un message d'erreur :

    (error) NOAUTH Authentication required.

    Cela indique que l'authentification est désormais requise.

  4. Quittez redis-cli :

    Pour vous assurer que la commande est enregistrée, quittez redis-cli en tapant exit ou en appuyant sur Ctrl+D.

    exit

    Ceci est important pour que l'étape de vérification fonctionne correctement.

Authentification avec la commande AUTH

Maintenant que nous avons défini un mot de passe, apprenons à nous authentifier auprès du serveur Redis en utilisant la commande AUTH. Cette commande requiert le mot de passe que vous avez défini à l'étape précédente.

  1. Connectez-vous au serveur Redis en utilisant redis-cli :

    Ouvrez un terminal dans la VM LabEx. Le répertoire par défaut est ~/project. Exécutez la commande suivante :

    redis-cli

    Vous devriez voir l'invite 127.0.0.1:6379>.

  2. Authentifiez-vous avec la commande AUTH :

    Utilisez la commande AUTH suivie du mot de passe que vous avez défini précédemment :

    AUTH mysecretpassword

    Si l'authentification réussit, vous verrez :

    OK
  3. Exécutez une commande après l'authentification :

    Maintenant que vous êtes authentifié, essayez à nouveau la commande PING :

    PING

    Vous devriez recevoir la réponse attendue :

    PONG
  4. Quittez redis-cli :

    Quittez redis-cli en tapant exit ou en appuyant sur Ctrl+D.

    exit

Désactiver les commandes avec CONFIG SET

Redis propose de nombreuses commandes, mais certaines peuvent être risquées dans certains environnements. Désactiver ces commandes peut améliorer la sécurité. Nous allons utiliser CONFIG SET disable-command pour désactiver la commande FLUSHALL comme exemple. FLUSHALL supprime toutes les données dans toutes les bases de données, donc la désactiver peut prévenir les pertes de données accidentelles.

  1. Connectez-vous au serveur Redis en utilisant redis-cli :

    Ouvrez un terminal dans la VM LabEx. Le répertoire par défaut est ~/project. Exécutez la commande suivante :

    redis-cli

    Vous devriez voir l'invite 127.0.0.1:6379>.

  2. Authentifiez-vous avec la commande AUTH :

    Authentifiez-vous en utilisant la commande AUTH suivie de votre mot de passe :

    AUTH mysecretpassword

    Vous devriez voir la sortie OK en cas d'authentification réussie.

  3. Désactivez la commande FLUSHALL en utilisant CONFIG SET disable-command :

    CONFIG SET disable-command FLUSHALL

    Vous devriez voir :

    OK

    Cela confirme que la commande a été désactivée.

  4. Essayez d'exécuter la commande FLUSHALL :

    FLUSHALL

    Vous devriez maintenant recevoir un message d'erreur :

    (error) ERR unknown command 'FLUSHALL', just try HELP

    Cela indique que la commande FLUSHALL n'est plus disponible.

  5. Quittez redis-cli :

    Quittez redis-cli en tapant exit ou en appuyant sur Ctrl+D.

    exit

Résumé

Dans ce labo, vous avez appris à améliorer la sécurité de Redis. Vous avez défini un mot de passe en utilisant CONFIG SET requirepass pour empêcher tout accès non autorisé. Vous avez également appris à vous authentifier en utilisant la commande AUTH et à désactiver des commandes spécifiques comme FLUSHALL en utilisant CONFIG SET disable-command pour restreindre les opérations potentiellement dangereuses. Ces étapes sont essentielles pour sécuriser votre serveur Redis.