2 votes

RabbitMQ est-il sécurisé pour un accès public par des clients non fiables ?

Je travaille sur un projet dans lequel des clients non fiables (potentiellement des milliers) seront tous en contact avec un serveur central. Le trafic de messages sera faible, et chaque client sera invisible pour les autres (en d'autres termes, ils devraient être incapables de se parler ou d'espionner les canaux des autres).

RabbitMQ semble être une solution idéale. Il servirait d'intermédiaire entre mon application et les clients. Les clients se connecteraient directement à RMQ, chacun avec sa propre file d'attente, et RMQ servirait d'intermédiaire pour les messages entre les clients et mon serveur.

Ma question est donc la suivante : En supposant que je mette tout en place (principalement) correctement (authentification, chaque client est un utilisateur distinct, permissions sur les files d'attente, etc.), RabbitMQ est-il sûr pour ce type d'application publique ? Quelqu'un a-t-il des exemples d'une configuration similaire dans la nature ?

À titre d'exemple, nginx et sshd sont conçus pour être accessibles au public, alors qu'un produit comme MongoDB ne l'est pas du tout. Même si je configure des noms d'utilisateur et des mots de passe individuels sur Mongo et que je définis des autorisations sur des collections individuelles, je serais mal à l'aise de laisser des clients non fiables s'y connecter directement.

1voto

hairyhum Points 11

Les clients malveillants peuvent toujours casser le cluster RabbitMQ (serveur) même si toutes les permissions sont correctement définies. Cela peut se produire lorsque les clients ouvrent un grand nombre de connexions.

Il est recommandé d'utiliser une sorte d'équilibreur de charge (par exemple Haproxy) pour protéger le cluster contre de telles attaques.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X