但这还不行,在一些漏洞扫描中发现emqx的管理后台会直接Password Error密码错误。当然用户不存在的时候会提示Username Not Found,但登录账号默认为admin太容易猜到了。于是第三方漏洞扫描就会报直接提示“密码错误”这是一个漏洞。那怎么办?本文地址:http://www.04007.cn/article/1154.html,未经许可,不得转载.
1.可以修改密码错误时的提示,不要提示密码错误,提示用户名或密码错误。本文地址:http://www.04007.cn/article/1154.html,未经许可,不得转载.
因为EMQX是一个已经完整封装好的程序,我在整个程序目录中查找相关关键词,如Password Error,Username Not Found,密码之类。在一些JS文件(如./lib/emqx_dashboard-4.3.1/priv/www/static/js/app.***js)中找到一些相关的内容,比如如下error:"用户名或密码错误",usernameRequired:"请填写用户名",passwordRequired:"请填写密码"。error:"Username Or Password Error",usernameRequired:"Username Required"
但这些内容都和直接提示的Password Error无直接关系,只看到一个Username Or Password Error提示,看来密码错误是相关程序拼接出来的报错内容,而查找Error又发现能匹配出来的内容太多太多,无法下手。于是我便放弃了这个方法。本文地址:http://www.04007.cn/article/1154.html,未经许可,不得转载.
2.退而求其次删掉admin账号,使用一些复杂的管理员名称账号。本文地址:http://www.04007.cn/article/1154.html,未经许可,不得转载.
我一开始的思路是通过配置文件去修改admin账号,包括对emqx_auth_mnesia.conf配置文件、emqx_dashboard.conf配置文件进行处理,stop再重启,但不管怎么操作admin账号依然能登录,感觉admin账号就是不能删除。配置文件目录中存在和admin相关的账号如下:./plugins/emqx_auth_mnesia.conf:##auth.user.1.username = admin
./plugins/emqx_dashboard.conf:dashboard.default_user.login = admin
./plugins/emqx_management.conf:management.default_application.id = admin
最后,我想试试我原来使用的admins命令,我原来用过admins管理重置过admin的账号,但我没有用这个命令来删除过账号,特别是删除admin账号,我之前一直预期它会提示我不能删除admin超级管理员账号,然而当我使用emqx删除时竟然成功了。
#删除admin账号的命令,进入emqx目录
#./bin/emqx_ctl admins del admin
emqx_ctl admins的可操作命令如下:
admins add <Username> <Password> <Tags> 创建 admin 账号
admins passwd <Username> <Password> 重置 admin 密码
admins del <Username> 删除 admin 账号
本文地址:http://www.04007.cn/article/1154.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |