0


EMQX开源版4.3.5安装及相关安全漏洞处理

#安全漏洞#

一、下载安装包

emqx-4.3.5下载

二、安装

1.root目录下新增emqx目录

2.复制安装包至/root/emqx目录下

3.切换目录

4.安装

sudo yum install emqx-cenots7-v4.0.0.x86_64.rpm

后台启动 EMQX

$ emqx start
EMQX v4.0.0 is started successfully!

systemctl 启动

$ sudo systemctl start emqx
EMQX v4.0.0 is started successfully!

service启动

$ sudo service emqx start
EMQX v4.0.0 is started successfully!

三、启用 Dashboard(容易被攻击,上线后建议关闭)

EMQX Dashboard 功能由 emqx-dashboard (opens new window)插件实现,该插件默认处于启用状态,它将在 EMQX 启动时自动加载。如果你希望禁用 Dashboard 功能,你可以将

data/loaded_plugins

(请参见 插件)中的

{emqx_dashboard, true}

修改为

{emqx_dashboard, false}

{emqx_dashboard, true}.

四、查看 Dashboard

EMQX Dashboard 是一个 Web 应用程序,你可以直接通过浏览器来访问它,无需安装任何其他软件。

当 EMQX 成功运行在你的本地计算机上且 EMQX Dashboard 被默认启用时,你可以访问 http://localhost:18083 来查看你的 Dashboard,默认用户名是

admin

,密码是

public

五、开启MySQL 认证

要启用 MySQL 认证,需要在

etc/plugins/emqx_auth_mysql.conf

中配置以下内容(如果找不到文件则是

etc/emqx/plugins/emqx_auth_mysql.conf

配置 MySQL 服务相关的连接地址,用户名密码和数据库:

## 服务器地址
auth.mysql.server = 127.0.0.1:3306

## 连接池大小
auth.mysql.pool = 8

auth.mysql.username = emqx

auth.mysql.password = public

auth.mysql.database = mqtt

auth.mysql.query_timeout = 5s

默认表结构

MySQL 认证默认配置下需要确保数据库中有下表:

CREATE TABLE `mqtt_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(100) DEFAULT NULL,
  `password` varchar(100) DEFAULT NULL,
  `salt` varchar(35) DEFAULT NULL,
  `is_superuser` tinyint(1) DEFAULT 0,
  `created` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `mqtt_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

默认配置下示例数据如下:

INSERT INTO `mqtt_user` ( `username`, `password`, `salt`)
VALUES
    ('emqx', 'efa1f375d76194fa51a3556a97e641e61685f914d446979da50a551a4333ffd7', NULL);

启用 MySQL 认证后,你可以通过用户名: emqx,密码:public 连接。

加盐规则与哈希方法

MySQL 认证支持配置加盐规则与哈希方法:

# etc/plugins/emqx_auth_mysql.conf

auth.mysql.password_hash = sha256

认证 SQL(auth_query)

进行身份认证时,EMQX 将使用当前客户端信息填充并执行用户配置的认证 SQL,查询出该客户端在数据库中的认证数据。

# etc/plugins/emqx_auth_mysql.conf

auth.mysql.auth_query = select password from mqtt_user where username = '%u' limit 1

Dashboard中启用mysql认证

六、关闭匿名访问(安全漏洞问题)

1.修改 /etc/emqx/emqx.conf 的配置项

## Allow anonymous authentication by default if no auth plugins loaded.
## Notice: Disable the option in production deployment!
##
## Value: true | false
allow_anonymous = false

## Allow or deny if no ACL rules matched.
##
## Value: allow | deny
acl_nomatch = deny
标签: 开源

本文转载自: https://blog.csdn.net/qq_39208102/article/details/134537386
版权归原作者 摸鱼工程师zsf 所有, 如有侵权,请联系我们删除。

“EMQX开源版4.3.5安装及相关安全漏洞处理”的评论:

还没有评论