我们正在使用RabbitMQ,我们将通过互联网公开服务器。我们将有来自多台计算机的多个客户端访问服务器。我们的第一直觉是启用SSL,但这似乎是文档中的许多痛苦,特别是Windows和.NET。
我们可以手动加密我们的邮件,并确保不会嗅到重要信息,但我们更关注身份验证和授权。
RabbitMQ的默认登录架构是安全的还是我们真的需要为100%安全登录和授权启用SSL?当客户端远程登录到RabbitMQ时,有人会嗅探vhost /用户名/密码吗?
谢谢,
答案 0 :(得分:3)
根据RabbitMQ docs,SASL用于身份验证。 SASL is an extensible mechanism for authentication and data security,因此可能是安全的,但RabbitMQ发行版提供的三种机制中没有一种看起来是安全的(没有TLS)。您可以编写自己的安全SASL插件,或者在注意时使用TLS / SSL加密传输层。
答案 1 :(得分:0)
对原始问题的简短回答是否定的,如果没有配置TLS,RabbitMQ就不会安全(它不像OP似乎那么痛苦)。
SASL将为您提供安全(取决于机制)登录,但您登录时执行某事(不登录以获取登录的乐趣) :) - 如果没有像TLS这样的机制,某些东西将无法安全。
正如RFC 4422所述,SASL是一种协议,可以通过其机制安装安全层,作为成功身份验证的结果。不幸的是,定义的大多数SASL机制都没有提供安全层。因此,正如Hashimoto-san建议的那样,强烈建议使用TLS作为RabbitMQ的安全层。