首页/安全/安全加固速查/防火墙状态与规则量核查

防火墙状态与规则量核查

先判定系统主用哪套防火墙(firewalld/ufw/nftables/iptables 混用会互相打架),再看默认策略与规则数量。

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

先确定哪套在生效

Linux 上的防火墙配置有四套常见入口:firewalld、ufw、nftables 与 iptables。不同发行版默认不同,同一台机器上还可能并存多套,规则互相覆盖或相互叠加,只看其中一套会得出错误结论。核查的第一步不是数规则,而是确认系统实际使用哪一套、它的默认策略是什么、规则数量是否与业务相符。

基本信息

加固项主机边界防护
适用平台Linux(firewalld、ufw、nftables、iptables)
风险等级高
判读防火墙启用、默认拒绝、规则与业务一致
报告口径本机规则与云侧安全组分别记录

典型使用场景

  • 基线核查:确认主机防火墙处于启用状态且默认策略是拒绝
  • 规则清理:长期累积的临时放行规则容易失控,需要定期复核
  • 故障排查:端口不通时先确认是防火墙挡了还是服务没监听
  • 等保边界防护:需要提供本机与云侧两层边界的配置证据
  • 容器环境排查:确认容器发布端口是否绕过了主机规则

核查命令

核查命令
systemctl is-active firewalld 2>/dev/null; firewall-cmd --list-all 2>/dev/null
ufw status verbose 2>/dev/null
nft list ruleset 2>/dev/null | head -30
iptables -S 2>/dev/null | head -30
systemctl is-enabled firewalld ufw 2>/dev/null   # 确认是否开机自启

四套工具对照

工具查看命令判读要点
firewalldfirewall-cmd --list-all看 zone 与 services、ports,默认 zone 决定策略
ufwufw status verbose看默认 incoming 策略与已放行规则
nftablesnft list ruleset看表与链的默认策略,注意与 iptables 的兼容层
iptablesiptables -S看 INPUT、FORWARD 的默认策略与规则顺序
共存情况多套同时安装以实际拦截效果验证,而非规则文本
云主机要做两层记录:本机防火墙与云安全组是彼此独立的边界,任何一层都可能单独造成端口不通或意外暴露。报告里分「本机规则 / 云侧规则」两栏,并注明各自覆盖范围,避免把两层的责任混在一起。
容器运行时会自动写规则:Docker 会在 nat 表插入转发规则,使发布出去的端口绕过主机过滤链。核查时先把容器产生的规则单独剔除,再对本机自主配置的规则下结论,否则容易误判为「防火墙已放开」。

判读与留档

规则数量不是结论,规则来源才是。建议把输出整理成三列:放行端口、来源范围、业务归属。来源为任意地址且端口属于数据库、缓存、管理类的条目优先处置。留档时同时保存命令与原始输出,单纯截图不利于后续比对与复核。

易错点

  • 只看一套工具:多套并存时以规则文本判断会误判,应以外部实测连通性作为最终验证
  • 把容器的自动规则计入本机策略:容器转发规则会让核查结论失真,先区分来源再统计
  • 忽略默认策略:放行规则再多,若默认策略是接受,实际暴露面依然很大
  • 只看运行状态不看开机自启:防火墙当前在跑但未设自启,重启后可能直接放开
  • 核查后不留原始输出:规则随时可能被变更,缺少留档就无法证明核查时点的状态

数据来源与参考

  • CIS Linux Benchmark:防火墙
  • 等保 2.0:边界防护

相关工具

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