首页/安全/安全加固速查/firewalld 拒绝日志(审计闭环)
防火墙与访问控制50 条

firewalld 拒绝日志(审计闭环)

默认拒绝但不记录等于黑盒:开启拒绝日志(并限速),把被拒流量接入日志平台,才能发现扫描与策略错配。

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

拒绝日志为什么必须开

firewalld 默认只回绝不记录:被丢弃的流量既看不到来源也看不到目标端口,防火墙就成了黑盒。开启拒绝日志后,扫描、误配置与策略变更的副作用都会留下痕迹,是「配置可见」这一步的落点。日志还需要后端服务与轮转配合,否则一次扫描就能刷满磁盘。

基本信息

适用平台Linux(RHEL/CentOS/Fedora 的 firewalld)
配置项firewall-cmd --set-log-denied=all|unicast|off
日志落点内核日志(journald 或 /var/log/messages)
基线记录被拒流量且日志量受控

典型使用场景

  • 边界主机监控:观察被拒目标端口分布,判断是否在被扫描
  • 策略上线后的验证:确认预期的放行生效、其余确实被拦
  • 误配置排查:业务报不通时,先看是否有对应拒绝记录,区分网络问题与策略问题
  • 审计取证:为「边界访问控制有效」提供可检索的证据

开启与观测

开启与观测
# 查看当前策略
firewall-cmd --get-log-denied
# 开启记录(all 记录全部被拒,unicast 只记单播)
firewall-cmd --permanent --set-log-denied=all
firewall-cmd --reload
# 按目标端口聚合,避免淹没在逐行日志里
journalctl -k --since '10 min ago' | grep -i 'DPT=' | awk '{print $NF}' | sort | uniq -c | sort -rn | head -20

取值与读法

取值记录范围适用场景
off不记录仅排障临时使用,不建议长期
unicast只记单播被拒流量内网主机常规取值,噪声较小
all记录全部被拒流量公网边界与需要完整证据的场景
日志字段 DPT目标端口出现大量同一端口被拒,多半是扫描或错配的服务发现
公网主机被持续扫描时日志量很大:先确认 journald 或 syslog 的轮转与集中采集就绪,再开启 all;内网可先用 unicast 降低噪声。
判读要按来源与目标端口聚合,逐行看没有意义。日志本身只说明「被拒」,不说明「为什么被拒」,仍需回到规则集核对。
接入集中日志平台后可做趋势统计:同一端口被拒次数突然上升,通常是新暴露面出现或扫描升级的前兆,比单次告警更有判断价值。

易错点

  • 在有 journal 限额的系统上开 all:日志被快速覆盖,真出事时窗口只有几分钟
  • 只看被拒日志不核对规则集:误判为攻击的流量,其实来自早已下线的业务
  • 日志后端停摆(syslog 未运行、容器里无落点):命令显示已开启,实际什么都没记下
  • 未做基线观察就直接开启:把正常噪声当成异常上报,浪费处置资源

数据来源与参考

  • firewalld 官方文档:Logging denied packets
  • 等保 2.0:安全审计(入侵相关事件)

相关工具

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