关于rabbitmq安全漏洞的问题

在我们的很多个项目中都用到了消息中间件,虽然现在有些已经改用了kafka,但是还有相当一部分依然用的是rabbitmq。
而最近呢,我们收到了一份关于安全漏洞扫描的文档,说我们的rabbitmq存在着一些安全漏洞问题,既然是有问题,自然是需要整改的,但是看完文档以后,发现这种安全漏洞问题似乎并不是很好解决。
文档中指出的问题主要有这样三个:
一、更改密码没有验证旧密码
说的具体点,就是在登录系统后,在更改密码处,未验证原来密码,只需要两次新的密码一致便可以修改密码成功。如图所示:
这里写图片描述

二、用户名枚举
具体来说就是,首页用户登录认证时,连续认证失败后,服务器没有对帐号或IP地址实施锁定等任何措施,也就是说可以无限制的尝试和猜测用户名和密码,如图:
这里写图片描述
三、登录无验证码
这个问题和上边的问题在同一个地方,因此便不再截图,很显然的可以看到登录的时候只需要用户名和密码就够了,也就加大了安全隐患。

主要的问题也就是这么三个,从上边的截图及描述中很容易发现,这三个问题实际上是rabbitmq management的问题,是rabbitmq web ui管理界面的问题。
rabbitmq management算是rabbitmq的一个插件,从某中程度上来说并不是必要的,只是为了方便使用,有一个可视化的界面进行操作和查看自然要比全命令行要方便。
正因为这个东西是rabbitmq自有的插件,所以要解决似乎就不是那么容易了,这就不仅仅需要涉及到rabbitmq的使用,而是更要熟悉rabbitmq本身的构造代码,对于我来说,难度不是一般的大。
因此在网络上是在找不到解决办法,百度和谷歌都没能找到任何一条说这个漏洞的信息后,我只好采取一个不是很想采取,但是目前来说似乎又是唯一能解决这个问题的办法。
那就是关闭这个rabbitmq management,停止使用这个web ui。
好处是这样一来能解决这三个漏洞,当我根本不让你访问这个页面的时候,完全没有这个页面的时候,这个页面的漏洞是否还存在呢?
但是坏处也是显而易见的,这个界面本身的目的就是为了方便,关了之后,很多的操作就只能使用shell命令,也就不是那么简便了。
那么最后就说一说怎么关闭的,实际上也很简单。
我们知道linux中安装rabbitmq要启动这个rabbitmq management是使用的如下命令:

./rabbitmq-plugins enable rabbitmq_management

那么稍微有一些开发经验的大概就能设想到关闭应该是这样了:

./rabbitmq-plugins disable rabbitmq_management

事实上,我就是这么做的,执行这个命令然后重启rabbitmq,经测试,程序连接和shell命令都整成,但是那个web ui界面就不能再访问了。
好了,就是这样,不知其他朋友是否还有更好的解决办法呢?

涂宗勋 CSDN认证博客专家 web安全 系统安全 安全架构
【若想不迷路,记得点关注,动动小手指,点点全是福】

6年java工作经验,现居湖北武汉,有过支付、OA、CA、OAUTH2等工作经验,现从事车联网行业。
爱好分享,个人博客blog.tzxcode.cn,微信tuzongxun,qq1160569243,欢迎来撩。
©️2020 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值