温馨提示×

debian防火墙怎么日志审计

小樊
37
2026-10-19 22:32:57
栏目: 智能运维

在 Debian 上做防火墙日志审计,通常分为 iptables / nftables 日志 + 日志收集与分析 两部分。下面按常见场景给你一个清晰、可操作的方案。


一、确认你用的是哪种防火墙

Debian 常见有三种:

  • iptables(传统)
  • nftables(Debian 10+ 推荐)
  • ufw(iptables 的前端,简单)

查看方式:

sudo nft list ruleset
sudo iptables -L -n -v

二、iptables 防火墙日志审计

1. 添加 LOG 规则(最关键)

在需要审计的链上(如 INPUT / FORWARD)加 LOG:

sudo iptables -A INPUT -j LOG --log-prefix "IPT-IN: " --log-level 4
sudo iptables -A OUTPUT -j LOG --log-prefix "IPT-OUT: " --log-level 4

说明:

  • --log-prefix:方便后面过滤
  • --log-level 4:warning 级别

⚠️ 注意:LOG 只是记录,不会丢包


2. 查看iptables日志

默认在:

sudo tail -f /var/log/kern.log
# 或
sudo journalctl -k -f

过滤示例:

grep "IPT-IN" /var/log/kern.log

三、nftables 防火墙日志审计(推荐)

1. 添加 log 规则

sudo nft add rule inet filter input log prefix "NFT-IN: "
sudo nft add rule inet filter output log prefix "NFT-OUT: "

查看规则:

sudo nft list ruleset

2. 查看 nftables 日志

sudo journalctl -k | grep NFT-IN

或:

sudo dmesg | grep NFT

四、避免日志爆炸(重要)

防火墙日志非常容易写满磁盘,建议:

1. 只记录关键流量

例如只记录 NEW 连接:

iptables -A INPUT -p tcp --syn -j LOG --log-prefix "IPT-SYN: "

或只记录被拒绝的:

iptables -A INPUT -j DROP
iptables -I INPUT -j LOG --log-prefix "IPT-DROP: "

2. 使用 ulogd(专业方案)

Debian 可安装:

sudo apt install ulogd2

配置:

/etc/ulogd.conf

优点:

  • 不写内核日志
  • 可输出到 MySQL / SQLite
  • 适合长期审计

五、日志集中与分析(审计常用)

1. 用 rsyslog 单独存防火墙日志

sudo vim /etc/rsyslog.d/firewall.conf

内容:

:msg, contains, "IPT-" -/var/log/firewall.log
& stop

重启:

sudo systemctl restart rsyslog

2. 使用 logrotate 防止磁盘爆

/etc/logrotate.d/firewall

示例:

/var/log/firewall.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
}

六、进阶审计工具(可选)

  • Fail2ban:自动封 IP
  • Suricata / Snort:入侵检测
  • Wazuh / ELK:企业级安全审计

七、最小可用审计方案(推荐)

如果你只是想“能看到谁访问了什么”:

iptables -A INPUT -j LOG --log-prefix "FW-IN: "
journalctl -k -f | grep FW-IN

如果你愿意,可以告诉我:

  • Debian 版本
  • 用的是 ufw / iptables / nftables
  • 是想 合规审计 还是 入侵排查

我可以给你一份可直接用的配置模板。

0 踩