您的位置:

探究emqx默认密码

一、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。