2

我们正在使用 RabbitMQ,我们将通过 Internet 公开服务器。我们将有来自多台计算机的多个客户端访问服务器。我们的第一反应是启用 SSL,但从文档来看这似乎很痛苦,特别是对于 Windows 和 .NET。

我们可以手动加密我们的消息,确保重要信息无法被嗅探,但我们更关心的是认证和授权。

RabbitMQ 的默认登录架构是否安全,或者我们真的需要启用 SSL 以实现 100% 安全登录和授权?当客户端远程登录 RabbitMQ 时,有人可以嗅探虚拟主机/用户名/密码吗?

谢谢,

4

2 回答 2

3

根据RabbitMQ 文档,SASL 用于身份验证。 SASL 是一种可扩展的身份验证和数据安全机制,因此这可能是安全的,但 RabbitMQ 发行版提供的三种机制似乎都不安全(没有 TLS)。您可以编写自己的安全 SASL 插件,或者按照您的说明使用 TLS/SSL 加密传输层。

于 2013-05-23T17:02:03.507 回答
0

对原始问题的简短回答是否定的,如果不配置 TLS,RabbitMQ 将不安全(它并不像 OP 认为的那样痛苦)。

SASL 将为您提供安全的(取决于机制)登录,但您登录是为了做某事(不是为了登录的乐趣而登录:) - 如果没有像 TLS 这样的机制,某些事情将不安全。

正如RFC 4422所述,SASL 是一种协议,它可以通过其机制安装安全层,作为成功认证的结果。不幸的是,大多数定义的 SASL 机制都没有提供安全层。因此,正如上面 Hashimoto-san 建议的那样,强烈建议使用 TLS 作为 RabbitMQ 的安全层。

于 2014-12-25T01:31:39.273 回答