适用场景
- 产品:
ZCF - 组件:
Cloud - 版本:
4.8.x、4.6.x - 部署形态:双管理节点
- 触发条件:需要完成安全漏扫整改,包括封禁高危端口与升级 OpenSSH。
问题现象
- 需要封禁以下端口:
590059015902330670709100910390906379- 同时需要升级 OpenSSH 组件。
- 端口限制若操作失误,可能影响内部业务通信。
判断方法
- 变更前先确认客户业务侧外部不依赖上述端口。
- 封禁后检查
iptables -nvL -t mangle与ipset list。 - OpenSSH 升级后检查
rpm -qa | grep openssh。
原因说明
本次整改分为两个动作:一是利用安全加固脚本封禁指定高危端口,二是升级 OpenSSH RPM。由于端口封禁直接影响网络访问面,因此在执行脚本前必须明确放通 IP 范围,并保留 iptables/ipset 级别的精确回退方法。
解决方案
- 执行前准备
- 风险等级:低
- 先关闭全局高可用,或将高可用策略改为保守模式。
- 先确认客户业务侧外部不使用待封禁端口。
- 先备份当前
ipset配置。
- 端口封禁
- 备份当前
ipset配置:
ipset save > /etc/sysconfig/ipset
- 预期结果:已有规则可回溯。
- 上传并解压安全加固脚本:
tar zxvf safe_script_v4.6.tar.gz
- 预期结果:脚本目录准备完成。
- 进入目录并执行:
cd safe_script/
bash safe.sh
- 输入平台
admin密码。 - 预期结果:进入脚本交互界面。
- 根据提示选择:
3:限制物理机端口1:配置规则- 输入封禁端口:
5900,5901,5902,3306,7070,9100,9103,9090,6379
- 放行 IP 直接回车,表示集群内所有 IP 放通。
- 预期结果:目标端口限制规则写入成功。
- 全部封禁成功后输入
q退出脚本。
- 预期结果:脚本执行完成。
- 检查封禁情况:
iptables -nvL -t mangle
ipset list <ZS-ALLOW-IP-*>
- 预期结果:相关端口 DROP 规则和放通 IP 集合均存在。
- 升级 OpenSSH
- 上传以下 RPM 并校验
sha256:
openssh-8.2.Xp1-16.p08.ky10.aarch64.rpmopenssh-server-8.2.Xp1-16.p08.ky10.aarch64.rpmopenssh-clients-8.2.Xp1-16.p08.ky10.aarch64.rpm- 预期结果:安装包完整可信。
- 执行升级:
yum localinstall -y openssh-8.2p1-16.p08.ky10.aarch64.rpm openssh-clients-8.2p1-16.p08.ky10.aarch64.rpm openssh-server-8.2p1-16.p08.ky10.aarch64.rpm
- 预期结果:OpenSSH 组件升级完成。
- 检查版本:
rpm -qa | grep openssh
- 预期结果:新版本 RPM 已安装。
- 最后开启平台高可用。
- 预期结果:变更流程收口完成。
验证方法
- 检查
iptables -nvL -t mangle中目标端口限制已生效。 - 检查
ipset list中放通规则集合存在。 - 检查
rpm -qa | grep openssh显示升级后的包。 - 检查平台业务和集群内通信无异常。
风险与回滚
- 风险:若端口选择错误或放行范围错误,可能影响内部业务访问。
- 风险:OpenSSH RPM 不匹配可能导致升级失败。
- 风险等级:低。
回退方法
- 删除规则集中的单个 IP:
ipset del <rule_set> <ip>
- 查找某个端口的 DROP 规则:
iptables-save | grep ZS-SAFE-CONFIGURATION | grep "dport 9090" | grep "DROP"
- 删除对应规则:
iptables -t mangle -D INPUT ... --dport 9090 -j DROP
- 删除规则集:
ipset destroy <rule_set>
- 注意:必须先删除
iptables规则,再执行ipset destroy。
