为什么即使我通过 rsyslog 设置关闭 UFW,它仍会继续记录到 syslog 中?

为什么即使我通过 rsyslog 设置关闭 UFW,它仍会继续记录到 syslog 中?

我已取消评论

& stop

在 /etc/rsyslog.d/20-ufw.conf 中。

我已经设置了

StandardOutput=null

通过使用

systemctl edit ufw

这无论如何都不应该有帮助,因为系统日志消息是由“内核”单元发送的,而不是“ufw”服务,但我还是尝试了。

我已经通过以下方式重启了 ufw 和 rsyslog

systemctl daemon-reload
systemctl restart ufw
systemctl restart rsyslog

然而,journalctl 中充满了 [UFW BLOCK] 消息。我看到了它们。每 5-20 秒一次。填满日志。隐藏了我关心的来自各种 samba 相关系统的消息,这些消息很难使用 -u 进行过滤。

我知道我可以通过 grep 删除它们,但我想了解为什么我不能关闭它们,因为那里有些事情我不明白。

- - 编辑

好的,第一步是理解为什么编辑 rsyslog 规则没有按照我的想法执行:

ufw 日志被镜像到内核日志,不是系统日志。在 rsyslog 配置中输入“&stop”仅表示停止向系统日志记录。因此,无法将 kern.log 和 ufw.log 之间的日志记录分开可能是一个功能。

对我来说这仍然一点意义都没有。

答案1

思考您在此处看到的是默认 ufw 日志记录级别的结果,它创建了以下 iptables 规则:

$ sudo iptables --list-rules | grep prefix
-A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "

看起来可以通过关闭注销来修改这些规则:

$ sudo ufw logging off
Logging disabled
$ sudo ufw reload 
Firewall reloaded

然后

$ sudo iptables --list-rules | grep prefix

不返回任何内容。

相关内容