Comment installer, configurer et sécuriser Redis sur Ubuntu
Redis est une base de données en mémoire utilisée pour stocker temporairement des données sous forme de cache afin de réduire la charge du serveur et d’améliorer les performances de l’application. C’est également un courtier en messages qui facilite le flux de données entre les services.
La configuration de Redis peut s’avérer délicate, car il existe plusieurs commandes et paramètres de configuration. De plus, ce logiciel fournit plusieurs utilitaires qui peuvent être dangereux si vous n’êtes pas prudent.
Pour vous aider à passer ce cap en toute sécurité, cet article vous expliquera comment installer Redis sur Ubuntu. Nous vous expliquerons également comment sécuriser et maintenir correctement ce logiciel afin que vous puissiez l’utiliser en toute sécurité sur votre serveur privé virtuel (VPS).
Sommaire
Conditions préalables à l’installation de Redis
Avant d’installer Redis, assurez-vous que vous disposez d’un VPS fonctionnant sous Ubuntu, car les étapes diffèrent pour les autres systèmes d’exploitation Linux. Nous recommandons également d’utiliser Ubuntu 22.04 ou une version plus récente, car les anciennes versions peuvent utiliser des commandes différentes.
Votre VPS doit répondre aux exigences du système Redis afin de garantir des performances optimales. De plus, votre ordinateur local doit avoir le client PuTTY secure shell (SSH) installé car nous l’utiliserons pour nous connecter au serveur. Les utilisateurs de Linux et de MacOS peuvent également utiliser Terminal.
Si vous n’avez pas encore acheté de plan, nous vous recommandons d’envisager l’hébergement VPS d’Hostinger. Les utilisateurs peuvent se connecter à nos serveurs via SSH ou via le terminal de navigateur intégré pour simplifier le processus d’installation.
En outre, nos plans disposent de différentes allocations de ressources matérielles pour répondre à des besoins variés. Vous pouvez facilement passer à tout moment à KVM 8, qui offre 8 cœurs vCPU puissants et 32 Go de RAM.
Comment installer Redis sur un VPS Ubuntu
Après avoir découvert les prérequis, plongeons dans les étapes de l’installation de Redis sur un VPS Ubuntu. Avant de continuer, connectez-vous à votre serveur en utilisant un client SSH comme PuTTY ou le terminal de navigateur d’Hostinger.
Important ! Sauvegardez les données de votre VPS avant de continuer pour simplifier la restauration des fichiers en cas d’erreurs ou de mauvaises configurations.
1. Installer le serveur Redis
Étant donné que la connexion SSH utilise par défaut le compte root, créez et basculez vers un nouveau superutilisateur avant d’installer Redis. Comme ce compte demande une confirmation avant d’exécuter des utilitaires, cela permettra de minimiser le risque d’exécution accidentelle de commandes qui pourraient causer des problèmes.
Pour créer un nouvel utilisateur dans votre système Ubuntu, exécutez la commande suivante. Remplacez votre-nom-d-utilisateur par le nom de votre compte :
adduser votre-nom-d-utilisateur
Saisissez le mot de passe de l’utilisateur et d’autres informations. Maintenant, accordez au compte les privilèges sudo pour qu’il puisse exécuter des commandes administratives :
usermod -a -G sudo votre-nom-d-utilisateur
Ensuite, passez au nouvel utilisateur en entrant ce qui suit :
su votre-nom-d-utilisateur
Saisissez cd pour revenir au répertoire d’origine. Commençons maintenant l’installation de Redis en mettant à jour votre référentiel système pour vous assurer de recevoir la dernière version du logiciel :
sudo apt update
Une fois la mise à jour terminée, exécutez la commande suivante pour installer Redis. Appuyez sur Y et Entrée si l’interface de ligne de commande (CLI) demande une confirmation :
sudo apt install redis
Notez qu’il existe des paquets redis-server et redis dans le dépôt Ubuntu. Les deux installent le même logiciel, vous pouvez donc utiliser l’un ou l’autre et obtenir le même résultat.
Vérifiez la version du client de ligne de commande Redis en entrant ce qui suit pour vous assurer qu’il est configuré correctement :
redis-cli --version
Si le terminal renvoie le numéro de version, la base de données de mise en cache est installée correctement. Interrogez maintenant l’état du service Redis pour vous assurer qu’il fonctionne et qu’il est actif :
sudo systemctl status redis
Si le statut de Redis est disabled ou stopped, exécutez la commande suivante pour le démarrer manuellement :
sudo systemctl start redis
Maintenant, activez le service Redis pour qu’il démarre automatiquement après un redémarrage du système à l’aide de cette commande :
sudo systemctl enable redis
2. Configurer Redis
Redis écoute toutes les connexions par défaut, ce qui peut présenter des risques pour la sécurité du réseau. Pour garantir un fonctionnement correct et sécurisé, vous devez lier uniquement les adresses IP nécessaires.
Si votre application web et Redis se trouvent sur le même serveur, liez l’adresse de l’hôte local 127.0.0.1. Si vous utilisez un autre système pour héberger l’application, indiquez son IP.
Pour modifier la configuration par défaut, ouvrez le fichier redis.conf à l’aide d’un éditeur de texte comme nano. Voici la commande :
sudo nano /etc/redis/redis.conf
Localisez la ligne contenant bind 127.0.0.1 ::1. Vous pouvez effectuer une recherche rapide dans le contenu du fichier en appuyant sur Ctrl + W et en saisissant la phrase recherchée.
Modifiez la configuration du réseau en fonction de vos besoins. Si Redis doit se connecter à plusieurs interfaces, listez leurs adresses IP en les séparant par des espaces comme suit :
bind 127.0.0.1 185.185.185.185 185.185.185.186
Assurez-vous d’avoir supprimé le symbole de hachage (#) au début de la ligne. Sinon, la configuration ne s’appliquera pas et Redis restera à l’écoute de toutes les IP.
Important ! Ne supprimez pas l’adresse localhost dans les paramètres de liaison car elle est essentielle pour les tests.
En plus d’optimiser la sécurité du réseau, protégez le client Redis en mettant en place une authentification par mot de passe. Pour ce faire, recherchez la directive requirepass dans la section SECURITY du fichier redis.conf.
Supprimez le symbole de hachage pour activer la directive et remplacez la valeur par défaut par une phrase d’authentification forte, comme suit :
requirepass votre-motdepasse
Une fois que vous avez terminé, appuyez sur Ctrl + X, Y et Entrée pour enregistrer les paramètres. Redémarrez ensuite le service Redis pour appliquer les nouvelles modifications à l’aide de cette commande :
sudo systemctl restart redis
3. Vérifier la fonctionnalité de Redis
Après avoir configuré Redis, vérifiez la connexion à la base de données pour vous assurer qu’elle fonctionne correctement en fonction de vos paramètres. Pour ce faire, entrez dans le CLl de Redis en utilisant ce qui suit :
redis-cli
Maintenant, vérifions si l’authentification par mot de passe fonctionne en utilisant la commande auth. Remplacez votre-mot-de-passe-sécurisé par la valeur réelle spécifiée dans le fichier de configuration Redis :
auth votre-mot-de-passe-sécurisé
Redis CLI devrait renvoyer un message de confirmation OK, ce qui signifie que vous pouvez maintenant exécuter des commandes dans la base de données. Pour commencer, testez la connectivité en envoyant des données à l’aide de la commande ping :
ping
Il devrait renvoyer le message PONG. Sinon, ouvrez le fichier de configuration de Redis et assurez-vous de lier l’adresse de localhost à 127.0.0.1.
Ensuite, vérifiez que la mise en cache Redis fonctionne correctement en envoyant un message de test et en le récupérant. Pour ce faire, entrez les commandes suivantes :
set test "Redis is working"
get test
Redis devrait renvoyer le message spécifié dans la première commande, à savoir “Redis is working”.
Ce test rapide devrait suffire à confirmer que la base de données fonctionne correctement, mais vous pouvez également exécuter d’autres commandes Redis si nécessaire. Après avoir vérifié les fonctionnalités, quittez le shell en entrant ceci :
quit
4. Renommer les commandes dangereuses
Plusieurs commandes Redis permettent de manipuler ou d’effacer définitivement les entrées de votre base de données. Bien que vous puissiez en avoir besoin pour des tâches spécifiques, elles peuvent être dangereuses si des utilisateurs non autorisés accèdent à votre serveur.
Comme il existe de nombreuses commandes potentiellement destructrices, consultez la documentation sur la liste de contrôle d’accès Redis pour en savoir plus. Voici quelques-unes des commandes les plus courantes et leurs fonctions :
- FLUSHALL – supprime toutes les clés et les données de votre instance Redis.
- FLUSHDB – efface les données de la base de données actuelle.
- SHUTDOWN – ferme le serveur Redis sans sauvegarder les données.
- DEL – supprime une ou plusieurs clés de votre base de données actuelle.
- RENAME – renomme une clé dans la base de données sélectionnée.
- SAVE – enregistre un jeu de données sur le serveur tout en bloquant les autres processus en cours.
Pour améliorer la sécurité de Redis, vous pouvez renommer ou désactiver ces commandes en fonction de vos besoins. Commencez par ouvrir le fichier redis.conf à l’aide de nano :
sudo nano /etc/redis/redis.conf
Descendez jusqu’à la section SECURITE et ajoutez les paramètres permettant de renommer les commandes. Vous pouvez utiliser n’importe quel nom, mais nous recommandons des phrases uniques, mémorables et difficiles à deviner.
Par exemple, nous allons renommer la commande FLUSHALL en IWANTTO_FLUSHALL et changer SHUTDOWN en SHUTDOWN_MYDB en insérant les lignes suivantes :
rename-command FLUSHALL IWANTTO_FLUSHALL
rename-command SHUTDOWN SHUTDOWN_MYDB
Ajoutez d’autres lignes avec la même syntaxe pour modifier d’autres commandes. Pour les désactiver, il suffit d’utiliser des guillemets vides comme nouveau nom. Par exemple, ce paramètre désactivera FLUSHALL :
rename-command FLUSHALL ""
Enregistrez le fichier et redémarrez Redis pour appliquer les modifications. Maintenant, vérifions si vous avez bien renommé ou désactivé les commandes en les exécutant.
Avertissement ! L'effacement des cookies vous déconnectera des sites web précédemment visités. Nous vous recommandons donc de sauvegarder vos informations de connexion avant de suivre cette méthode.
.Pour commencer, lancez redis-cli pour accéder à l’interpréteur de commandes de la base de données. Ensuite, entrez les commandes renommées en utilisant leur nom d’origine. Par exemple, nous allons vérifier FLUSHALL :
FLUSHALL
Si le renommage est réussi, Redis renvoie un message d’erreur indiquant que la commande est inconnue, comme suit :
Exécutez maintenant la commande en utilisant son nouveau nom. Redis devrait retourner un message ou une chaîne vide, en fonction de la commande que vous avez testée. Par exemple, FLUSHALL ne renvoie aucun message après son exécution.
5. Maintenance de Redis
Après avoir installé Redis, il faut le maintenir pour garantir des performances et une sécurité optimales. Voici quelques pratiques à prendre en compte :
- Sauvegarde régulière – activez la fonction de sauvegarde automatique de votre hébergeur pour créer un point de restauration pour vos données Redis. De plus, créez régulièrement un instantané de votre jeu de données à l’aide de la commande SAVE de Redis.
- Surveillance du serveur – suivez l’utilisation de la mémoire de votre serveur Redis, l’utilisation du CPU, la latence et d’autres mesures de performance pour garantir la réactivité. Vous pouvez utiliser des outils tels que Prometheus ou Grafana.
- Mise à jour périodique – installez immédiatement la nouvelle version de Redis à l’aide de la commande apt update && apt upgrade pour appliquer les dernières corrections de sécurité et de bogues.
- Contrôle de la sécurité – activer l’authentification par mot de passe pour la CLI Redis, appliquer un certificat SSL (secure sockets layer) et configurer des règles de pare-feu pour protéger le port de la base de données.
- Analyse des fichiers journaux – vérifiez périodiquement les journaux d’événements Redis pour repérer rapidement les actions non autorisées ou les modifications susceptibles de compromettre la sécurité du serveur.
En raison de diverses mesures, la maintenance de Redis peut être difficile, en particulier pour les débutants. Si vous avez besoin d’aide pour administrer votre serveur, utilisez Kodee, l’assistant VPS IA d’Hostinger pour simplifier les tâches.
Vous pouvez générer des commandes et des instructions pour la gestion du serveur à l’aide de simples invites. Par exemple, demandez : “Générer un cronjob qui exécute la commande SAVE dans Redis tous les lundis matin pour sauvegarder le dataset”.
Conclusion
La mise en place de Redis sur votre VPS permet de réduire la charge et la latence afin d’améliorer les performances de votre application. Dans cet article, nous avons expliqué les cinq étapes pour installer et configurer cet outil sur un système Ubuntu via SSH :
- Installer Redis à l’aide du gestionnaire de paquets apt.
- Configurer la connexion et l’authentification par mot de passe de Redis.
- Entrer dans le shell Redis et vérifiez la fonctionnalité de ses commandes.
- Renommer ou désactiver les commandes Redis dangereuses.
- Maintenir Redis en appliquant des pratiques telles que des sauvegardes régulières et l’audit des journaux.
Redis étant complexe, nous vous recommandons de lire sa documentation pour plus d’informations sur ses fonctionnalités. En attendant, consultez nos autres tutoriels VPS si vous souhaitez en savoir plus sur la gestion des serveurs.
Comment installer Redis – FAQ
Dans cette section, nous répondrons à plusieurs questions concernant l’installation de Redis sur un système Ubuntu.
À quoi sert Redis ?
Redis est une base de données de cache en mémoire utilisée pour stocker temporairement les données de votre application. Elle réduit la distance de déplacement entre les points d’extrémité afin de réduire la latence, de minimiser la charge du serveur et d’améliorer les performances. C’est également un courtier en messages qui optimise le flux de données entre les services.
Comment installer une version spécifique de Redis ?
Vous pouvez installer une version spécifique de Redis à partir des dépôts officiels d’Ubuntu en exécutant apt install redis-server=. Remplacez l’espace réservé au numéro par la valeur réelle. Vous pouvez également télécharger d’autres versions en ajoutant des dépôts tiers ou le code source de Redis.
Puis-je installer Redis en utilisant un conteneur Docker plutôt que directement sur Ubuntu ?
Absolument ! Vous pouvez installer Redis à l’aide d’un conteneur Docker en extrayant l’image Redis du Docker Hub. Vous pouvez ensuite gérer Redis ou entrer dans son shell depuis l’extérieur du conteneur à l’aide de la commande Docker.