You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让UFW记录防火墙规则变更历史以排查规则误删问题?

如何让UFW记录防火墙规则变更历史以排查规则误删问题?

嘿,刚好碰到过类似的排查场景,给你几个实用的法子来搞定UFW规则变更的记录问题,帮你揪出误删22端口规则的“元凶”:

方法一:监控UFW配置文件的变更

UFW的所有规则其实都存在/etc/ufw/目录下的配置文件里,我们可以用文件监控工具来追踪这些文件的修改、创建或删除操作,同时记录当前的规则状态,方便事后对比。

  1. 先安装inotify-tools工具(Debian/Ubuntu系):
sudo apt install inotify-tools
  1. 写一个简单的监控脚本(比如/usr/local/bin/ufw-rule-monitor.sh):
#!/bin/bash
# 定义日志文件路径
LOG_FILE="/var/log/ufw_rule_changes.log"
# 要监控的UFW配置目录
MONITOR_DIR="/etc/ufw"

# 记录监控启动时间
echo "=== UFW规则监控启动于 $(date) ===" >> $LOG_FILE

# 持续监控目录下的文件变更事件
inotifywait -m -r -e modify,create,delete $MONITOR_DIR | while read dir event file; do
    # 记录事件详情
    echo "$(date): 检测到 $event 事件,路径:$dir$file" >> $LOG_FILE
    # 附加当前的UFW规则列表,方便对比变化
    echo "当前UFW规则状态:" >> $LOG_FILE
    ufw status numbered >> $LOG_FILE
    echo "----------------------------------------" >> $LOG_FILE
done
  1. 给脚本添加执行权限:
sudo chmod +x /usr/local/bin/ufw-rule-monitor.sh
  1. 设置开机自启(用systemd服务):
    创建/etc/systemd/system/ufw-monitor.service文件,内容如下:
[Unit]
Description=UFW规则变更监控服务
After=network.target

[Service]
ExecStart=/usr/local/bin/ufw-rule-monitor.sh
Restart=always

[Install]
WantedBy=multi-user.target

然后启用并启动服务:

sudo systemctl enable --now ufw-monitor.service

这样只要UFW的配置文件有任何变动,都会被记录到/var/log/ufw_rule_changes.log里,还能看到当时的完整规则状态。

方法二:给UFW命令加“日志包装”

如果你的自动化工具是通过ufw命令来修改规则的,那我们可以给系统的ufw命令套一层“壳”,让它先记录执行的命令、用户和时间,再去执行真正的UFW操作。

  1. 先备份原始的UFW命令:
sudo mv /usr/sbin/ufw /usr/sbin/ufw-real
  1. 创建新的ufw包装脚本:
#!/bin/bash
# 定义命令日志文件路径
LOG_FILE="/var/log/ufw_command_history.log"
# 记录执行时间、用户和完整命令
echo "$(date): 用户 $USER 执行了命令:ufw $*" >> $LOG_FILE
# 调用真正的UFW命令执行操作
/usr/sbin/ufw-real "$@"

把这个脚本保存为/usr/sbin/ufw,然后添加执行权限:

sudo chmod +x /usr/sbin/ufw

现在不管是手动执行ufw命令,还是自动化工具调用,所有操作都会被记录到/var/log/ufw_command_history.log里,你能精准看到什么时候、谁执行了删除22端口规则的命令。

小建议

两个方法可以结合使用:监控配置文件能捕捉到所有(包括直接改配置文件的)变更,而命令日志能精准追踪到操作来源,双管齐下的话,排查问题会更高效。

备注:内容来源于stack exchange,提问作者John Rix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 12:09:52