Iptables 模块编辑

这是一个用于 iptables 和 ip6tables 日志的模块。它解析通过 syslog 通过网络接收或从文件接收的日志。此外,它还理解一些 Ubiquiti 防火墙添加的前缀,其中包括规则集名称、规则编号以及对流量执行的操作(允许/拒绝)。

运行该模块时,它会在后台执行一些任务

  • 将默认输入设置为 syslog 并绑定到 localhost 端口 9001(但别担心,您可以覆盖默认值)。
  • 使用摄取管道来解析和处理日志行,将数据塑造成适合在 Kibana 中可视化的结构。
  • 部署仪表板以可视化日志数据。

阅读快速入门,了解如何配置和运行模块。

配置模块编辑

您可以通过在 modules.d/iptables.yml 文件中指定变量设置,或在命令行中覆盖设置,来进一步优化 iptables 模块的行为。

您必须至少启用模块中的一个文件集。 默认情况下,文件集处于禁用状态。

默认情况下,该模块配置为通过端口 9001 上的 syslog 运行。但是,它也可以配置为从文件路径读取。请参阅以下示例。

- module: iptables
  log:
    enabled: true
    var.paths: ["/var/log/iptables.log"]
    var.input: "file"

变量设置编辑

每个文件集都有单独的变量设置,用于配置模块的行为。如果未指定变量设置,则 iptables 模块将使用默认值。

对于高级用例,您还可以覆盖输入设置。请参阅覆盖输入设置

在命令行中指定设置时,请记住在设置前面加上模块名称作为前缀,例如,使用 iptables.log.var.paths 而不是 log.var.paths

log 日志文件集设置编辑

var.paths
一个基于 glob 的路径数组,用于指定在何处查找日志文件。Go Glob 支持的所有模式在此处也受支持。例如,您可以使用通配符从预定义级别的子目录中获取所有文件:/path/to/log/*/*.log。这将从 /path/to/log 的子文件夹中获取所有 .log 文件。它不会从 /path/to/log 文件夹本身获取日志文件。如果此设置为空,Filebeat 将根据您的操作系统选择日志路径。
var.syslog_host
侦听基于 UDP 的 syslog 流量的接口。默认为 localhost。设置为 0.0.0.0 可绑定到所有可用接口。
var.syslog_port
侦听 syslog 流量的 UDP 端口。默认为 9001

1024 以下的端口需要 Filebeat 以 root 身份运行。

var.tags
要包含在事件中的标记列表。包含 forwarded 表示事件并非源自此主机,并导致 host.name 不会添加到事件中。默认为 [iptables, forwarded]

时区支持编辑

此模块解析不包含时区信息的日志。对于这些日志,Filebeat 读取本地时区,并在解析时使用它将时间戳转换为 UTC。用于解析的时区包含在 event.timezone 字段中的事件中。

要禁用此转换,可以使用 drop_fields 处理器删除 event.timezone 字段。

如果日志源自与本地时区不同的系统或应用程序,则可以使用 add_fields 处理器用原始时区覆盖 event.timezone 字段。

有关在配置中指定处理器的信,请参阅处理器

示例仪表板编辑

此模块附带示例仪表板,显示地理位置和使用的网络协议。一个用于所有 iptables 日志

kibana iptables

另一个专门用于 Ubiquiti 防火墙日志

kibana iptables ubiquiti

字段编辑

有关模块中每个字段的描述,请参阅导出字段部分。