Sécuriser votre serveur de dictionnaire distant (Redis)

Qu’est-ce que Redis :

Redis (REmote Dictionary Server – serveur de dictionnaire distant) consiste en un serveur de structure de données conçu pour être consulté par des clients de confiance à partir d’un environnement fiable. Il s’agit d’une plateforme ouverte, en réseau et en mémoire qui enregistre les clés et est dotée d’une fonction de durabilité facultative. Pour en savoir davantage, consultez les documents de références mentionnés ci-dessous.

Description de la vulnérabilité :

Il est possible d’accéder aux adresses IP des serveurs vulnérables à l’aide du programme « redis-cli » (fourni avec le serveur Redis) ou de Telnet. Il se pourrait ainsi que des intrus malveillants puissent utiliser la commande « redis-cli -h [adresse IP] », suivie de la commande « info », pour obtenir la version du serveur Redis utilisée sur l’hôte. Cet accès client peut être utilisé pour prendre le contrôle total d’un serveur Redis et de son contenu.

Versions vulnérables :

Toutes les versions de Redis.

Vérification de la vulnérabilité de votre serveur :

Utilisez les commandes suivantes pour recueillir l’information sur votre système au moyen du service Redis :

telnet <IP> 6379


Puis tapez :

"info"

Exemple de sortie :

redis_version:2.8.13
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:d8d8ae7eb8e0f48d
redis_mode:standalone
os:Linux 2.6.32-431.20.3.el6.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.7
process_id:2475
run_id:2c8b3f1249de9e99bf97b1eb364a2299dea77978
tcp_port:6379
uptime_in_seconds:15872691
uptime_in_days:183
hz:10
lru_clock:12415594
config_file:/etc/redis/6379.conf

# Clients
connected_clients:2
client_longest_output_list:0
client_biggest_input_buf:60
blocked_clients:0

# Memory
used_memory:611246152
used_memory_human:582.93M
used_memory_rss:632090624
used_memory_peak:696808976
used_memory_peak_human:664.53M
used_memory_lua:33792
mem_fragmentation_ratio:1.03
mem_allocator:jemalloc-3.6.0

# Persistence
[...]

Solution :

Redis est conçu pour être consulté par des clients de confiance à partir d’environnements fiables. Par conséquent, il n’est habituellement pas recommandé d’exposer l’instance Redis directement à Internet ou, de façon plus générale, à un environnement où des clients qui ne sont pas de confiance peuvent accéder de façon directe au port TCP ou au connecteur réseau UNIX du serveur Redis. Voici quelques suggestions pour atténuer ce risque.

 Différentes options vous sont offertes pour protéger votre serveur ou votre périphérique :

  1. Désactivez le service Redis si vous ne l’utilisez pas. Il s’agit de la solution la plus facile et la plus efficace.
  2. Activez la fonction d’authentification dans le fichier de configuration redis.conf.
  3. Utilisez votre pare-feu pour bloquer les connexions entrantes au service Redis et n’autoriser que les adresses IP et les hôtes de confiance.

Références externes :

Vous avez d’autres questions ? Envoyer une demande

0 Commentaires

Cet article n'accepte pas de commentaires.
Réalisé par Zendesk