关于rabbitmq安全漏洞的问题
2017-02-17 09:48
176 查看
在我们的很多个项目中都用到了消息中间件,虽然现在有些已经改用了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,经测试,程序连接和shell命令都整成,但是那个web ui界面就不能再访问了。
好了,就是这样,不知其他朋友是否还有更好的解决办法呢?
而最近呢,我们收到了一份关于安全漏洞扫描的文档,说我们的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界面就不能再访问了。
好了,就是这样,不知其他朋友是否还有更好的解决办法呢?
相关文章推荐
- 关于apk提交谷歌返回OpenSSL、libpng安全漏洞问题的解决方案
- 关于html的a标签的target="__blank "的安全漏洞问题
- 学习心得:关于C#中Queue的线程安全问题
- 关于信息安全和安全漏洞的一些科普――从支付宝控件漏洞谈起
- 关于安全网站总是弹出安全警报问题
- 关于SQL SERVER的一些安全问题(转)
- 关于flex的安全沙箱问题
- 关于Oblog 2.52 help.asp漏洞的修补问题
- 一组关于手持移动设备使用安全问题的统计数据
- 关于利用Tocmat安全域实现安全认证的问题
- 关于SQL的安全问题(ftp.exe、cmd.exe的解决方法)
- 求助!关于网络安全的问题!急!!!
- 关于安全的ActiveX控件的编写,纠正大家一点错误,包括MSDN上也有问题
- 关于信息安全和安全漏洞的一些科普——从支付宝控件漏洞谈起
- 关于安全的ActiveX控件的编写,纠正大家一点错误,包括MSDN上也有问题
- 关于上传漏洞的解决问题 [转]
- 关于数据库连接串的安全问题
- 关于installshieldX的做web安装包发布时候目录安全配置问题
- 关于安全网站总是弹出安全警报问题(续)