【发布时间】:2015-09-07 07:36:41
【问题描述】:
我在我们正在开发的一个移动应用程序中使用 Rabbit MQ 代理,我对安全方面有点困惑。我们正在使用云托管的 rabbitmq 和托管平台为我们提供了用户名和密码(此后已更改),并且我们使用的是 SSLconnection,因此不太担心 MIM 或窃听。
我担心的是任何知道主机和端口的人都可以连接到rabbitmq,因为我们有移动应用程序,我们将rabbitmq用户名和密码存储在设备上(虽然加密)所以我猜任何人都可以物理访问设备并且以某种方式解密用户名密码可以登录rabbitmq,一旦你登录,你几乎可以在rabbitmq上做任何事情,比如删除队列等。 MQ like Rabbitmq 如何在移动环境中使用。有没有更好/更安全的方式使用rabbitmq。
【问题讨论】:
-
您可以创建具有自定义权限的单独用户(或者只是没有任何管理员权限的只读访问权限)吗?
-
是的,这是可能的,但即便如此,移动应用用户也需要一些权限,例如发布等。我不希望未经授权的用户从我的应用外部连接并开始发布。
-
在其他情况下如何解决此问题,例如在没有 RabbitMQ 或任何其他 MQ 的解决方案中?
-
说如果我有我的自定义客户端服务器使用 TCP 套接字编写,即使你有一些如何连接到服务器你将无法做任何事情,因为你不知道协议,对于 mq 协议是开放的,因此任何人都可以连接和运行命令,只要他们能够获得用户名/密码
-
我的意思是有人反编译你的应用程序,他甚至可以建立 SSL 连接并调查任何自定义协议。 SSL 只是 MiM 保护。为了确保可执行文件的安全,还有其他技术(或多或少有效)。而此时问题与 RabbitMQ 安全模型无关。