カスタム・プロパティー式を使用したカスタム・プロパティーの定義
カスタム・プロパティー式を使用して、イベント・ペイロードのカスタム・プロパティーを定義します。 JSON 解析は有効な JSON オブジェクトが検出されると開始されるため、イベント全体が JSON フォーマットである必要はありません。 同様に、LEEF 解析および CEF 解析は、イベント内で有効な LEEF/CEF メッセージが検出された場合にのみ開始されます。 正規表現解析は、ペイロード全体で実行されます。
このタスクについて
IBM
QRadar は、以下のカスタム・プロパティー式タイプをサポートします。
- 正規表現
- JSON
- LEEF
- CEF
- 名前と値のペア
- ジェネリック・リスト
- XML
さまざまな式を使用して、同じイベントでさまざまなカスタム・プロパティーをキャプチャーすることができます。 また、複数のイベント形式からカスタム・プロパティーをキャプチャーできる場合は、複数のタイプの式の組み合わせを使用して、同じカスタム・プロパティーをキャプチャーすることもできます。
手順
- QRadar にログインし、 「管理」 タブをクリックします。
- 「データ・ソース」 セクションで、 「カスタム・イベント・プロパティー」をクリックし、 「追加」をクリックします。
- 「プロパティー・タイプの選択」 セクションで、 「抽出ベース」を選択します。
- 「テスト・フィールド」に、カスタム・プロパティーのテストに使用するイベント・ペイロードを入力します。
- 「プロパティー定義」 セクションで、以下の手順を実行します。
- 既存のプロパティーに式を追加する場合は、 「既存のプロパティー」 を選択し、リストからプロパティーを選択します。
- 新規プロパティーを定義する場合は、 「新規プロパティー」 を選択して、プロパティーの名前を入力します。
- ルール、レポート、および検索にこのプロパティーを使用するには、 「ルール、転送プロファイル、および検索の索引付けで使用可能」 チェック・ボックスを選択します。ルールおよび索引にプロパティーを使用するには、このチェック・ボックスを選択する必要があります。 このチェック・ボックスを選択すると、レポートおよび検索の効率が向上しますが、レポートおよび検索にプロパティーを使用するためにこれを選択する必要はありません。 このチェック・ボックスを選択すると、イベントが最初に受信されたときに、イベントが保存される前にプロパティーが解析されます。 その結果、負荷がイベント収集サービスにかかります。
- プロパティーの 「フィールド・タイプ」 を選択します。カスタム・プロパティーのタイプとして IP を選択した場合、 QRadar は IPv4のみをサポートします。
- オプション: プロパティーの説明を入力します。
- 「プロパティー式の定義」 セクションで、以下の手順を実行します。
- 「有効」 チェック・ボックスを選択したままにします。それ以外の場合は、チェック・ボックスをクリアしてプロパティーを無効にします。
- 「ログ・ソース・タイプ」 リストから、プロパティーのログ・ソース・タイプを選択します。
- 式が特定のログ・ソースのイベントに対してのみ評価される場合は、 「ログ・ソース」 リストからログ・ソースを選択します。 すべてのログ・ソースに対して式を評価する場合は、選択しないでください。
- 特定のイベント名または QID を持つイベントに対してのみ式が評価される場合は、 「イベント名」 をクリックし、式を関連付ける QID を参照します。
- 特定の下位カテゴリーを持つイベントに対して式が評価される場合は、 「カテゴリー」を選択し、イベントの 「上位カテゴリー」 を選択してから、 「下位カテゴリー」 を選択します。ヒント: 選択したログ・ソース・タイプおよびログ・ソースのすべてのイベントについて式が評価される場合は、 「下位カテゴリー」 および 「上位カテゴリー」 を 「すべて」に設定していることを確認してください。
- 「抽出方法」 フィールドから、プロパティーに使用する抽出方法を選択します。
表 1. プロパティーの抽出方法 抽出方法 有効な式の形式 例 正規表現 正規表現を入力してグループ番号をキャプチャーします。 JSON キー・パス 有効な JSON 式は、次の形式です。/"<name of top-level field>"ネストされた JSON フォーマットのイベントの場合、有効な JSON 式は次の形式です。/"<name of top-level field>"/"<name of sub-level field_1>".../"<name of sub-level field_n>"「user」フィールドを抽出するには、 JsonKeypath フィールドに
/"user"と入力します。「user」サブオブジェクトから「last_name」の値だけを抽出するには、次の式を入力します。/"user"/"last_name"以下の例は、フラット JSON レコードのイベントの単純なケースを示しています。{"action": "login", "user": "Firstname Lastname"}以下の例は、ネストされたオブジェクトを持つ JSON レコードのイベントの複雑なケースを示しています。{ "action": "login", "user": { "first_name": "Firstname", "last_name": "Lastname" } }LEEF キー 有効な LEEF 式は、単一のキー参照または特殊な LEEF ヘッダー・フィールド参照の形式になります。 'usrName' プロパティを抽出するには、LEEF Key フィールドに
usrNameと入力します。これらの例で抽出できるキーは以下のとおりです。- devTimeFormat
- devTime
- usrName
- 名前
- authType
- src
ヘッダー・キー・プロパティーを抽出するには、「LEEF キー」フィールドに以下の形式でキーを入力します。$eventid$以下の式を使用して、LEEF ヘッダー値を抽出できます。- $leefversion$
- $vendor$
- $product$
- $バージョン $
- $eventid$
以下の例は、LEEF V1.0 形式のイベントの単純なケースを示しています。LEEF:1.0|ABC Company|SystemDefender|1.13|console_login| devTimeFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ devTime=2017-10-18T11:26:03.060+0200 usrName=flastname name=Firstname Lastname authType=interactivePassword src=192.168.0.1以下の例は、キャレット (^) 区切り文字が使用されている LEEF V2.0 形式のイベントの単純なケースを示しており、LEEF V1.0 の例と同じキーが含まれています。LEEF:2.0|ABC Company|SystemDefender|1.13|console_login|^| devTimeFormat=yyyy-MMdd'T'HH:mm:ss.SSSZ^ devTime=2017-10-18T11:26:03.060+0200^usrName= flastname^name=Firstname Lastname ^authType=interactivePassword^src=192.168.0.1CEF キー 有効な CEF 式は、単一のキー参照、または特殊な CEF ヘッダー・フィールド参照の形式になります。 「cs1」プロパティーを抽出するには、「CEF キー」フィールドに
cs1と入力します。この例で抽出できるキーは以下のとおりです。
- 開始
- duser
- cs1
- cs1Label
- cs2
- cs2Label
- src
ヘッダー・キー・プロパティーを抽出するには、「CEF キー」フィールドに以下の形式でキーを入力します。$id$以下の式を使用して CEF ヘッダー値を抽出できます。- $cefversion$
- $vendor$
- $product$
- $バージョン $
- ¥ id¥
- 名前
- 厳しさ
以下の例は、CEF 形式のイベントを示しています。CEF:0|ABC Company|SystemDefender|1.13|console_login| Console Login|1|start=Oct 18 2017 11:26:03 duser=flastname cs1=Firstname Lastname cs1Label=Person Name cs2=interactivePassword cs2Label=authType src=192.168.0.1「名前と値のペア」キー 有効な「名前と値のペア」式は、単一のキー参照の形式になります。 以下の例では、「名前と値のペア」形式のイベントを示します。Company=ABC Company;Product=SystemDefender; Version=1.13;EventID=console_login; Username=jsmith;Name=John Smith;authType=interactivePassword;「ジェネリック・リスト」キー・パス 有効な一般リスト式は、 $<number> 表記の形式になっています。 例えば、$0 はリスト内の最初のプロパティーを表し、$1 は 2 番目のプロパティーである、というようになります。 以下の例では、ジェネリック・リストの形式のイベントを示します。ABC Company;1.13;console_login;jsmith; John Smith;interactivePassword;XML キー 有効な XML 式は、単一のキー参照の形式になります。 プロパティー値を設定するための XML フィールドへのパスを入力します。 XML キー・パスの先頭には、XML オブジェクトのルートを示すスラッシュ (/) を指定し、その後ろに 1 つ以上の XML フィールド名を二重引用符で囲んで指定する必要があります。
XML 形式のイベントを次の例に示します。<EPOEvent><MachineInfo> <MachineName>NEPTUNE</MachineName> <MachineName>VALUE23</MachineName><AgentGUID> 9B-B5-A6-A8-37-B3</AgentGUID><IPAddress someattrib="someattribvalue"> 192.0.2.0</IPAddress> <OSName>Windows 7</OSName><UserName>I am a test user</UserName></MachineInfo></EPOEvent> - 「プロパティー定義」 セクションで数値 「フィールド・タイプ」 を選択した場合は、 「形式」 セクションの 「抽出された数値の形式」 フィールドで数値形式を選択して、カスタム・プロパティーのロケールの数字グループ区切り文字を定義します。
- 「プロパティーの定義」 セクションで「日付/時刻」 「フィールド・タイプ」 を選択した場合は、 「抽出された日付/時刻の形式」 フィールドと 「ロケール」 フィールドに 「形式」 セクションの形式を入力して、カスタム・プロパティーのロケールの日時を定義します。
- プロパティー式の定義をテストするには、 「テスト」 をクリックします。
- 「保存」をクリックします。