JSON 匹配器 (json-matcher)

JSON-matcher (json-matcher) 实体是一个经过解析的字段,并与相应的模式和组进行配对以进行解析。 此实体是 IBM QRadar V7.3.1中的新增内容。

如果为同一字段名称指定了多个匹配器,那么将按显示的顺序运行匹配器,直到找到成功的解析为止。

表 1. JSON 匹配器参数的描述
参数 描述

field (必需)

要应用模式的字段; 例如, EventName 或 SourceIp。 您可以使用 有效匹配器字段名称列表 表中列出的任何字段名称。

pattern-id (必需)

从有效内容解析字段时要使用的模式。 此值必须与已定义模式的标识参数匹配 (包括大小写)。 (表 1)

order (必需)

您希望此模式在分配给同一字段的匹配器之间尝试的顺序。 如果将两个匹配器分配给 EventName 字段,那么将首先尝试顺序最低的匹配器。

常规正则表达式匹配器和 JSON 匹配器组合成一个列表。 将根据不同类型的匹配器的顺序来尝试这些匹配器,当其中一个匹配器能够从有效内容中解析数据时,该过程将停止。

enable-substitutions (可选)

布尔值

设置为 true时,无法使用直线组捕获来充分表示字段。 您可以将多个组与额外文本组合以形成值。

在模式采用多键路径形式的任何位置,将 enable-subtitutions 值设置为 "= true" ,以便将模式和表达式中的每个键路径替换为有效内容找到的值。 例如,如果 JSON 有效内容包含 first_namelast_name 字段,但不包含 full_name 字段,那么可以定义包含多个密钥路径的表达式,例如 {/"last_name"}, {/"first_name"}。 此表达式的捕获值为 smith , john。

缺省值为 false。

ext-data (可选)

额外数据参数,用于定义匹配器字段可以在扩展中提供的任何额外字段信息或格式。

当前使用此参数的唯一字段是 DeviceTime。

例如,您可能有一个使用唯一时间戳记发送事件的设备,但您希望将事件重新格式化为标准设备时间。 使用 DeviceTime 字段随附的 ext-data 参数来重新格式化事件的日期和时间戳记。 有关更多信息,请参阅 有效 JSON 匹配器字段名称列表

下表列出了有效的 JSON 匹配器 字段名称。

表 2. 有效 JSON 匹配器 字段名称的列表
字段名称 描述

EventName (必需)

要从 QID 检索以标识事件的事件名称。

注: 此参数不会显示为 日志活动 选项卡中的字段。

EventCategory

具有未由 event-match-single 实体或 event-match-multiple 实体处理的类别的任何事件的事件类别。

与 EventName, EventCategory 结合使用,可在QID中搜索活动。 用于 QIDmap 查找的字段需要在 QRadar 系统已知设备时设置覆盖标志,例如:
<event-match-single event-name="Successfully logged in" force-qidmap-lookup-on-fixup="true" device-event-category="CiscoNAC" severity="4" send-identity="OverrideAndNeverSend" />
force-qidmap-lookup-on-fixup="true" 是标志覆盖。
注: 此参数不会显示为 日志活动 选项卡中的字段。

SourceIp

消息的源 IP 地址。

SourcePort

消息的源端口。

SourceIpPreNAT

发生网络地址转换 (NAT) 之前消息的源 IP 地址。

SourceIpPostNAT

发生 NAT 后消息的源 IP 地址。

SourceMAC

消息的源 MAC 地址。

SourcePortPreNAT

发生 NAT 之前消息的源端口。

SourcePortPostNAT

发生 NAT 后消息的源端口。

DestinationIp

消息的目标 IP 地址。

DestinationPort

消息的目标端口。

DestinationIpPreNAT

发生 NAT 之前消息的目标 IP 地址。

DestinationIpPostNAT

发生 NAT 后消息的目标 IP 地址。

DestinationPortPreNAT

发生 NAT 之前消息的目标端口。

DestinationPortPostNAT

发生 NAT 后消息的目标端口。

DestinationMAC

消息的目标 MAC 地址。

DeviceTime

设备使用的时间和格式。 此日期和时间戳记表示根据设备发送事件的时间。 此参数不代表事件到达的时间。 DeviceTime 字段支持使用 ext-data Matcher 属性对事件使用定制日期和时间戳记。

以下列表包含可在 DeviceTime 字段中使用的日期和时间戳记格式的示例:

  • ext-data="dd/MMM/YYYY :hh:mm:ss "

    11/Mar/2015:05:26:00

  • ext-data = "MMM dd YYYY/hh:mm:ss "

    Mar 11 2015 / 05:26:00

  • ext-data="hh:mm:ss: dd/MMM/YYYY "

    05:26:00:11/Mar/2015

有关数据和时间戳格式的可能值的更多信息,请参阅 Java SimpleDateFormat 网页 ( https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html )。

DeviceTime 是唯一使用 ext-data 参数的事件字段。

协议

消息的协议; 例如, TCP , UDP 或 ICMP。

UserName

消息的用户名。

HostName

消息的主机名。 通常,此字段与身份事件相关联。

GroupName

消息的组名。 通常,此字段与身份事件相关联。

IdentityIp

消息的身份 IP 地址。

IdentityMac

消息的身份 MAC 地址。

IdentityIpv6

消息的 IPv6 身份 IP 地址。

NetBIOSName

消息的 NetBIOS 名称。 通常,此字段与身份事件相关联。

ExtraIdentityData

消息的任何特定于用户的数据。 通常,此字段与身份事件相关联。

SourceIpv6

消息的 IPv6 源 IP 地址。

DestinationIpv6

消息的 IPv6 目标 IP 地址。