Open Julien00859 opened 3 years ago
Pour limiter les abus il faudrait toutes les protections suivantes:
flushall
tous les joursJe suis sur Windows et Redis fonctionne très bien avec WSL.
Je suis dans le même cas que toi. Mais je doute fortement qu'une personne n'ayant pas Redis (et donc WSL) sur sa machine ait envie d'installer WSL, puis Redis, juste pour contribuer.
Il est possible, gratuitement, et très facilement/rapidement, d’héberger une instance Redis de test.
Les deux solutions marchent parfaitement, et personnellement je préfère la première.
Cela requiert juste d'ajouter une option REDIS_PASSWORD
dans la configuration.
Un exemple de mon .env
(fonctionnel) :
RTDBIN_MAXSIZE=500kiB
REDIS_HOST=redis-XXXXX.c258.us-east-1-4.ec2.cloud.redislabs.com
REDIS_PORT=16265
REDIS_PASSWORD=UG8W4N....................JeWcfAbV
Up, le serveur tourne maintenant avec bulleyes et on a donc redis v6. L'approche que je conseillerais serait de s'informer comment utiliser ces ACL pour sécuriser le serveur redis par un combo user/pwd ou bien un token d'accès. Il faudra surement changer la config et le code de bin pour permettre à bin de s'authentifier.
Nous avons eu des retours comme quoi certaines personnes voudraient bien contribuer au développement de bin mais qu'ils étaient ralenti par la nécessité d'héberger un serveur redis de leur côté pour les tests. C'est notamment un problème pour les développeurs sous Windows puisque redis ne propose aucun binaire pour ce système.
Que pensez-vous d'héberger une instance redis pour la communauté des développeurs. Redis propose des ACL uniquement depuis la version 6, hors le service est hébergé du une machine debian stable où le package est encore en version 5 (mais bonne nouvelle, debian 11 "Bullseyes" devrait passer en stable d'ici la fin de l'année). Le seul méchanisme de protection que je peux proposer est la configuration via un mot de passe unique qui serait partagé par toute la communauté, rendant très difficile le fait de cloturer un compte sans devoir changer le mot de passe et devoir le re-communiquer à tout le monde.
Une autre considération à avoir est que redis ne se veut pas être un système multi-tenant, à comprendre que la "database" auquel le développeur se connecte est en réalité juste un namespace au sain d'une même db redis, il n'y a aucune isolation entre les "database" (cf: https://github.com/redis/redis/issues/8099#issuecomment-741868975).