O RabbitMQ é seguro para acesso público por clientes não confiáveis?

1

Estou trabalhando em um projeto que terá clientes não confiáveis (potencialmente 1000s) em contato com um servidor central. O tráfego de mensagens será baixo e cada cliente ficará invisível um para o outro (em outras palavras, eles deverão ser incapazes de falar uns com os outros ou espionar os canais uns dos outros).

O RabbitMQ parece ser um ótimo ajuste aqui. Serviria como intermediário entre minha inscrição e os clientes. Os clientes se conectariam diretamente ao RMQ, cada um com sua própria fila separada, e o RMQ intermediaria as mensagens entre os clientes e meu servidor.

Então, minha pergunta : Supondo que eu configure tudo (principalmente) corretamente (autenticação, cada cliente é um usuário separado, permissões em filas, etc.), o RabbitMQ é seguro para esse tipo de público? voltado para aplicação? Alguém tem algum exemplo de uma configuração semelhante na natureza?

Como exemplo ilustrativo, o nginx e o sshd são projetados para serem voltados para o público, enquanto algo como o MongoDB realmente não é. Mesmo se eu configurar nomes de usuário e senhas individuais no Mongo e definir permissões em coleções individuais, ficaria incomodado em permitir que clientes não confiáveis se conectassem diretamente a ele.

    
por Micah 30.08.2016 / 23:05

1 resposta

1

Os clientes não autorizados ainda podem quebrar o cluster do RabbitMQ (servidor), mesmo que você tenha definido todas as suas permissões corretamente. Isso pode acontecer quando os clientes abrem muitas conexões.

É recomendado usar algum tipo de balanceador de carga (por exemplo, Haproxy) para proteger o cluster desses ataques.

    
por 20.09.2016 / 11:03

Tags