如何设置防火墙的日志记录?
美国、香港服务器
如何设置防火墙的日志记录?
06-02 来源:
一、firewalld(CentOS 7–9、RHEL、AlmaLinux)
1. 开启 “拒绝流量” 日志(必开)
bash
运行
# 永久记录所有被拒绝/丢弃的包
sudo firewall-cmd --permanent --set-log-denied=all
# 重载生效
sudo firewall-cmd --reload
# 验证:返回 all 即成功
firewall-cmd --get-log-denied
可选值:all(推荐)、unicast、multicast、broadcast、off
2. 查看日志(两种方式)
bash
运行
# 方式1:journalctl(实时、最全)
sudo journalctl -u firewalld -f --no-pager
# 方式2:传统文件(CentOS)
tail -f /var/log/messages | grep -i firewalld
3. (可选)把日志单独存到 /var/log/firewalld.log
bash
运行
# 1. 新建rsyslog规则
sudo tee /etc/rsyslog.d/firewalld.conf >/dev/null <<"EOF"
:msg, contains, "firewalld" /var/log/firewalld.log
& stop
EOF
# 2. 重启rsyslog
sudo systemctl restart rsyslog
# 3. 查看独立日志
tail -f /var/log/firewalld.log
二、UFW(Ubuntu 18.04–24.04、Debian)
1. 开启日志并设级别(推荐 medium)
bash
运行
# 级别:off → low → medium → high → full
sudo ufw logging medium
# 查看状态
sudo ufw status verbose
默认日志路径:/var/log/ufw.log
2. 查看与过滤
bash
运行
# 实时监控
tail -f /var/log/ufw.log
# 只看拦截(BLOCK)
grep "UFW BLOCK" /var/log/ufw.log
# 只看放行(ALLOW)
grep "UFW ALLOW" /var/log/ufw.log
3. (可选)日志轮转(防止爆盘)
UFW 默认自带 logrotate,配置在 /etc/logrotate.d/ufw,一般无需改动。
三、iptables(通用,老系统)
1. 加 LOG 规则(记录丢弃包)
bash
运行
# 示例:记录INPUT链的DROP,前缀便于筛选
sudo iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: " --log-level 6
# 再执行真正丢弃(LOG必须在DROP之前)
sudo iptables -A INPUT -j DROP
--log-level 6 = info,平衡性能与细节
2. 查看日志
bash
运行
# Ubuntu/Debian
tail -f /var/log/kern.log | grep "IPTABLES-DROP"
# CentOS
tail -f /var/log/messages | grep "IPTABLES-DROP"
四、安全与运维建议
生产级别:
firewalld:LogDenied=all
UFW:medium(默认 low 太简略)
监控重点:
频繁出现 源 IP + 端口扫描(如 22、3389、445)→ 拉黑 IP
异常外联(如连恶意 IP)→ 排查入侵
日志保留:配合 logrotate 保留 7–30 天,避免占满磁盘。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快