适用场景
- 产品:
ZCF - 组件:
Cloud - 版本:
4.8.x、4.6.x - 部署形态:双管理节点
- 触发条件:漏扫发现
go-pprof、etcd相关端口暴露以及 Redis 未授权访问问题。
问题现象
- 环境存在以下漏洞或风险项:
poc-yaml-go-pprof-leakpoc-yaml-etcd-unauth- Redis 未授权访问
- 本次整改重点针对:
90912379- Redis 认证配置
判断方法
- 确认资源状态正常后再进入整改流程。
- 端口加固完成后检查平台访问与管理网络连通性。
- Redis 整改后验证 UI 是否能正常工作且 Redis 需密码访问。
原因说明
该环境既存在对外暴露的服务端口,也存在 Redis 未授权访问问题,因此整改需要同时覆盖网络访问控制和服务配置加固两个层面。
解决方案
- 执行前准备
- 风险等级:中风险
- 先检查各资源连接状态。
- 先关闭云主机全局高可用。
- 先备份双管理节点数据库。
- 端口加固步骤
- 上传
safe_script_4.6.x到管理节点。
- 预期结果:具备执行加固脚本的环境。
- 解压并执行:
tar zxvf safe_script_v4.6
bash safe.sh
- 需要输入管理节点密码。
- 预期结果:进入加固菜单。
- 选择
3端口限制,输入需要限制的端口号:
9091,2379
- 预期结果:目标端口进入规则配置流程。
- 放通需要的 IP。
- 可直接回车选择本管理节点 IP,但实际应按现场需要确认放通范围。
- 预期结果:避免误挡住正常访问流量。
- Redis 未授权访问整改
- 双管理两个节点都要执行以下操作。
- 停止 UI:
zstack-ctl stop_ui
- 预期结果:允许安全修改 Redis 与 UI 配置。
- 备份 Redis 配置:
cp /etc/redis.conf /etc/redis.conf_bak
- 预期结果:保留回退文件。
- 修改
/etc/redis.conf,为requirepass设置强密码。
- 预期结果:Redis 不再允许未授权访问。
- 将 UI 侧 Redis 密码同步更新:
zstack-ctl config_ui --redis-password ZStackp@ssw0rd
- 预期结果:UI 与 Redis 新密码保持一致。
- 启动 UI:
zstack-ctl start_ui
- 预期结果:管理平台恢复正常。
- 收尾
- 检查各资源状态正常。
- 开启云主机全局高可用。
- 预期结果:平台恢复常态运行。
验证方法
- 检查平台访问和管理网络连通性正常。
- 检查
9091、2379已受控。 - 检查 Redis 配置生效,未授权访问失效。
- 检查 UI 服务正常。
风险与回滚
- 风险:端口收口配置错误可能影响平台访问。
- 风险:Redis 密码修改后若 UI 未同步,可能导致管理平台异常。
- 风险等级:中。
- 回滚:明确方式:
- 端口加固通过脚本回退功能还原。
- Redis 回退:停止 UI,使用
/etc/redis.conf_bak恢复配置,再启动 UI。
