首页/安全/安全加固速查/firewalld 默认区域收敛(drop 基座)
防火墙与访问控制50 条

firewalld 默认区域收敛(drop 基座)

默认区域决定未匹配流量的归宿;服务器应以 drop/最小放行为基座,再逐条放行必要服务,而不是在 public 上做增量删减。

安全加固速查安全更新于 2026-10-13

默认区域决定方向

默认区域决定未匹配任何规则的流量往哪里走。服务器加固的正确姿势是把默认区域收敛成 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 时被清掉。

易错点

  • 只改运行时不加 --permanent,重启后配置丢失,安全策略回退到初始状态
  • reload 前没有把运行时临时规则落盘,重载后临时放行项全部消失,业务突然不通
  • 切换默认区域时没确认管理通道是否放行,导致远程连接被直接切断
  • 在 public 区域上做增量删减而不是从拒绝基座出发,新增服务时容易顺手多开一个口

数据来源与参考

  • firewalld 官方文档:Setting the default zone
  • CIS Linux Benchmark:防火墙配置条目

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌