您的默认政策是接受

您的默认政策是接受

我有一个在输入链中丢弃数据包的策略

        chain input {
                type filter hook input priority 0; policy drop;

我怎样才能记录这些丢弃的数据包?

答案1

好吧,我猜你还想知道在你的 nftables 链末尾记录了什么类型的数据包。

让我们假设您已经有一个日志捕获守护进程(例如syslogdrsyslog-ngulogd2),该守护进程已经正确配置、守护、运行并读取/dev/log由内核提供的所有内核日志(来自)ksyslog()并将这些日志消息保存到文件(例如/var/log/message)。

您的默认政策是接受

如果您的链式策略是accept,则将log关键字附加到您的 nftable 规则:


table filter {
  ...
  chain input {
    type filter hook input priority 0; policy accept;
    ...
    # All my rules go here
    # Pick one that suits your needs best

    add rule inet filter input tcp dport 22 drop log
    add rule inet filter input tcp dport 21 counter drop log prefix my_input_ftp

  }
  ...
}

这将记录任何通过 SSH 或 FTP 连接到您的 SSH/FTP 服务器的尝试,然后丢弃数据包。

您的默认策略是 DROP

我会在该链的最末端添加一行,filter input链的示例如下:

table filter {
  ...
  chain input {
    type filter hook input priority 0; policy drop;
    ...
    # All my rules go here
    
    ...
    # Pick one that suits your needs best
    counter comment "total unfiltered input packets"
    log            # simple detail goes into the log
    log flags all  # extra details go into the log
    log flags all prefix "GOTCHA!: " # parseable keyword
    log flags all counter  # redundant but example
    # drop; # this is redundant policy is drop already
  }
  ...
}

答案2

这项工作对我来说:

log prefix "[nftables] Inbound Denied: " counter drop

可以找到日志:

/var/log/messages

希望能帮助到你!

答案3

规则似乎是按顺序执行的。策略是 drop;然后你就有了你需要的任何 accept 规则。现在只需

log

在末尾单独一行即可达到目的。

答案4

在规则集的输入部分的最后一行中添加“log flags all log prefix "PREFIX " counter drop”。通常由默认输入策略丢弃的数据包将被记录并由此(最后一条)规则丢弃。是的,它是多余的,但是冗余是微不足道的。

相关内容