UFW 防火墙预装在 Ubuntu 中,顾名思义,UFW 日志可以提供有关防火墙如何处理传入和传出请求的内部信息。
但在此之前,您需要验证 UFW 日志记录是否已启用:
sudo ufw status verbose
如果你得到一个输出说 Logging: on (low)
,你很高兴,但如果它显示 Logging: off
如上图,使用以下命令开启UFW日志记录:
sudo ufw logging on
UFW 登录后,您可以使用 less 命令检查系统中的 UFW 防火墙日志:
sudo less /var/log/ufw.log
这么多复杂的术语,对吧? 好吧,您不必担心它们; 稍后我将分解 UFW 日志中使用的每个术语。
但在此之前,让我分享各种检查UFW日志的方法。
如何在 Linux 中检查 UFW 防火墙日志
有多种方法可以检查 UFW 防火墙日志; 我已经在本指南的开头分享了其中一个。
那么让我们看看剩下的那些。
使用 tail 命令检查防火墙日志
如果您正在寻找一种可以实时监控防火墙日志的方法,可以使用 tail 命令。
默认情况下,tail 命令将显示文件的最后 10 行,但与 -f
选项,您可以监控可以实时覆盖防火墙日志:
tail -f /var/log/ufw.log

使用 grep 命令检查防火墙日志
除了 /var/log/ufw
,还有另外两个地方可以找到 UFW 防火墙日志。 但是,这些位置不仅特定于防火墙日志。
也就是说,您也会在那里找到其他服务的日志。 在那些时候,您可以使用 grep 命令来过滤结果。
因此,您可以从中过滤 UFW 防火墙日志 syslog
:
grep -i ufw /var/log/syslog
或者您可以过滤结果 kern.log
:
grep -i ufw /var/log/kern.log
因为两者都会给你相同的结果:

现在,让我们看看不同级别的 UFW 防火墙日志记录。
如何更改 UFW 防火墙日志级别
默认情况下,日志记录将在低级别计时:

但在我跳到如何更改默认规则之前,让我解释一下您可以使用的不同级别的日志记录。
不同级别的 UFW 防火墙日志记录
UFW 日志记录有 5 个级别。
off
:表示禁用日志记录。low
:将存储与不符合当前防火墙规则的被阻止数据包相关的日志,并将显示与记录规则相关的日志条目。
是的,您也可以指定记录的规则,并将在本指南的后面部分向您展示如何操作。medium
:除了低级别提供的所有日志之外,您还可以获得无效数据包、新连接和通过速率限制完成的日志记录的日志。high
:将包括有速率限制和没有速率限制的数据包的日志。full
:此级别与高级别类似,但不包括速率限制。
现在,如果你想改变你的默认或当前日志记录级别,你只需要遵循给定的命令结构:
sudo ufw logging logging_level
因此,如果我想将当前的日志记录级别更改为 medium
它可以使用给定的命令来完成:
sudo ufw logging medium

如何添加 UFW 日志记录规则
正如我之前提到的,您可以添加日志记录规则,尤其是当您想要监控特定服务时。
我会建议你把你的日志记录级别 low
减少日志中的混乱,您可以更具体地了解有意监控。
要添加日志记录规则,您只需遵循以下命令语法:
sudo ufw allow log service_name
为了 example,我为端口号添加了一条日志规则。 22(SSH):
sudo ufw allow log 22/tcp

解读 UFW 防火墙日志
一旦你使用任何显示的方法来获取 UFW 防火墙日志,你最终会得到这样的东西(对于默认设置):

如果你像我之前展示的那样添加了 UFW 日志记录规则,你会发现一些额外的:

如您所见,两张图片略有不同,我将在此处介绍它们。
Dec 2 05:48:09 LHB kernel: [ 180.759805]
:显示自启动以来的日期、时间、主机名和内核时间。[UFW BLOCK]
:如果您在默认设置下使用 UFW 日志,则日志记录级别锁定在低级别。 这意味着它只会显示不符合 UFW 规则的被拒绝的数据包。
和UFW BLOCK
只是表明数据包被阻止。[UFW ALLOW]
:尽管有默认的日志记录级别,但如果您添加了日志记录规则,它将记录与该服务相关的所有详细信息,并且UFW ALLOW
表示允许数据包。IN=ens33
:显示数据包到达的接口。OUT=
:对于大多数用户来说,这将没有任何价值,如果它指示任何价值,则意味着有一个传出事件。MAC=00:0c:29:71:06:82:8c:b8:7e:b7:f7:46:08:00
: 整串数字和字母只不过是源MAC地址和目标MAC地址的组合。SRC=192.168.1.7
:报文源IP地址。DST=192.168.1.5
: 显示数据包目的地的 IP 地址,它将是您系统的 IP。LEN=60
: 显示数据包的长度(在我的例子中是 60 字节)。TOS=0x10
:表示服务类型。PREC=0x00
:显示“优先”服务类型。TTL=64
:显示包的 TTL(生存时间)。 简而言之,它会告诉您如果未指定目的地,数据包将反弹多长时间直到过期。ID=4444
: 将为您提供 IP 数据报的唯一 ID,并将由相同数据包的片段共享。DF
: TCP 的“不分段”标志。PROTO=TCP
:显示用于传输数据包的协议。SPT=55656
:获取数据包的源端口。DPT=22
:表示数据包的目的端口。WINDOW=64240
: 显示 TCP 窗口大小。RES=0x00
:表示保留位。SYN URGP=0
: 在这里,SYN
标志表示建立新连接的请求,并且URGP=0
表示未建立连接。ACK
: 确认标志 用于指示数据包被主机成功接收。PSH
: 推送标志 表示传入的数据需要传递给应用程序而不是被抛光。
包起来
在本指南中,我介绍了 UFW 防火墙日志的一些基本方面,包括如何启用它们、更改级别和防火墙日志的内容。
您可以在下面的本指南中了解有关 UFW 的更多信息。
我希望你会发现这对你有帮助,如果你有任何疑问或建议,请在评论中告诉我。