文档目录

适用场景

  • 产品:ZCF
  • 组件:Cloud
  • 版本:4.8.x、4.6.x
  • 部署形态:双管理节点
  • 触发条件:漏扫发现 go-pprof、etcd 相关端口暴露以及 Redis 未授权访问问题。

问题现象

  • 环境存在以下漏洞或风险项:
  • poc-yaml-go-pprof-leak
  • poc-yaml-etcd-unauth
  • Redis 未授权访问
  • 本次整改重点针对:
  • 9091
  • 2379
  • Redis 认证配置

判断方法

  1. 确认资源状态正常后再进入整改流程。
  2. 端口加固完成后检查平台访问与管理网络连通性。
  3. Redis 整改后验证 UI 是否能正常工作且 Redis 需密码访问。

原因说明

该环境既存在对外暴露的服务端口,也存在 Redis 未授权访问问题,因此整改需要同时覆盖网络访问控制和服务配置加固两个层面。

解决方案

  1. 执行前准备
  • 风险等级:中风险
  • 先检查各资源连接状态。
  • 先关闭云主机全局高可用。
  • 先备份双管理节点数据库。
  1. 端口加固步骤
  2. 上传 safe_script_4.6.x 到管理节点。
  • 预期结果:具备执行加固脚本的环境。
  1. 解压并执行:
   tar zxvf safe_script_v4.6
   bash safe.sh
  • 需要输入管理节点密码。
  • 预期结果:进入加固菜单。
  1. 选择 3 端口限制,输入需要限制的端口号:
   9091,2379
  • 预期结果:目标端口进入规则配置流程。
  1. 放通需要的 IP。
  • 可直接回车选择本管理节点 IP,但实际应按现场需要确认放通范围。
  • 预期结果:避免误挡住正常访问流量。
  1. Redis 未授权访问整改
  2. 双管理两个节点都要执行以下操作。
  3. 停止 UI:
   zstack-ctl stop_ui
  • 预期结果:允许安全修改 Redis 与 UI 配置。
  1. 备份 Redis 配置:
   cp /etc/redis.conf /etc/redis.conf_bak
  • 预期结果:保留回退文件。
  1. 修改 /etc/redis.conf,为 requirepass 设置强密码。
  • 预期结果:Redis 不再允许未授权访问。
  1. 将 UI 侧 Redis 密码同步更新:
   zstack-ctl config_ui --redis-password ZStackp@ssw0rd
  • 预期结果:UI 与 Redis 新密码保持一致。
  1. 启动 UI:
   zstack-ctl start_ui
  • 预期结果:管理平台恢复正常。
  1. 收尾
  2. 检查各资源状态正常。
  3. 开启云主机全局高可用。
  • 预期结果:平台恢复常态运行。

验证方法

  • 检查平台访问和管理网络连通性正常。
  • 检查 9091、2379 已受控。
  • 检查 Redis 配置生效,未授权访问失效。
  • 检查 UI 服务正常。

风险与回滚

  • 风险:端口收口配置错误可能影响平台访问。
  • 风险:Redis 密码修改后若 UI 未同步,可能导致管理平台异常。
  • 风险等级:中。
  • 回滚:明确方式:
  1. 端口加固通过脚本回退功能还原。
  2. Redis 回退:停止 UI,使用 /etc/redis.conf_bak 恢复配置,再启动 UI。
漏洞整改 | 技术方案 · KB | ZStack 资源中心