我正在尝试使用 ufw 在 ubuntu 服务器 20.04.4 上设置日志记录,但我也会采用非 ufw 建议。
我正在端口 20000 上运行测试 https 服务器,并希望记录与其的所有连接。这就是我所做的。
ufw allow log-all 20000/tcp
这是我的 ufw 状态:
To Action From
-- --------- -----
20000/tcp ALLOW IN Anywhere (log-all)
现在我在日志文件(/var/log/ufw.log)中看到的唯一记录是从其他规则生成的“块”。我能够从外部连接到服务器,并且我的测试服务器运行良好(提供我需要的内容)。但我在 ufw 日志中没有看到任何与此规则相关的记录。
我可能会缺少什么?
编辑 1:由于我还不能发表评论,我在这里对 @mashuptwice 的建议做出反应。
我的 ufw 日志记录已打开(低)。
如果我这样做了
ufw logging medium
这不是适用于所有规则吗?我只需要针对这个特定规则进行额外的记录。
答案1
您需要为 ufw 启用日志记录。您可以通过以下方式做到这一点:
ufw logging on
并通过以下方式设置日志级别:
ufw logging <loglevel>
不同的日志级别根据man ufw
:
LEVEL may be 'off', 'low', 'medium', 'high' and 'full'. Log levels are defined as:
off disables ufw managed logging
low logs all blocked packets not matching the defined policy (with rate limiting), as well as packets matching logged rules
medium log level low, plus all allowed packets not matching the defined policy, all INVALID packets, and all new connections. All logging is done with rate limiting.
high log level medium (without rate limiting), plus all packets with rate limiting
full log level high without rate limiting
您可以通过以下方式检查当前的日志记录状态ufw status verbose
╭─root@someserver ~
╰─# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
答案2
我想我明白了。
在我的全部记录规则之前,我在防火墙中还有另一条规则。
To Action From
-- ------ -----
20000 ALLOW IN Anywhere
20000/tcp ALLOW IN Anywhere (log-all)
我的全部记录规则甚至没有被触发。一旦我删除了之前的规则,日志记录就会按预期工作。
感谢大家的关注。