pfSense 集成

编辑

版本

1.20.2 (查看全部)

兼容的 Kibana 版本

8.7.1 或更高版本

支持的无服务器项目类型
这是什么?

安全性
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

社区

这是一个解析来自 pfSense 和 OPNsense 防火墙的特定日志的集成。它解析通过 syslog (UDP/TCP/TLS) 网络接收的日志。pfSense 本机仅支持 UDP。OPNsense 支持所有 3 种传输方式。

目前,该集成支持解析防火墙、Unbound、DHCP 守护进程、OpenVPN、IPsec、HAProxy、Squid 和 PHP-FPM(身份验证)日志。
所有其他事件将被丢弃。HAProxy 日志的设置与 HAProxy 集成中的仪表板兼容。安装 HAProxy 集成资产以使用它们。

pfSense 设置

编辑
  1. 导航到状态 → 系统日志,然后单击设置
  2. 在底部选中启用远程日志记录
  3. (可选)选择要用于转发的特定接口
  4. 将通过集成配置设置的代理 IP 地址和端口输入到远程日志服务器字段中(例如,192.168.100.50:5140)
  5. 远程 Syslog 内容下,选择要转发到代理的日志

    • 选择全部以将所有日志转发到代理,或选择要转发的各个服务。不在上述列表中的任何日志条目都将被丢弃。这将导致更多数据被发送到代理和 Elasticsearch。防火墙、VPN、DHCP、DNS 和身份验证 (PHP-FPM) 日志可以单独选择。为了收集 HAProxy 和 Squid 或其他“包”日志,必须选择全部选项。

OPNsense 设置

编辑
  1. 导航到系统 → 设置 → 日志/目标
  2. 添加新的日志/目标(单击加号图标)

    • 传输 = UDP 或 TCP 或 TLS
    • 应用程序 = 选择要发送到远程 syslog 的应用程序列表。留空表示全部。
    • 级别 = 未选择任何内容
    • 工具 = 未选择任何内容
    • 主机名 = 在集成配置中配置的 Elastic 代理的 IP
    • 端口 = 在集成配置中配置的 Elastic 代理的端口
    • 证书 = 要使用的客户端证书(选择 tls 传输类型时)
    • 描述 = Syslog 到 Elasticsearch
    • 单击保存

默认情况下,该模块配置为在端口 9001 上使用 udp 输入运行。

重要
pfSense 集成支持 BSD 日志格式(pfSense 默认使用,OPNsense 也使用)和 Syslog 格式(pfSense 可选)。但是,建议使用 syslog 格式。它将提供带有时间戳和时区信息的防火墙主机名。使用 BSD 格式时,部署代理时必须设置 时区偏移 配置,否则时区将默认为代理的时区。有关更多信息,请参见 https://<pfsense url>/status_logs_settings.phphttps://docs.netgate.com/pfsense/en/latest/monitoring/logs/settings.html

非常感谢 a3ilsonhttps://github.com/pfelk/pfelk 存储库,这是此集成中大多数 grok 模式和仪表板的基础。

日志

编辑

pfSense 日志

编辑

这是 pfSense log 数据集。

示例

log 的示例事件如下所示

{
    "@timestamp": "2021-07-04T00:10:14.578Z",
    "agent": {
        "ephemeral_id": "da2d428d-04f5-4b59-b655-6e915448dbe5",
        "id": "0746c3a9-3a6e-4fb6-8c0d-bf706948547a",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.9.0"
    },
    "data_stream": {
        "dataset": "pfsense.log",
        "namespace": "ep",
        "type": "logs"
    },
    "destination": {
        "address": "175.16.199.1",
        "geo": {
            "city_name": "Changchun",
            "continent_name": "Asia",
            "country_iso_code": "CN",
            "country_name": "China",
            "location": {
                "lat": 43.88,
                "lon": 125.3228
            },
            "region_iso_code": "CN-22",
            "region_name": "Jilin Sheng"
        },
        "ip": "175.16.199.1",
        "port": 853
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "0746c3a9-3a6e-4fb6-8c0d-bf706948547a",
        "snapshot": false,
        "version": "8.9.0"
    },
    "event": {
        "action": "block",
        "agent_id_status": "verified",
        "category": [
            "network"
        ],
        "dataset": "pfsense.log",
        "ingested": "2023-09-22T15:34:05Z",
        "kind": "event",
        "original": "<134>1 2021-07-03T19:10:14.578288-05:00 pfSense.example.com filterlog 72237 - - 146,,,1535324496,igb1.12,match,block,in,4,0x0,,63,32989,0,DF,6,tcp,60,10.170.12.50,175.16.199.1,49652,853,0,S,1818117648,,64240,,mss;sackOK;TS;nop;wscale",
        "provider": "filterlog",
        "reason": "match",
        "timezone": "-05:00",
        "type": [
            "connection",
            "denied"
        ]
    },
    "input": {
        "type": "tcp"
    },
    "log": {
        "source": {
            "address": "172.27.0.4:45848"
        },
        "syslog": {
            "priority": 134
        }
    },
    "message": "146,,,1535324496,igb1.12,match,block,in,4,0x0,,63,32989,0,DF,6,tcp,60,10.170.12.50,175.16.199.1,49652,853,0,S,1818117648,,64240,,mss;sackOK;TS;nop;wscale",
    "network": {
        "bytes": 60,
        "community_id": "1:pOXVyPJTFJI5seusI/UD6SwvBjg=",
        "direction": "inbound",
        "iana_number": "6",
        "transport": "tcp",
        "type": "ipv4",
        "vlan": {
            "id": "12"
        }
    },
    "observer": {
        "ingress": {
            "interface": {
                "name": "igb1.12"
            },
            "vlan": {
                "id": "12"
            }
        },
        "name": "pfSense.example.com",
        "type": "firewall",
        "vendor": "netgate"
    },
    "pfsense": {
        "ip": {
            "flags": "DF",
            "id": 32989,
            "offset": 0,
            "tos": "0x0",
            "ttl": 63
        },
        "tcp": {
            "flags": "S",
            "length": 0,
            "options": [
                "mss",
                "sackOK",
                "TS",
                "nop",
                "wscale"
            ],
            "window": 64240
        }
    },
    "process": {
        "name": "filterlog",
        "pid": 72237
    },
    "related": {
        "ip": [
            "175.16.199.1",
            "10.170.12.50"
        ]
    },
    "rule": {
        "id": "1535324496"
    },
    "source": {
        "address": "10.170.12.50",
        "ip": "10.170.12.50",
        "port": 49652
    },
    "tags": [
        "preserve_original_event",
        "pfsense",
        "forwarded"
    ]
}
导出的字段
字段 描述 类型

@timestamp

事件的原始日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收事件的时间填充。所有事件的必填字段。

date

client.address

某些事件客户端地址的定义不明确。事件有时会列出 IP、域名或 unix 套接字。您应始终将原始地址存储在 .address 字段中。然后应将其复制到 .ip.domain,具体取决于它是哪一个。

keyword

client.as.number

分配给自治系统的唯一编号。自治系统编号 (ASN) 唯一标识 Internet 上的每个网络。

long

client.as.organization.name

组织名称。

keyword

client.as.organization.name.text

client.as.organization.name 的多字段。

match_only_text

client.bytes

从客户端发送到服务器的字节数。

long

client.domain

客户端系统的域名。此值可以是主机名、完全限定的域名或其他主机命名格式。该值可能来自原始事件,也可能是从富化中添加的。

keyword

client.geo.city_name

城市名称。

keyword

client.geo.continent_name

大陆名称。

keyword

client.geo.country_iso_code

国家/地区 ISO 代码。

keyword

client.geo.country_name

国家/地区名称。

keyword

client.geo.location

经度和纬度。

geo_point

client.geo.region_iso_code

地区 ISO 代码。

keyword

client.geo.region_name

地区名称。

keyword

client.ip

客户端的 IP 地址(IPv4 或 IPv6)。

ip

client.mac

客户端的 MAC 地址。建议使用 RFC 7042 中的表示法格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,给出八位字节的值作为无符号整数。连续的八位字节用连字符分隔。

keyword

client.port

客户端的端口。

long

cloud.account.id

用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

keyword

cloud.availability_zone

此主机运行所在的可用区。

keyword

cloud.image.id

云实例的映像 ID。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.instance.name

主机机器的实例名称。

keyword

cloud.machine.type

主机机器的机器类型。

keyword

cloud.project.id

Google Cloud 中项目的名称。

keyword

cloud.provider

云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。

keyword

cloud.region

此主机运行所在的区域。

keyword

container.id

唯一的容器 ID。

keyword

container.image.name

构建容器所依据的映像的名称。

keyword

container.labels

映像标签。

object

container.name

容器名称。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

destination.address

某些事件目标地址的定义不明确。事件有时会列出 IP、域名或 unix 套接字。您应始终将原始地址存储在 .address 字段中。然后应将其复制到 .ip.domain,具体取决于它是哪一个。

keyword

destination.as.number

分配给自治系统的唯一编号。自治系统编号 (ASN) 唯一标识 Internet 上的每个网络。

long

destination.as.organization.name

组织名称。

keyword

destination.as.organization.name.text

destination.as.organization.name 的多字段。

match_only_text

destination.bytes

从目标发送到源的字节数。

long

destination.geo.city_name

城市名称。

keyword

destination.geo.continent_name

大陆名称。

keyword

destination.geo.country_iso_code

国家/地区 ISO 代码。

keyword

destination.geo.country_name

国家/地区名称。

keyword

destination.geo.location

经度和纬度。

geo_point

destination.geo.name

用户定义的位置描述,在其关心的粒度级别。如果这描述的是本地物理实体,则可以是他们的数据中心的名称、楼层号、城市名称。通常不用于自动地理位置。

keyword

destination.geo.region_iso_code

地区 ISO 代码。

keyword

destination.geo.region_name

地区名称。

keyword

destination.ip

目标的 IP 地址(IPv4 或 IPv6)。

ip

destination.mac

目标的 MAC 地址。建议使用 RFC 7042 中的表示法格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,给出八位字节的值作为无符号整数。连续的八位字节用连字符分隔。

keyword

destination.port

目标的端口。

long

dns.question.class

正在查询的记录的类。

keyword

dns.question.name

正在查询的名称。如果 name 字段包含不可打印字符(低于 32 或高于 126),则应将这些字符表示为转义的十进制整数 (\DDD)。应转义反斜杠和引号。制表符、回车符和换行符应分别转换为 \t、\r 和 \n。

keyword

dns.question.registered_domain

最高注册域名,去掉子域名。例如,“foo.example.com”的注册域名是“example.com”。可以使用公共后缀列表之类的列表 (http://publicsuffix.org) 精确确定此值。尝试通过简单地取最后两个标签来近似此值对于诸如“co.uk”之类的 TLD 将不起作用。

keyword

dns.question.subdomain

子域是 registered_domain 下的所有标签。如果域具有多个级别的子域,例如“sub2.sub1.example.com”,则子域字段应包含“sub2.sub1”,不带尾随句点。

keyword

dns.question.top_level_domain

有效顶级域 (eTLD),也称为域后缀,是域名最后一部分。例如,example.com 的顶级域是“com”。可以使用公共后缀列表之类的列表 (http://publicsuffix.org) 精确确定此值。尝试通过简单地取最后一个标签来近似此值对于诸如“co.uk”之类的有效 TLD 将不起作用。

keyword

dns.question.type

正在查询的记录类型。

keyword

dns.type

捕获的 DNS 事件的类型,查询或答案。如果您的 DNS 事件源仅为您提供 DNS 查询,则您应仅创建 dns.type:query 类型的 DNS 事件。如果您的 DNS 事件源也为您提供答案,则您应为每个查询创建一个事件(可选,一旦看到查询就立即创建)。并创建第二个包含所有查询详细信息以及答案数组的事件。

keyword

ecs.version

此事件符合的 ECS 版本。ecs.version 是一个必填字段,必须存在于所有事件中。当跨多个索引进行查询时(这些索引可能符合略有不同的 ECS 版本),此字段允许集成调整到事件的模式版本。

keyword

error.message

错误消息。

match_only_text

event.action

事件捕获的操作。这描述了事件中的信息。它比 event.category 更具体。示例包括 group-addprocess-startedfile-created。该值通常由实现者定义。

keyword

event.category

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的第二级。event.category 代表 ECS 类别的“大桶”。例如,筛选 event.category:process 会产生所有与进程活动相关的事件。此字段与 event.type 密切相关,后者用作子类别。此字段是一个数组。这将允许对属于多个类别的某些事件进行适当的分类。

keyword

event.dataset

事件数据集

constant_keyword

event.duration

事件的持续时间,以纳秒为单位。如果知道 event.startevent.end,则此值应为结束时间和开始时间之差。

long

event.id

描述事件的唯一 ID。

keyword

event.ingested

事件到达中央数据存储的时间戳。这与 @timestamp 不同,后者是事件最初发生的时间。它也与 event.created 不同,后者旨在捕获代理首次看到事件的时间。在正常情况下,假设没有篡改,时间戳的时间顺序应如下所示:@timestamp < event.created < event.ingested

date

event.kind

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的最高级别。event.kind 提供有关事件包含的信息类型的高级信息,而不具体说明事件的内容。例如,此字段的值区分警报事件和指标事件。此字段的值可用于告知应如何处理这些类型的事件。它们可能需要不同的保留策略、不同的访问控制,也可能有助于了解数据是否以规则的间隔传入。

keyword

event.module

事件模块

constant_keyword

event.original

整个事件的原始文本消息。用于证明日志完整性,或者在可能需要完整日志消息(在将其拆分为多个部分之前)的情况下使用,例如,用于重新索引。此字段未编制索引,并且禁用 doc_values。它无法搜索,但可以从 _source 中检索。如果用户希望覆盖此设置并对此字段编制索引,请参阅 Elasticsearch 参考中的 字段数据类型

keyword

event.outcome

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的最低级别。event.outcome 只是表示从生成事件的实体的角度来看,事件是成功还是失败。请注意,当单个事务在多个事件中描述时,每个事件可能会根据其角度填充不同的 event.outcome 值。另请注意,在复合事件(包含多个逻辑事件的单个事件)的情况下,此字段应填充最能从事件生成者的角度捕获整体成功或失败的值。此外,并非所有事件都会有相关结果。例如,通常不会为指标事件、event.type:info 事件或任何结果没有逻辑意义的事件填充此字段。

keyword

event.provider

事件的来源。Syslog 或 Windows 事件日志等事件传输通常会提及事件的来源。它可以是生成事件的软件的名称(例如 Sysmon、httpd),或者操作系统的子系统(内核、Microsoft-Windows-Security-Auditing)。

keyword

event.reason

根据来源,此事件发生的原因。这描述了事件中捕获的特定操作或结果的原因。event.action 捕获事件的操作时,event.reason 描述了采取该操作的原因。例如,event.action 为拒绝请求的 Web 代理也可能使用该原因填充 event.reason(例如 blocked site)。

keyword

event.timezone

当事件的时间戳不包含时区信息时(例如,默认的 Syslog 时间戳),应填充此字段。否则,它是可选的。可接受的时区格式包括:规范 ID(例如“Europe/Amsterdam”)、缩写(例如“EST”)或 HH:mm 差值(例如“-05:00”)。

keyword

event.type

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的第三级。event.type 表示一个分类“子桶”,当与 event.category 字段值一起使用时,可以将事件筛选到适合单个可视化的级别。此字段是一个数组。这将允许对属于多个事件类型的某些事件进行适当的分类。

keyword

haproxy.backend_name

选择用于管理与服务器的连接的后端(或侦听器)的名称。

keyword

haproxy.backend_queue

在后端的全局队列中,此请求之前处理的请求总数。

long

haproxy.bind_name

接收连接的侦听地址的名称。

keyword

haproxy.bytes_read

发出日志时传输到客户端的总字节数。

long

haproxy.connection_wait_time_ms

等待与最终服务器建立连接所花费的总时间(以毫秒为单位)

long

haproxy.connections.active

记录会话时,进程上的并发连接总数。

long

haproxy.connections.backend

记录会话时,后端处理的并发连接总数。

long

haproxy.connections.frontend

记录会话时,前端上的并发连接总数。

long

haproxy.connections.retries

此会话尝试连接到服务器时遇到的连接重试次数。

long

haproxy.connections.server

记录会话时,服务器上仍处于活动状态的并发连接总数。

long

haproxy.error_message

HAProxy 在出错时记录的错误消息。

文本

haproxy.frontend_name

接收并处理连接的前端(或侦听器)的名称。

keyword

haproxy.http.request.captured_cookie

可选的“名称=值”条目,指示服务器已通过其请求返回了一个 cookie。

keyword

haproxy.http.request.captured_headers

由于前端中存在“capture request header”语句,因此在请求中捕获的标头列表。

keyword

haproxy.http.request.raw_request_line

完整的 HTTP 请求行,包括方法、请求和 HTTP 版本字符串。

keyword

haproxy.http.request.time_wait_ms

在收到第一个字节后,等待客户端的完整 HTTP 请求(不包括正文)所花费的总时间(以毫秒为单位)。

long

haproxy.http.request.time_wait_without_data_ms

等待服务器发送完整 HTTP 响应所花费的总时间(以毫秒为单位),不包括数据。

long

haproxy.http.response.captured_cookie

可选的“名称=值”条目,指示客户端的响应中包含此 cookie。

keyword

haproxy.http.response.captured_headers

由于前端中存在“capture response header”语句,因此在响应中捕获的标头列表。

keyword

haproxy.mode

前端运行的模式(TCP 或 HTTP)

keyword

haproxy.server_name

连接发送到的最后一个服务器的名称。

keyword

haproxy.server_queue

在服务器队列中,此请求之前处理的请求总数。

long

haproxy.source

HAProxy 日志的来源

keyword

haproxy.tcp.connection_waiting_time_ms

从接受到最后关闭所经过的总时间(以毫秒为单位)

long

haproxy.termination_state

会话结束时会话所处的状态。

keyword

haproxy.time_backend_connect

等待与最终服务器建立连接所花费的总时间(以毫秒为单位),包括重试。

long

haproxy.time_queue

在各种队列中等待所花费的总时间(以毫秒为单位)。

long

haproxy.total_waiting_time_ms

在各种队列中等待所花费的总时间(以毫秒为单位)

long

host.architecture

操作系统架构。

keyword

host.containerized

主机是否为容器。

布尔值

host.domain

主机所属的域的名称。例如,在 Windows 上,这可能是主机的 Active Directory 域或 NetBIOS 域名。对于 Linux,这可能是主机 LDAP 提供程序的域。

keyword

host.hostname

主机的 hostname。它通常包含主机上 hostname 命令返回的内容。

keyword

host.id

唯一主机 ID。由于主机名并非始终唯一,因此请使用在您的环境中具有意义的值。示例:当前 beat.name 的用法。

keyword

host.ip

主机 IP 地址。

ip

host.mac

主机 MAC 地址。

keyword

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定的域名或用户指定的名称。发送者决定使用哪个值。

keyword

host.os.build

OS 版本信息。

keyword

host.os.codename

OS 代码名称(如果有)。

keyword

host.os.family

操作系统系列(如 redhat、debian、freebsd、windows)。

keyword

host.os.kernel

操作系统的内核版本,以原始字符串形式表示。

keyword

host.os.name

操作系统名称,不带版本。

keyword

host.os.name.text

host.os.name 的多字段。

文本

host.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

host.os.version

操作系统的版本,以原始字符串形式表示。

keyword

host.type

主机类型。对于云提供商,这可以是计算机类型,例如 t2.medium。如果为 VM,这可能是容器,例如,或在您的环境中具有意义的其他信息。

keyword

hostname

来自 syslog 标头的主机名。

keyword

http.request.body.bytes

请求正文的大小(以字节为单位)。

long

http.request.method

HTTP 请求方法。该值应保留其原始事件中的大小写。例如,GETgetGeT 都被视为此字段的有效值。

keyword

http.request.referrer

此 HTTP 请求的引用者。

keyword

http.response.body.bytes

响应正文的大小(以字节为单位)。

long

http.response.bytes

响应(正文和头部)的总字节大小。

long

http.response.mime_type

响应正文的 MIME 类型。此值必须仅根据响应正文的内容填充,而不是根据 Content-Type 头部。将响应的 MIME 类型与响应的 Content-Type 头部进行比较有助于检测配置错误的服务器。

keyword

http.response.status_code

HTTP 响应状态码。

long

http.version

HTTP 版本。

keyword

input.type

Filebeat 输入的类型。

keyword

log.level

日志事件的原始日志级别。如果事件的来源提供了日志级别或文本严重性,则此值会放入 log.level 中。如果您的来源未指定,则可以将事件传输的严重性放在此处(例如,Syslog 严重性)。一些示例是 warnerriinformational

keyword

log.source.address

Syslog 消息的源地址。

keyword

log.syslog.priority

事件的 Syslog 数字优先级(如果可用)。根据 RFC 5424 和 3164,优先级为 8 * facility + severity。因此,此数字应包含 0 到 191 之间的值。

long

message

对于日志事件,message 字段包含日志消息,针对在日志查看器中查看进行了优化。对于没有原始 message 字段的结构化日志,可以将其他字段连接起来以形成事件的人类可读摘要。如果存在多个消息,可以将它们组合成一个消息。

match_only_text

network.bytes

在两个方向上传输的总字节数。如果知道 source.bytesdestination.bytes,则 network.bytes 是它们的总和。

long

network.community_id

源和目标 IP 以及端口的哈希值,以及通信中使用的协议。这是一种与工具无关的标识流的标准。有关详细信息,请访问 https://github.com/corelight/community-id-spec

keyword

network.direction

网络流量的方向。当从基于主机的监控上下文中映射事件时,从主机的角度使用 “ingress” 或 “egress” 值填充此字段。当从基于网络或边界的监控上下文中映射事件时,从网络边界的角度使用 “inbound”、“outbound”、“internal” 或 “external” 值填充此字段。请注意,“internal” 不会跨越边界,而是用于描述边界内两台主机之间的通信。另请注意,“external” 用于描述边界外的两台主机之间的流量。例如,这对于 ISP 或 VPN 服务提供商可能很有用。

keyword

network.iana_number

IANA 协议号 (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)。协议的标准化列表。这与使用 IANA 协议号的 NetFlow 和 sFlow 相关日志非常一致。

keyword

network.packets

在两个方向上传输的总数据包数。如果知道 source.packetsdestination.packets,则 network.packets 是它们的总和。

long

network.protocol

在 OSI 模型中,这将是应用层协议。例如,httpdnsssh。该字段值必须规范化为小写以进行查询。

keyword

network.transport

与 network.iana_number 相同,但使用传输层(udp、tcp、ipv6-icmp 等)的关键字名称。该字段值必须规范化为小写以进行查询。

keyword

network.type

在 OSI 模型中,这将是网络层。ipv4、ipv6、ipsec、pim 等。该字段值必须规范化为小写以进行查询。

keyword

network.vlan.id

观察者报告的 VLAN ID。

keyword

observer.ingress.interface.name

系统报告的接口名称。

keyword

observer.ingress.vlan.id

观察者报告的 VLAN ID。

keyword

观察者的 IP 地址。

observer.ip

ip

观察者的自定义名称。这是一个可以赋予观察者的名称。例如,如果组织中使用多个相同型号的防火墙,这会很有帮助。如果不需要自定义名称,则该字段可以留空。

observer.name

keyword

数据来源的观察者类型。观察者类型没有预定义的列表。一些示例是 forwarderfirewallidsipsproxypollersensorAPM server

observer.type

keyword

观察者的供应商名称。

observer.vendor

keyword

DHCP 租约的期限(以秒为单位)

pfsense.dhcp.age

long

DHCP 唯一标识符 (DUID) 由客户端用于从 DHCPv6 服务器获取 IP 地址。

pfsense.dhcp.duid

keyword

DHCP 客户端的主机名

pfsense.dhcp.hostname

keyword

与 DUID 一起使用以唯一标识 DHCP 客户端的标识关联标识符

pfsense.dhcp.iaid

keyword

DHCP 租用时间(以秒为单位)

pfsense.dhcp.lease_time

long

DHCP 服务器正在为其发布 IP 的子网

pfsense.dhcp.subnet

keyword

DHCP 事务 ID

pfsense.dhcp.transaction_id

keyword

ICMP 代码。

pfsense.icmp.code

long

导致此通知的连接的原始目标地址

pfsense.icmp.destination.ip

ip

回显请求/回复的 ID

pfsense.icmp.id

long

用于后续发送到此目标的 MTU

pfsense.icmp.mtu

long

原始时间戳

pfsense.icmp.otime

date

ICMP 参数。

pfsense.icmp.parameter

long

ICMP 重定向地址。

pfsense.icmp.redirect

ip

接收时间戳

pfsense.icmp.rtime

date

ICMP 序列号。

pfsense.icmp.seq

long

传输时间戳

pfsense.icmp.ttime

date

ICMP 类型。

pfsense.icmp.type

keyword

其他无法访问的信息

pfsense.icmp.unreachable.other

keyword

无法访问的端口号

pfsense.icmp.unreachable.port

long

无法访问的协议 ID

pfsense.icmp.unreachable.protocol_id

keyword

显式拥塞通知。

pfsense.ip.ecn

keyword

IP 标志。

pfsense.ip.flags

keyword

流标签

pfsense.ip.flow_label

keyword

数据包的 ID

pfsense.ip.id

long

分片偏移量

pfsense.ip.offset

long

IP 服务类型标识。

pfsense.ip.tos

keyword

数据包的生存时间 (TTL)

pfsense.ip.ttl

long

有关 Open VPN 客户端的信息

pfsense.openvpn.peer_info

keyword

TCP 确认号。

pfsense.tcp.ack

long

TCP 标志。

pfsense.tcp.flags

keyword

TCP 头部和负载的长度。

pfsense.tcp.length

long

TCP 选项。

pfsense.tcp.options

keyword

TCP 序列号。

pfsense.tcp.seq

long

紧急指针数据。

pfsense.tcp.urg

keyword

公布的 TCP 窗口大小。

pfsense.tcp.window

long

UDP 头部和负载的长度。

pfsense.udp.length

long

进程名称。有时称为程序名称或类似名称。

process.name

keyword

process.name 的多字段。

process.name.text

match_only_text

进程 ID。

process.pid

long

来自 Syslog 头的进程。

process.program

keyword

在您的事件中看到的所有 IP。

related.ip

ip

在事件中看到的所有用户名或其他用户标识符。

related.user

keyword

在代理、观察者或其他使用规则检测此事件的实体的范围内唯一的规则 ID。

rule.id

keyword

一些事件服务器地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应始终将原始地址存储在 .address 字段中。然后,应将其复制到 .ip.domain,具体取决于哪个。

server.address

keyword

从服务器发送到客户端的字节数。

server.bytes

long

服务器的 IP 地址(IPv4 或 IPv6)。

server.ip

ip

服务器的 MAC 地址。建议使用 RFC 7042 中的表示法格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,给出八位字节作为无符号整数的值。连续的八位字节用连字符分隔。

server.mac

keyword

服务器的端口。

server.port

long

Snort 警报消息。

snort.alert_message

keyword

Snort 分类。

snort.classification

keyword

Snort 生成器 ID。

snort.generator_id

keyword

Snort 预处理器。

snort.preprocessor

keyword

Snort 优先级。

snort.priority

long

Snort 签名 ID。

snort.signature_id

keyword

Snort 签名修订版。

snort.signature_revision

keyword

一些事件源地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应始终将原始地址存储在 .address 字段中。然后,应将其复制到 .ip.domain,具体取决于哪个。

source.address

keyword

source.as.number

分配给自治系统的唯一编号。自治系统编号 (ASN) 唯一标识 Internet 上的每个网络。

long

source.as.organization.name

组织名称。

keyword

source.as.organization.name 的多字段。

source.as.organization.name.text

match_only_text

从源发送到目标的字节数。

source.bytes

long

源系统的域名。此值可以是主机名、完全限定的域名或其他主机命名格式。该值可能来自原始事件或从扩充添加。

source.domain

keyword

source.geo.city_name

城市名称。

keyword

source.geo.continent_name

大陆名称。

keyword

source.geo.country_iso_code

国家/地区 ISO 代码。

keyword

source.geo.country_name

国家/地区名称。

keyword

source.geo.location

经度和纬度。

geo_point

source.geo.name

用户定义的位置描述,在其关心的粒度级别。如果这描述的是本地物理实体,则可以是他们的数据中心的名称、楼层号、城市名称。通常不用于自动地理位置。

keyword

source.geo.region_iso_code

地区 ISO 代码。

keyword

source.geo.region_name

地区名称。

keyword

源的 IP 地址(IPv4 或 IPv6)。

source.ip

ip

源的 MAC 地址。建议使用 RFC 7042 中的表示法格式:每个八位字节(即 8 位字节)由两个 [大写] 十六进制数字表示,给出八位字节作为无符号整数的值。连续的八位字节用连字符分隔。

source.mac

keyword

基于 NAT 会话的源的已转换 IP(例如,内部客户端到 Internet)。通常是遍历负载均衡器、防火墙或路由器的连接。

source.nat.ip

ip

源的端口。

source.port

long

用户的全名(如果可用)。

source.user.full_name

keyword

source.user.full_name 的多字段。

source.user.full_name.text

match_only_text

用户的唯一标识符。

source.user.id

keyword

代理层次结构路由;内容网关用于检索对象的路由。

squid.hierarchy_status

keyword

缓存结果代码;缓存如何响应请求:HIT、MISS 等。缓存结果代码在此处 描述

squid.request_status

keyword

用于标记每个事件的关键字列表。

tags

keyword

指示当前连接期间使用的密码的字符串。

tls.cipher

keyword

从原始字符串解析的版本号的数值部分。

tls.version

keyword

从原始字符串解析的规范化小写协议名称。

tls.version_protocol

keyword

url.domain

URL 的域名,例如 "https://elastic.ac.cn[www.elastic.co]"。在某些情况下,URL 可能直接引用 IP 和/或端口,而没有域名。在这种情况下,IP 地址将进入 domain 字段。如果 URL 包含由 [] (IETF RFC 2732) 括起来的 IPv6 字面地址,则 [] 字符也应捕获到 domain 字段中。

keyword

url.extension

该字段包含原始请求 URL 中的文件扩展名,不包括前导点。仅当文件扩展名存在时才会设置,因为并非每个 URL 都有文件扩展名。不应包含前导句点。例如,值必须是 "png",而不是 ".png"。请注意,当文件名有多个扩展名 (例如 example.tar.gz) 时,只应捕获最后一个扩展名 ("gz",而不是 "tar.gz")。

keyword

url.full

如果完整 URL 对您的用例很重要,则应将其存储在 url.full 中,无论此字段是重建的还是存在于事件源中。

wildcard

url.full.text

url.full 的多字段。

match_only_text

url.original

事件源中看到的未经修改的原始 URL。请注意,在网络监控中,观察到的 URL 可能是完整 URL,而在访问日志中,URL 通常仅表示为路径。此字段旨在表示观察到的 URL,无论是否完整。

wildcard

url.original.text

url.original 的多字段。

match_only_text

url.password

请求的密码。

keyword

url.path

请求的路径,例如 "/search"。

wildcard

url.port

请求的端口,例如 443。

long

url.query

query 字段描述请求的查询字符串,例如 "q=elasticsearch"。? 不包含在查询字符串中。如果 URL 不包含 ?,则没有 query 字段。如果存在 ? 但没有查询,则 query 字段存在,且为空字符串。可以使用 exists 查询来区分这两种情况。

keyword

url.scheme

请求的方案,例如 "https"。注意:: 不是方案的一部分。

keyword

url.username

请求的用户名。

keyword

user.domain

用户所属的目录名称。例如,LDAP 或 Active Directory 域名。

keyword

user.email

用户电子邮件地址。

keyword

user.full_name

source.user.full_name

keyword

user.full_name.text

user.full_name 的多字段。

match_only_text

user.id

source.user.id

keyword

user.name

用户的简称或登录名。

keyword

user.name.text

user.name 的多字段。

match_only_text

user_agent.device.name

设备的名称。

keyword

user_agent.name

用户代理的名称。

keyword

user_agent.original

未解析的 user_agent 字符串。

keyword

user_agent.original.text

user_agent.original 的多字段。

match_only_text

user_agent.os.full

操作系统名称,包括版本或代码名称。

keyword

user_agent.os.full.text

user_agent.os.full 的多字段。

match_only_text

user_agent.os.name

操作系统名称,不带版本。

keyword

user_agent.os.name.text

user_agent.os.name 的多字段。

match_only_text

user_agent.os.version

操作系统的版本,以原始字符串形式表示。

keyword

user_agent.version

用户代理的版本。

keyword

更新日志

编辑
更新日志
版本 详情 Kibana 版本

1.20.2

错误修复 (查看拉取请求)
在引用摄取管道中的变量时,使用三重大括号 Mustache 模板。

8.7.1 或更高版本

1.20.1

错误修复 (查看拉取请求)
在引用摄取管道中的变量时,使用三重大括号 Mustache 模板。

8.7.1 或更高版本

1.20.0

增强 (查看拉取请求)
添加 SNORT 日志处理

8.7.1 或更高版本

1.19.2

错误修复 (查看拉取请求)
修复防火墙 ICMPv6 消息解析错误

8.7.1 或更高版本

1.19.1

错误修复 (查看拉取请求)
修复摄取管道警告

8.7.1 或更高版本

1.19.0

增强 (查看拉取请求)
将包规范更新为 3.0.3。

8.7.1 或更高版本

1.18.0

增强 (查看拉取请求)
ECS 版本更新到 8.11.0。

8.7.1 或更高版本

1.17.0

增强 (查看拉取请求)
改进 *event.original* 检查,以避免设置时出错。

8.7.1 或更高版本

1.16.0

增强 (查看拉取请求)
设置 *community* 所有者类型。

8.7.1 或更高版本

1.15.0

增强 (查看拉取请求)
将包 format_version 更新到 3.0.0。

8.7.1 或更高版本

1.14.0

增强 (查看拉取请求)
将包更新到 ECS 8.10.0 并对齐 ECS 分类字段。

8.7.1 或更高版本

1.13.0

增强 (查看拉取请求)
添加 tags.yml 文件,以便将集成的仪表板和保存的搜索标记为“安全解决方案”,并在安全解决方案 UI 中显示。

8.7.1 或更高版本

1.12.0

增强 (查看拉取请求)
将包规范更新为 2.10.0。

8.7.1 或更高版本

1.11.0

增强 (查看拉取请求)
将包更新到 ECS 8.9.0。

8.7.1 或更高版本

1.10.1

增强 (查看拉取请求)
将仪表板转换为 Lens。

8.7.1 或更高版本

1.9.1

错误修复 (查看拉取请求)
修复协议 ID 字段映射。

8.1.0 或更高版本

1.9.0

增强 (查看拉取请求)
确保为管道错误正确设置 event.kind。

8.1.0 或更高版本

1.8.0

增强 (查看拉取请求)
将包更新到 ECS 8.8.0。

8.1.0 或更高版本

1.7.0

增强 (查看拉取请求)
将包更新到 ECS 8.7.0。

8.1.0 或更高版本

1.6.4

错误修复 (查看拉取请求)
修复 squid GROK 模式

8.1.0 或更高版本

1.6.3

增强 (查看拉取请求)
添加了类别和/或子类别。

8.1.0 或更高版本

1.6.2

错误修复 (查看拉取请求)
确保正确解释数字时区。

8.1.0 或更高版本

1.6.1

错误修复 (查看拉取请求)
修复自述文件中的拼写错误。

8.1.0 或更高版本

1.6.0

增强 (查看拉取请求)
将包更新到 ECS 8.6.0。

8.1.0 或更高版本

1.5.0

增强 (查看拉取请求)
udp_options 添加到 UDP 输入。

8.1.0 或更高版本

1.4.2

增强 (查看拉取请求)
将可视化迁移到仪表板中的值,以最大限度地减少保存的对象混乱并缩短加载时间

8.1.0 或更高版本

1.4.1

错误修复 (查看拉取请求)
修复 OPNsense 的摄取管道 grok 模式。

7.15.0 或更高版本
8.0.0 或更高版本

1.4.0

增强 (查看拉取请求)
将包更新到 ECS 8.5.0。

7.15.0 或更高版本
8.0.0 或更高版本

1.3.2

增强 (查看拉取请求)
使用 ECS geo.location 定义。

7.15.0 或更高版本
8.0.0 或更高版本

1.3.1

增强 (查看拉取请求)
修复冗余 Grok 模式

7.15.0 或更高版本
8.0.0 或更高版本

1.3.0

增强 (查看拉取请求)
添加 DHCPv6 支持

7.15.0 或更高版本
8.0.0 或更高版本

1.2.0

增强 (查看拉取请求)
将包更新到 ECS 8.4.0

7.15.0 或更高版本
8.0.0 或更高版本

1.1.2

增强 (查看拉取请求)
更新包名称和描述以与标准措辞保持一致

7.15.0 或更高版本
8.0.0 或更高版本

1.1.1

错误修复 (查看拉取请求)
修复 grok 以支持新的 opensense 日志格式

7.15.0 或更高版本
8.0.0 或更高版本

1.1.0

增强 (查看拉取请求)
将包更新到 ECS 8.3.0。

7.15.0 或更高版本
8.0.0 或更高版本

1.0.3

增强功能 (查看拉取请求)
更新了文档中指向供应商文档的链接

7.15.0 或更高版本
8.0.0 或更高版本

1.0.2

缺陷修复 (查看拉取请求)
更新 HAProxy 日志解析以处理非 HTTPS 和 TCP 日志

1.0.1

缺陷修复 (查看拉取请求)
按照 ECS 格式化 client.mac。

7.15.0 或更高版本
8.0.0 或更高版本

1.0.0

缺陷修复 (查看拉取请求)
添加 OPNsense 支持。添加 PHP-FPM 日志解析。

7.15.0 或更高版本
8.0.0 或更高版本

0.4.0

增强功能 (查看拉取请求)
更新至 ECS 8.2

0.3.1

增强功能 (查看拉取请求)
添加多字段的文档

0.3.0

增强功能 (查看拉取请求)
更新至 ECS 8.0

0.2.2

缺陷修复 (查看拉取请求)
使用新的 GeoIP 数据库重新生成测试文件

0.2.1

缺陷修复 (查看拉取请求)
将测试公共 IP 更改为支持的子集

0.2.0

增强功能 (查看拉取请求)
添加 8.0.0 版本约束

0.1.3

增强功能 (查看拉取请求)
与指南统一

0.1.2

增强功能 (查看拉取请求)
更新标题和描述。

0.1.1

缺陷修复 (查看拉取请求)
修复检查 *forwarded* 标签的逻辑

0.1.0

增强功能 (查看拉取请求)
初始版本