Защита сообщений RabbitMQ - PullRequest
       58

Защита сообщений RabbitMQ

1 голос
/ 04 августа 2020

Я ищу здесь совета. Я создал решение с несколькими арендаторами, используя RabbitMQ в C#. Он состоит из облачного решения, которое отправляет сообщения в клиентские приложения через RabbitMQ. Маршрутизация для RabbitMQ настраивается с использованием ключа маршрутизации, например: myapp.messagestream.<customercode>

Все клиенты подключаются к RabbitMQ, используя одно и то же имя пользователя и пароль . Хотя код клиента запутан, получить имя пользователя и пароль по-прежнему относительно просто. Теоретически при этом можно «угадать» любой другой идентификатор клиента и получить поток. Очевидно, это не то, что мы хотим.

Я хотел бы решить эту проблему, чтобы зашифровать все сообщения с использованием ключа шифрования для каждого клиента. Таким образом, даже если у вас есть имя пользователя и пароль для RabbitMQ и вы угадали правильный идентификатор клиента, вы все равно не увидите никакой полезной информации.

Может ли кто-нибудь поделиться своим мнением по вышеизложенному? Кажется, это хорошая идея? или я совсем сошла с ума?

Заранее спасибо.

1 Ответ

0 голосов
/ 04 августа 2020

Даже если сообщение зашифровано, оно будет использовано и удалено из очереди. Я думаю, это не то, что вы хотите разрешить.

Рассмотрите возможность создания разных пользователей и разрешения им читать только из их собственных очередей через авторизацию . Вы можете подключить его к LDAP.

РЕДАКТИРОВАТЬ: Скрытие сообщений в пути всегда является хорошей идеей, но этого можно достичь с помощью SSL / TLS, нет необходимости добавлять еще один слой поверх этого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...