Présentation
Redis est un magasin de données en mémoire open source. Il est utilisé comme une base de données clé-valeur flexible et hautement disponible qui maintient un haut niveau de performances.
Outre ses performances et sa flexibilité, Redis se distingue par sa large prise en charge linguistique, sa haute disponibilité et son partitionnement automatique.
Dans ce didacticiel, découvrez comment installer Redis sur Ubuntu 20.04 / 18.04.
Prérequis
- Un système exécutant Ubuntu 20.04 (ou Ubuntu 18.04)
- Accès à une fenêtre de terminal/ligne de commande
- Sudo ou racine privilèges sur les machines locales/distantes
Installer et sécuriser Redis sur Ubuntu
Les étapes suivantes expliquent comment installer Redis sur Ubuntu 20.04. Vous pouvez également utiliser ce guide sur Ubuntu 18.04.
Outre l'installation et la configuration de la configuration de base, le guide explique comment ajouter une authentification par mot de passe, lier Redis à localhost et renommer les commandes dangereuses.
Étape 1 :Installer Redis
Suivez les étapes décrites ci-dessous pour installer et configurer Redis sur votre système Ubuntu.
1. Commencez par mettre à jour le référentiel de packages :
sudo apt update
2. Ensuite, installez Redis avec la commande :
sudo apt install redis-server
Étape 2 :Configurer Redis
1. Une fois l'installation terminée, modifiez le fichier de configuration Redis. Pour cela, ouvrez le fichier avec un éditeur de texte de votre choix (nous utilisons nano) :
sudo nano /etc/redis/redis.conf
2. Ensuite, recherchez la ligne spécifiant le supervised
directif. Par défaut, cette ligne est définie sur no
. Cependant, pour gérer Redis en tant que service, définissez la directive supervisée sur systemd
(Système d'initialisation d'Ubuntu).
3. Enregistrez les modifications et fermez le fichier.
4. Enfin, redémarrez le service Redis en exécutant :
sudo systemctl restart redis.service
Étape 3 :Vérifier l'installation de Redis
Pour vous assurer que vous avez correctement configuré Redis, testez si le service est en cours d'exécution. Testez également la connexion au serveur et déterminez si vous pouvez définir une paire clé-valeur.
Étape 3.1 :Vérifier l'état du service Redis
Vérifiez l'état du service Redis en exécutant la commande :
sudo systemctl status redis
La sortie doit indiquer que le service est actif (et en cours d'exécution) , comme dans l'image ci-dessous.
Étape 3.2 :Vérifier la connexion Redis
Vous devez également vérifier la connexion avec le serveur Redis à l'aide de redis-cli outil. Pour vous connecter à ce client en ligne de commande, saisissez ce qui suit dans la fenêtre du terminal :
redis-cli
Cela vous amène au redis-cli invite de commande. Pour tester la connectivité, exécutez :
ping
La sortie doit répondre par :
PONG
Étape 3.3 :Tester la configuration des paires clé-valeur
Étant donné que Redis est une base de données NoSQL clé-valeur en mémoire, vous pouvez également tester s'il récupère les valeurs attribuées en fonction de la clé spécifiée.
Tout d'abord, définissez une clé à l'aide de la commande set. Dans cet exemple, la clé est étiquetée comme key1
et doit avoir la valeur "You have successfully set up a key-value pair!"
.
Pour cela, lancez la commande :
set key1 "You have successfully set up a key-value pair!"
2. Une fois que vous avez appuyé sur Entrée , l'invite répond par OK .
3. Maintenant, vérifiez si vous avez correctement attribué la valeur donnée à la clé avec le get
commande :
get key1
4. La sortie doit répondre avec le message que vous avez joint comme valeur à la première étape.
5. Pour quitter le shell Redis, exécutez :
quit
Étape 4 :Sécurisez Redis
Étape 4.1 :Configurer l'authentification Redis
Redis inclut une fonction d'authentification en tant que couche de sécurité supplémentaire. La fonctionnalité n'est pas activée par défaut. Par conséquent, vous devez modifier le fichier de configuration pour l'activer.
1. Pour commencer, ouvrez le fichier de configuration Redis pour le modifier :
sudo nano /etc/redis/redis.conf
2. Ensuite, localisez le requirepass
directive dans le cadre de la SÉCURITÉ section et décommentez-la (en supprimant #
).
3. Une fois que vous avez décommenté la ligne, remplacez foobared
avec le mot de passe de votre choix.
4. Enregistrez et fermez le fichier.
5. Redémarrez le service Redis :
sudo systemctl restart redis.service
Une fois que vous avez configuré Redis pour exiger l'authentification, il refusera toute requête jusqu'à ce que vous fournissiez le mot de passe requis.
Par exemple, si vous passez au redis-cli invite de commande et essayez d'exécuter le test ping, la sortie affiche le message :(error) NOAUTH Authentication required.
La seule façon de commencer à travailler dans Redis dans un tel cas est de fournir le mot de passe défini dans le fichier de configuration.
Utilisez la commande :
auth [your_password]
Si la sortie répond par OK
vous êtes prêt à partir.
Étape 4.2 :Liez Redis à Localhost
Si vous avez installé le logiciel en suivant les étapes décrites ci-dessus, Redis ne devrait être accessible qu'à partir de localhost. Limiter l'accès de cette manière est une question de sécurité du réseau.
Cependant, vous avez peut-être modifié les paramètres par défaut et souhaitez maintenant restreindre les connexions à localhost.
Pour ce faire, ouvrez le fichier de configuration Redis pour le modifier :
sudo nano /etc/redis/redis.conf
Faites défiler vers le bas et trouvez le RÉSEAU section dans le dossier. Ensuite, décommentez le bind 127.0.0.1 ::1
ligne (en supprimant #
), comme dans l'image ci-dessous.
Une fois que vous avez enregistré et quitté le fichier, assurez-vous de redémarrer le service avec :
sudo systemctl restart redis
Avec cela, vous avez réussi à lier Redis à localhost, limitant l'accès à d'autres connexions.
Étape 4.3 :Renommer ou supprimer les commandes dangereuses
Une autre façon de protéger vos données consiste à désactiver des commandes spécifiques ou à les renommer, afin qu'elles soient impossibles à deviner. Il s'agit d'une fonction de sécurité utile qui peut empêcher les utilisateurs normaux d'utiliser des commandes susceptibles d'endommager le système.
Pour désactiver ou renommer ces commandes, ouvrez le fichier de configuration Redis :
sudo nano /etc/redis/redis.conf
Localisez la SÉCURITÉ section et faites défiler jusqu'à #Command renaming
doubler. Vous y trouverez des exemples sur la façon de renommer ou de supprimer des commandes.
Par exemple, pour renommer le CONFIG
commande, ajoutez la ligne :
rename-command CONFIG [new_command_name]
Dans cet exemple, la config
la commande est renommée sys_admin_config_836
(quelque chose qu'un utilisateur normal ne pourrait pas deviner).
Pour supprimer certaines commandes, vous pouvez les désactiver (tuer). Pour cela, renommez la commande dangereuse en une chaîne vide.
Par conséquent, si vous souhaitez désactiver la config
commande, ajoutez la ligne :
rename-command CONFIG ""
Après avoir apporté ces modifications, assurez-vous de les enregistrer et de redémarrer le service Redis.