适用场景
- 产品:
ZCF - 组件:
Cloud - 版本:
4.8.x - 部署形态:双管理节点
- 触发条件:漏扫报告提示允许
Traceroute探测,需要通过主机侧规则限制相关 ICMP 探测流量。
问题现象
- 漏扫报告提示存在允许
Traceroute探测风险。 - 需要只放通授权网段,其余来源的指定 ICMP 流量进行拦截。
- 本次变更仅作用于物理机防火墙规则。
判断方法
- 变更前先确认放通网段列表。
- 配置后检查
ipset和iptables规则是否存在。 - 用
tracert验证修复效果。
原因说明
该风险来源于主机对相关探测流量缺少限制,因此需要通过 ipset 白名单和 iptables 规则,仅允许授权网段通过,其他来源的 ICMP type 8 流量予以丢弃。
解决方案
- 执行前准备
- 风险等级:低风险
- 先关闭云主机全局高可用。
- 先备份双管理节点数据库。
- 逐台物理机执行,并确认每台无异常后再推广。
- 处理步骤
- 备份数据库:
zstack-ctl dump_mysql
zstack-ctl dump_mysql
- 预期结果:双管理数据库备份完成。
- 创建允许访问的 IP 集合:
ipset create ZS-ALLOW-IP-ICMP hash:net -exist
ipset flush ZS-ALLOW-IP-ICMP
- 预期结果:白名单集合初始化完成。
- 添加需要放开的网段:
ipset add ZS-ALLOW-IP-ICMP xx.xx.xx.xx/xx
- 预期结果:授权网段写入白名单。
- 检查白名单集合:
ipset list ZS-ALLOW-IP-ICMP
- 预期结果:放通网段已正确写入。
- 添加拦截规则:
iptables -A INPUT -t mangle -p icmp --icmp-type 8 -m set ! --match-set ZS-ALLOW-IP-ICMP src -m comment --comment ZS-SAFE-CONFIGURATION -j DROP
- 预期结果:未在白名单内的 ICMP type 8 请求被丢弃。
- 检查规则是否生效:
iptables -nvL | grep icmptype
- 预期结果:规则已出现在防火墙表中。
- 保存配置:
ipset save > /etc/sysconfig/ipset
service iptables save
- 预期结果:规则在重启后仍可保留。
- 验证:
tracert $IP
- 预期结果:探测行为符合预期。
- 单台验证无异常后,再逐台配置其他物理机节点。
- 最后开启云主机全局高可用。
- 预期结果:整改完成且平台恢复常态运行。
验证方法
- 检查
ipset list ZS-ALLOW-IP-ICMP内容正确。 - 检查
iptables -nvL中规则存在。 - 检查
tracert结果符合预期。 - 检查平台与业务运行正常。
风险与回滚
- 风险:若白名单配置不完整,可能误拦截合法流量。
- 风险等级:低。
- 回滚步骤:
iptables -D INPUT -t mangle -p icmp --icmp-type 8 -m set ! --match-set ZS-ALLOW-IP-ICMP src -m comment --comment ZS-SAFE-CONFIGURATION -j DROP
ipset save > /etc/sysconfig/ipset
service iptables save
