UFW 的审计日志条目是什么意思?

UFW 的审计日志条目是什么意思?

我有时会收到很多这样的审计日志条目

...

[UFW AUDIT] IN= OUT=eth0 SRC=176.58.105.134 DST=194.238.48.2 LEN=76 TOS=0x10 PREC=0x00 TTL=64 ID=32137 DF PROTO=UDP SPT=36231 DPT=123 LEN=56
[UFW ALLOW] IN= OUT=eth0 SRC=176.58.105.134 DST=194.238.48.2 LEN=76 TOS=0x10 PREC=0x00 TTL=64 ID=32137 DF PROTO=UDP SPT=36231 DPT=123 LEN=56
[UFW AUDIT] IN= OUT=lo SRC=192.168.192.254 DST=192.168.192.254 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=54579 DF PROTO=TCP SPT=59488 DPT=30002 WINDOW=32792 RES=0x00 SYN URGP=0
[UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=192.168.192.254 DST=192.168.192.254 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=54579 DF PROTO=TCP SPT=59488 DPT=30002 WINDOW=32792 RES=0x00 SYN URGP=0
[UFW AUDIT] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=192.168.192.254 DST=192.168.192.254 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=4319 DF PROTO=TCP SPT=59489 DPT=30002 WINDOW=32792 RES=0x00 SYN URGP=0

...

这是什么意思?它们何时发生以及为什么发生?我应该并且可以禁用这些特定条目吗?我不想禁用 UFW 日志记录,但我不确定这些行是否有用。

请注意,这实际上不会发生在 中/var/log/ufw.log。它只发生在 中/var/log/syslog。为什么会这样呢?

更多信息

  • 我的日志设置为中等:Logging: on (medium)

答案1

这取决于行。通常是 Field=value。

对于刚刚中继的数据包,有 IN、OUT、传入接口或传出接口(或两者)。

其中一些是:

  • 服务条款,对于服务类型,
  • 夏令时是目标 IP,
  • 新加坡铁路公司是源 IP
  • 生存时间是生存时间,每次数据包通过另一个路由器时,小计数器都会减少一倍(因此,如果存在循环,则数据包会自行销毁一次并减至 0)
  • 自由度是“不碎片”位,要求数据包在发送时不要碎片化
  • 原始是协议(主要是 TCP 和 UDP)
  • 南太平洋是源端口
  • 德普特是目的港

ETC。

您应该看一下 TCP/UDP/IP 文档,其中对所有内容的解释都比我想象的要详细。

让我们来看第一个,这意味着 176.58.105.134 在端口 123 上向 194.238.48.2 发送了一个 UDP 数据包。这是针对的ntp。所以我猜有人试图将您的计算机用作 ntp 服务器,可能是出于错误。

对于另一行,这很奇怪,这是环回接口(lo)上的流量,也就是说,它不会去往任何地方,而是来自您的计算机。

lsof我将使用或检查是否有东西正在监听 tcp 端口 30002 netstat

答案2

将您的日志设置为low删除AUDIT消息。

AUDIT 的目的(从我所看到的)与非默认/推荐的日志记录有关 - 但是,这只是猜测,而且我似乎找不到任何具体的东西。

答案3

除了上述内容之外,还可以通过检查以下内容推断要记录的内容iptables规则。具体来说,可以像这样过滤正在记录的匹配规则sudo iptables -L | grep -i "log"

ufw-before-logging-input  all  --  anywhere             anywhere
ufw-after-logging-input  all  --  anywhere             anywhere
ufw-before-logging-forward  all  --  anywhere             anywhere
ufw-after-logging-forward  all  --  anywhere             anywhere
ufw-before-logging-output  all  --  anywhere             anywhere
ufw-after-logging-output  all  --  anywhere             anywhere
Chain ufw-after-logging-forward (1 references)
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "
Chain ufw-after-logging-input (1 references)
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "
Chain ufw-after-logging-output (1 references)
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "
ufw-logging-deny  all  --  anywhere             anywhere             ctstate INVALID
Chain ufw-before-logging-forward (1 references)
LOG        all  --  anywhere             anywhere             ctstate NEW limit: avg 3/min burst 10 LOG level warning prefix "[UFW AUDIT] "
Chain ufw-before-logging-input (1 references)
LOG        all  --  anywhere             anywhere             ctstate NEW limit: avg 3/min burst 10 LOG level warning prefix "[UFW AUDIT] "
Chain ufw-before-logging-output (1 references)
LOG        all  --  anywhere             anywhere             ctstate NEW limit: avg 3/min burst 10 LOG level warning prefix "[UFW AUDIT] "
Chain ufw-logging-allow (0 references)
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "
Chain ufw-logging-deny (2 references)
LOG        all  --  anywhere             anywhere             ctstate INVALID limit: avg 3/min burst 10 LOG level warning prefix "[UFW AUDIT INVALID] "
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "
ufw-logging-deny  all  --  anywhere             anywhere             limit: avg 3/min burst 10
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
Chain ufw-user-logging-forward (0 references)
Chain ufw-user-logging-input (0 references)
Chain ufw-user-logging-output (1 references)

这些大部分都是默认规则。检查上面的输出会发现ufw-before-*生成 [UFW AUDIT ..] 日志的链。

我不是 iptables 方面的专家,UFW 手册对此也没有什么帮助,但据我所知,与此链匹配的规则位于/etc/ufw/before.rules

例如,下面的几行允许环回连接,这可能会触发日志中的最后两行示例(以 [UFW AUDIT] IN=lo 开头的行)

# rules.before
# ....
# allow all on loopback
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT
# ....

就我而言,我收到了很多记录法律硕士端口 5353 上的数据包:

Mar 17 21:02:21 pc kernel: [133419.183616] [UFW AUDIT] IN=wlp2s0 OUT= MAC= SRC=192.168.1.2 DST=224.0.0.251 LEN=146 TOS=0x00 PREC=0x00 TTL=255 ID=22456 DF PROTO=UDP SPT=5353 DPT=5353 LEN=126 

我认为是由以下原因造成的rules.before

# allow MULTICAST mDNS for service discovery (be sure the MULTICAST line above
# is uncommented)
-A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT

停用这些功能的一种方法是执行以下操作:

sudo ufw deny 5353

相关内容