默认区域决定方向
默认区域决定未匹配任何规则的流量往哪里走。服务器加固的正确姿势是把默认区域收敛成 drop 这类拒绝基座,再逐条放行必要服务,而不是在 public 区域上做增量删减——那样一旦新增服务,很容易顺手多开一个口子。另一种常见做法是自定义一个最小区域并绑定网卡,把放行项都写在里面。
基本信息
| 适用平台 | Linux(firewalld,CentOS / RHEL 7 及以上、Fedora) |
|---|---|
| 风险等级 | 中 |
| 基线要求 | 默认区域为 drop 或自定义最小区域 |
| 关键命令 | firewall-cmd --get-default-zone、--set-default-zone |
| 生效方式 | --permanent 修改后需要 --reload |
典型使用场景
- 服务器加固时把默认策略收敛成拒绝基座
- 新服务上线前评估现有区域的放行项
- 排查端口没开却依然可用这类区域归属问题
- 用自定义区域隔离不同业务网卡
- 变更后确认运行时与永久配置是否一致
查看与切换默认区域
查看与切换默认区域
firewall-cmd --get-zones # 列出所有可用区域
firewall-cmd --get-default-zone # 查看当前默认区域
firewall-cmd --set-default-zone=drop # 收敛为拒绝基座
firewall-cmd --get-active-zones # 查看各接口当前归属的区域自定义最小区域并绑接口
自定义最小区域并绑接口
firewall-cmd --permanent --new-zone=webmin # 新建自定义区域
firewall-cmd --permanent --zone=webmin --add-service=http
firewall-cmd --permanent --zone=webmin --add-service=https
firewall-cmd --permanent --zone=webmin --add-interface=eth0 # 绑定网卡
firewall-cmd --reload # 重新加载,使永久配置生效复核必查项
| 检查项 | 含义 | 注意点 |
|---|---|---|
| 默认区域 | 未匹配流量的归宿 | 应为 drop 或最小自定义区域 |
| 活动区域 | 各接口实际归属的区域 | 用 --get-active-zones 确认 |
| 放行服务 | 区域内允许的服务与端口 | 每条都能追溯到具体业务 |
| 运行时与永久配置 | 两套配置是否一致 | reload 之后以永久配置为准 |
| 富规则 | 按源地址与端口的精细放行 | 比 add-service 更可控 |
切换默认区域前先确认管理通道已放行(例如目标区域里已经开了 ssh),否则一次 reload 就可能把自己挡在门外。
运行时配置与 --permanent 是两套:只改运行时会重启丢失,只改永久配置不 reload 又不生效;临时加进去的运行时规则还会在 reload 时被清掉。