一、emqx默认密码概述
EMQ X是一款开源的分布式MQTT消息服务器,支持EBR/EMS协议接入,是当前MQTT Broker实现中性能最强的。默认的用户名为admin,密码为public,这是在初始化安装时就生成的。
emqx默认密码的安全性备受争议,因为管理员可以使用这些默认值访问EMQ X Broker管理仪表板,尤其是在公共云上安装时。改变默认值或禁用管理员帐户可以增加更多的安全性。
# 默认的用户名为admin,密码为public mqtt.auth.anonymous = false mqtt.auth.allow_multiple_sessions = false mqtt.auth.jwt.enable = false ## SimpleAuthenticator ## emqx_dashboard.auth.username = admin ## emqx_dashboard.auth.password = public emqx_dashboard.auth = on
二、为什么emqx默认密码不够安全?
在安装EMQ X时,生成的默认用户名和密码是固定的,所有人都可以访问和管理容器内的EMQ X Broker,而不需要任何身份验证过程。这对于未授权的用户来说是一种巨大的安全威胁。
更改EMQ X默认密码的原因是为了防止不明身份的用户未授权访问您的EMQ X Broker管理控制台。
所以,emqx默认密码不安全,必须按照组织的实际情况修改密码,并限制用户访问权限。调整密码和访问权限有助于保护您的EMQ X Broker不受恶意攻击。
三、如何安全地修改emqx默认密码?
3.1 使用emqx_dashboard
emqx_dashboard是一个Web界面,用于管理和监视EMQ X Broker。您可以使用emqx_dashboard更改默认的帐户名和密码等。
# 登录emqx_dashboard http://{your_emqx_domain}:18083 # 在emqx_dashboard中更改默认密码和用户名 # 更改前 emqx_dashboard.auth.username = admin emqx_dashboard.auth.password = public # 更改后 emqx_dashboard.auth.username = yourusername emqx_dashboard.auth.password = yournewpassword
3.2 使用emqx.config文件
emqx.config是EMQX的主配置文件。您可以通过进行以下更改来更改默认认证方法。
## 更改 SimpleAuthenticator ## emqx_dashboard.auth.username = admin ## emqx_dashboard.auth.password = public emqx_dashboard.auth = on mqtt.auth.anonymous = false mqtt.auth.allow_multiple_sessions = false mqtt.auth.jwt.enable = false mqtt.auth.user.1.username = yourusername mqtt.auth.user.1.password = yournewpassword mqtt.auth.user.1.acl.1 = allow all
3.3 使用emqctl命令行工具
emqctl可以在EMQ X Broker上进行管理操作。您可以使用emqctl更改默认的用户名和密码。
# 更改前 $ emqctl admins Admin: username: admin # 更改后 $ emqctl admins | sed -e "s/admin/yourusername/" | xargs -i{} emqctl passwd {}
四、结语
emqx默认密码在任何情况下都不安全,必须更改成一个安全的密码。为了防止未授权的用户访问您的EMQ X Broker管理控制台,更改默认密码和访问权限非常重要。
在生产环境中,我建议您采取所有必要的安全措施来确保您的EMQ X Broker是安全的。您可以采用一些额外的措施,如各种认证和授权方法,以确保未授权的人员无法访问您的EMQ X Broker。