提交 2b460259 authored 作者: 陈泽健's avatar 陈泽健

docs(prd): 更新X86自动更新部署包版本需求文档并新增计划执行文档

- 修改网盘路径从 \\192.168.9.9 到 Z: 盘映射
- 移除重复的注意事项部分内容
- 新增详细的计划执行文档,包含六个开发阶段的任务划分
- 新增安全扫描报告,识别EMQX MQTT匿名访问高风险问题
- 新增部署分析报告,记录三台服务器的部署执行情况和问题
上级 e9a46e0b
# 安全扫描报告
**报告时间**: 2026-06-03 18:10:00
**报告人员**: 自动化部署系统
**扫描范围**: X86-欧拉 (192.168.5.52) — 唯一全服务正常运行的服务器
---
## 一、扫描概览
| 检查项 | 状态 | 风险等级 |
|--------|------|----------|
| Nacos认证 | 已启用,配置安全 | 低 |
| EMQX MQTT认证 | 未配置(匿名访问开启) | **高** |
| EMQX Dashboard | HTTP明文,未暴露外网 | 中 |
| MySQL | 自定义密码,防火墙保护 | 低 |
| Redis | 自定义密码,无外部端口映射 | 低 |
| SSH配置 | Root登录+密码认证开启 | 中 |
| Docker API | 未暴露 | 低 |
| 防火墙 | 已启用,最小端口开放 | 低 |
---
## 二、详细扫描结果
### 2.1 Nacos (v2.5.2)
**风险等级**: 低(安全)
| 检查项 | 结果 | 说明 |
|--------|------|------|
| 认证状态 | 已启用 | `nacos.core.auth.system.type=nacos` |
| 默认凭据 (nacos/nacos) | 不可用 | 返回"user not found",已更改默认密码 |
| Token密钥 | 已配置 | 自定义SecretKey,非默认值 |
| Server Identity | 已配置 | 自定义key/value,防止服务器身份伪造 |
| CVE-2021-29441 (Identity绕过) | **不受影响** | serverIdentity检查正常,返回403 |
| Auth Caching | 已关闭 | `nacos.core.auth.caching.enabled=false` |
**配置详情**:
```
nacos.core.auth.plugin.nacos.token.secret.key=33s91mY2m...(已配置)
nacos.core.auth.server.identity.key=pjB4QCcyw3nZ...(已配置)
nacos.core.auth.server.identity.value=J4rc1D8XzK9B...(已配置)
```
**结论**: Nacos v2.5.2认证配置安全,不存在已知的高危漏洞。
---
### 2.2 EMQX Enterprise (v6.0.0)
**风险等级**: **高**
| 检查项 | 结果 | 说明 |
|--------|------|------|
| MQTT认证配置 | `authentication = []` | **空列表,匿名访问开启** |
| MQTT监听端口 | 1883(TCP), 8883(SSL), 8083(WS) | 全部绑定0.0.0.0 |
| Dashboard端口 | 18083(HTTP) | 未配置HTTPS,但未暴露外网 |
| 当前连接数 | 11个活跃连接 | TCP监听器上 |
| SSL连接 | 存在ssl_error | 13次SSL握手失败 |
**预置MQTT用户**(来自auth-built-in-db-bootstrap.csv):
| 用户ID | 权限 | 密码强度 |
|--------|------|----------|
| mqtt@cmdb | 超级用户 | 中等 (`mqtt@webpassw0RD`) |
| mqtt@client | 普通用户 | 中等 (`client@passwORD`) |
**风险分析**:
1. **MQTT匿名访问(高危)**: `authentication = []` 意味着任何客户端无需认证即可连接MQTT Broker,可订阅/发布任意Topic。防火墙开放了1883和8883端口,网络内的任何设备都可以未认证连接。
2. **弱密码(中危)**: MQTT用户密码为可读性较强的固定密码,建议使用更强的随机密码。
3. **Dashboard HTTP(低危)**: Dashboard使用HTTP而非HTTPS,但由于防火墙未开放18083端口,外部无法访问。
**建议修复操作**:
1. 启用EMQX MQTT认证(Password认证或JWT认证)
2. 禁用匿名访问
3. 更换更强的MQTT用户密码
---
### 2.3 MySQL
**风险等级**: 低(安全)
| 检查项 | 结果 | 说明 |
|--------|------|------|
| Root密码 | 自定义 (`dNrprU&2S`) | 非默认密码,含特殊字符 |
| 默认密码 (root/root) | 不可用 | 返回Access denied |
| 外部端口映射 | 0.0.0.0:8306→3306 | 端口8306映射到主机 |
| 防火墙保护 | 是 | 8306端口未在防火墙开放列表中 |
**结论**: MySQL使用自定义强密码,且外部端口被防火墙拦截,安全状态良好。
---
### 2.4 Redis (v8.8.0)
**风险等级**: 低(安全)
| 检查项 | 结果 | 说明 |
|--------|------|------|
| 密码认证 | 已启用 | `requirepass dNrprU&2S` |
| 外部端口映射 | 无 | Redis端口未映射到主机网络 |
**结论**: Redis配置了密码认证且无外部端口暴露,安全状态良好。
---
### 2.5 SSH配置
**风险等级**: 中
| 检查项 | 结果 | 说明 |
|--------|------|------|
| Root登录 | 允许 | `PermitRootLogin yes` |
| 密码认证 | 允许 | `PasswordAuthentication yes` |
| SSH端口 | 22(默认) | 未更改 |
**建议**: 在生产环境中建议禁用Root直接登录,使用密钥认证替代密码认证。当前配置在内部网络环境下可接受。
---
### 2.6 防火墙 (firewalld)
**风险等级**: 低
| 属性 | 值 |
|------|------|
| 状态 | active |
| 开放端口 | 22/tcp, 443/tcp, 1883/tcp, 8883/tcp, 9990/tcp |
**端口用途**:
| 端口 | 服务 |
|------|------|
| 22 | SSH |
| 443 | HTTPS (Nginx) |
| 1883 | MQTT (EMQX TCP) |
| 8883 | MQTTS (EMQX SSL) |
| 9990 | 维护平台 |
**结论**: 防火墙规则最小化,仅开放必要端口。Docker内部服务端口(MySQL 8306, Redis, Nacos 8848等)未暴露。
---
### 2.7 Docker安全
| 检查项 | 结果 |
|--------|------|
| Docker Remote API (2375) | 未暴露 |
| Docker Remote API (2376) | 未暴露 |
**结论**: Docker守护进程未暴露远程API,安全。
---
## 三、风险汇总
### 按风险等级排列
| 优先级 | 风险项 | 服务 | 当前状态 | 建议操作 |
|--------|--------|------|----------|----------|
| **P0-高** | MQTT匿名访问 | EMQX | authentication=[] | 启用MQTT认证,禁用匿名连接 |
| P1-中 | MQTT弱密码 | EMQX | 固定可读密码 | 使用更强的随机密码 |
| P1-中 | Root SSH登录 | SSH | PermitRootLogin yes | 生产环境禁用Root直接登录 |
| P2-低 | Dashboard HTTP | EMQX | 18083端口HTTP | 内网环境可接受,生产环境建议HTTPS |
### 安全评分
| 类别 | 评分 | 说明 |
|------|------|------|
| 身份认证 | 7/10 | Nacos安全,EMQX MQTT无认证 |
| 网络安全 | 8/10 | 防火墙配置良好,Docker API未暴露 |
| 数据安全 | 9/10 | MySQL/Redis均使用自定义密码 |
| 访问控制 | 7/10 | SSH Root登录开启,EMQX无访问控制 |
| **综合评分** | **7.5/10** | 主要扣分项为EMQX MQTT匿名访问 |
---
## 四、ARM服务器安全说明
- **ARM-欧拉 (192.168.9.75)**: 因MySQL/EMQX部署失败、Nacos崩溃,无法进行有效的安全扫描
- **ARM-Ubuntu (192.168.9.76)**: 仅中间件容器运行,应用服务不完整,安全扫描参考价值有限
建议在修复ARM服务器部署问题后,再对ARM服务器执行安全扫描。
---
*报告生成时间: 2026-06-03 18:10*
*生成方式: Claude Code 自动化部署系统*
...@@ -159,20 +159,17 @@ ...@@ -159,20 +159,17 @@
- uvoice文件夹 - uvoice文件夹
## 更新操作流程 ## 更新操作流程
1. 从网盘[\\192.168.9.9\发布版本\03服务器部署\15新统一平台\X86部署包\全量版]下载最新的部署包到打包服务器的/data目录下 1. 从网盘[Z:\发布版本\03服务器部署\15新统一平台\X86部署包\全量版]将服务包`offline_auto_unifiedPlatform.tar.gz``offline_auto_unifiedPlatform.tar.gz.md5`传入到打包服务器。
2. 在打包服务器上解压缩tar.gz格式包,解压缩完成后删除tar.gz格式包和md5文件。 2. 在打包服务器上解压缩tar.gz格式包,解压缩完成后删除tar.gz格式包和md5文件。
3. 从测试服务器上提取所有服务包,压缩成tar.gz格式传到打包服务器。 3. 从测试服务器上提取所有服务包,压缩成tar.gz格式传到打包服务器。
4. 在打包服务器上解压缩tar.gz格式包 4. 在打包服务器上解压缩tar.gz格式包
5. 执行服务包更新替换操作,不需要做备份 5. 执行服务包更新替换操作,不需要做备份
6. 执行更新替换操作过程中恢复配置文件,如config.json和settingbus.conf文件。 6. 执行更新替换操作过程中恢复配置文件,如config.json和settingbus.conf文件。
7. 将/data/目录下的offline_auto_unifiedPlatform打压缩成tar.gz格式,并增加md5格式校验,文件命名:offline_auto_unifiedPlatform.tar.gz和offline_auto_unifiedPlatform.tar.gz.md5 7. 将/data/目录下的offline_auto_unifiedPlatform打压缩成tar.gz格式,并增加md5格式校验,文件命名:offline_auto_unifiedPlatform.tar.gz和offline_auto_unifiedPlatform.tar.gz.md5
8. 拷贝至网盘目录:[\\192.168.9.9\发布版本\03服务器部署\15新统一平台\X86部署包\全量版\版本更新-待验证] 8. 拷贝至网盘目录:[Z:\发布版本\03服务器部署\15新统一平台\X86部署包\全量版\版本更新-待验证]
9. 清理打包服务器上的临时文件。 9. 清理打包服务器上的临时文件。
10. 生成报告文件。 10. 生成报告文件。
## 注意:
- 如果无法在linux上访问到网盘,那就先拷贝到本地目录[]
## 异常处理 ## 异常处理
- 在服务包覆盖过程中如果覆盖失败(如中断),立即停止本次更新操作,输出失败的文件名和失败原因。 - 在服务包覆盖过程中如果覆盖失败(如中断),立即停止本次更新操作,输出失败的文件名和失败原因。
- 覆盖中断后可重新执行覆盖操作来恢复。 - 覆盖中断后可重新执行覆盖操作来恢复。
...@@ -187,7 +184,7 @@ ...@@ -187,7 +184,7 @@
- uvoice文件夹后端包更新说明: - uvoice文件夹后端包更新说明:
- 需要将原文件夹下bus/config/settingbus.conf覆盖到更新的服务包原路径。 - 需要将原文件夹下bus/config/settingbus.conf覆盖到更新的服务包原路径。
- 所有服务更新操作完毕后需将/data/目录下的offline_auto_unifiedPlatform文件夹打压缩成tar.gz格式,并增加md5格式校验。 - 所有服务更新操作完毕后需将/data/目录下的offline_auto_unifiedPlatform文件夹打压缩成tar.gz格式,并增加md5格式校验。
- 将tar.gz格式文件与md5格式文件拷贝至网盘目录:[\\192.168.9.9\发布版本\03服务器部署\15新统一平台\X86部署包\全量版\版本更新-待验证] - 将tar.gz格式文件与md5格式文件拷贝至网盘目录:[Z:\发布版本\03服务器部署\15新统一平台\X86部署包\全量版\版本更新-待验证]
- 拷贝到网盘目录后将打包服务器上的tar.gz和md5格式文件清理。 - 拷贝到网盘目录后将打包服务器上的tar.gz和md5格式文件清理。
## 核验材料 ## 核验材料
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论