【问题标题】:Restrict access to RabbitMQ via IP限制通过 IP 访问 RabbitMQ
【发布时间】:2017-05-08 02:56:21
【问题描述】:

我通过 docker 镜像在一台机器上安装了 rabbit mq,包括管理和 rabbitmq_auth_backend_ip_range 插件。我想限制对端口 5671/2 和 15672 的访问,只允许某些 IP 访问它们。

由于 15672 是 Web 界面,我目前还没有解决方案。有什么想法吗?

对于 5671/2(哪个是安全的?)我想使用插件 rabbitmq_auth_backend_ip_range,因为据我了解,这就是它的目的。

我当前的rabbitmq.config 看起来像这样:

[
    {rabbit, [
        {auth_backends, [{rabbit_auth_backend_ip_range}]}
    ]},
    {rabbitmq_auth_backend_ip_range, [
        {tag_masks,
            [{'administrator', [<<"::FFFF:192.168.0.0/112">>]}]
        }
    ]}
].

根据documentation,它只允许标记为administrator 的帐户访问。但是如果我做一个 telnet 没有任何改变:

telnet ip-address 5672

我可以访问它。您如何通过 telnet 传递凭据? rabbit mq是如何限制ip的?

【问题讨论】:

    标签: rabbitmq port telnet ip-restrictions


    【解决方案1】:

    Rabbitmq-auth-backend-ip-range link 是基于源 IP 地址的客户端授权社区插件。通过这个社区插件,我们可以根据 IP 地址限制对客户端的访问

    在 rabbitmq 3.6.X 版本中配置插件的步骤

    [
    {rabbit, [
        {tcp_listeners, [5672]},
        {auth_backends, [
            {rabbit_auth_backend_internal,
            [rabbit_auth_backend_internal, rabbit_auth_backend_ip_range]
            }
        ]
        }
    ]},
    {rabbitmq_auth_backend_ip_range, [
        {tag_masks,
            [{'customtag', [<<"::FFFF:172.xx.xx.xxx">>]}]},
        {default_masks, [<<"::0/0">>]}
    ]}
    ].
    
    • 此配置将以这样的方式生效,标签为customtag的用户将能够连接到IP地址为172.xx.xx.xxx的rabbitmq服务器,并且所有其他标签都可以从任何IP地址访问
    • sudo service rabbitmq-server 重启

    PS:由于网上没有配置rabbitmq_auth_backend_ip_range插件的有效链接,所以我用配置步骤回答了这个问题

    【讨论】:

      【解决方案2】:

      rabbitmq-auth-backend-ip-range 仅提供身份验证机制来登录/与 rabbitmq 服务器对话。这并不意味着您的 5672 端口未打开。 您仍然可以在 5672 上远程登录,但是如果某些管理员用户尝试特别连接到 RabbitMQ 服务器,那么它应该与给定的 IP 地址匹配,否则身份验证失败将返回

      对于 RabbitMQ 管理,您可以像这样定义 IP 地址:

      {rabbitmq_management, [
              {listener, [{port, 15672}, {ip, "127.0.0.1"}]}
          ]}
      

      【讨论】:

      • 如何通过 telnet 认证为管理员?
      • 在 telnet 到 5672 时你能得到任何输出吗?我不认为简单的 > 会给你任何回应。提供身份验证详细信息应该需要适当的握手..
      • 好的,也许我当时尝试了访客帐户。
      猜你喜欢
      • 2018-02-18
      • 2015-11-30
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 2011-05-13
      • 1970-01-01
      相关资源
      最近更新 更多