JSON 比較機能 (json-matcher)

JSON 比較機能 (json-matcher) エンティティーは、構文解析されるフィールドであり、構文解析のために適切なパターンおよびグループと組み合わせます。 このエンティティーは、 IBM QRadar V7.3.1で新しく追加されました。

同じフィールド名に対して複数の比較機能が指定された場合は、正常に構文解析されるまで、記述された順序で比較機能が実行されます。

表 1. JSON 比較機能のパラメーターの説明
パラメーター 説明

field (必須)

パターンの適用対象フィールド (EventName または SourceIp など)。 「有効なマッチャー・フィールド名のリスト」 表にリストされている任意のフィールド名を使用できます。

pattern-id (必須)

ペイロードにあるフィールドを構文解析するときに使用するパターン。 この値は、定義済みパターンの ID パラメーターに (大文字と小文字の違いも含めて) 一致していなければなりません。 (表 1)

order (必須)

同じフィールドに割り当てた比較機能の中で、このパターンを適用する順序。 EventName フィールドに 2 つの比較機能を割り当てた場合は、order が最も小さいものが最初に適用されます。

正規表現比較機能と JSON 比較機能は、1 つのリストに結合されます。 異なるタイプの複数の比較機能が、それぞれの順序に基づいて試行されます。このプロセスは、比較機能のうちのいずれかがペイロードのデータを構文解析できた時点で停止します。

enable-substitutions (オプション)

ブール値

true に設定した場合は、連続したグループ・キャプチャーで適切にフィールドを表記することができません。 複数のグループを追加のテキストと組み合わせて値を作成することができます。

パターンが複数のキー・パス形式になっている場合は、常に enable-subtitutions 値を「=true」に設定して、パターンと式に含まれる各キー・パスが、ペイロードで検出された値に置き換わるようにしてください。 例えば、JSON ペイロードに first_name フィールドと last_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 エンティティーによって処理されないカテゴリーを持つイベントに対するイベント・カテゴリー。

EventCategory は、EventName と組み合わせて 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

デバイスで使用する時刻および形式。 デバイスによっては、この日時スタンプがイベントの送信時刻を表します。 このパラメーターはイベントの受信時刻を表すわけではありません。 ext-data の比較機能属性を使用することによって、DeviceTime フィールドでイベントのカスタム日時スタンプを使用できます。

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 Web ページ (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 アドレス。