[Cortex XDR/XSIAM]データを指定のDatasetへ振り分ける - Parsing Rules -

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
告知
L4 Transporter
評価なし

 

 

はじめに

 

この記事ではParsing Rulesを使用してログを指定のDatasetへ振り分ける方法について説明します。

応用的な内容になるので、あらかじめSyslog collectorParsing Rulesを理解しておくことをお勧めします。

 

 

 

Parsing Rulesでデータセットを振り分ける

 

Broker VMがセキュリティデバイスから異なるフォーマットのデータを受信しCortex XDRに転送する場合、

Parsing Rulesを使ってデータ内容を解析し、条件に応じて格納先のデータセットを選択することが可能です。

 

例えば、以下のようにあるセキュリティデバイスがBroker VM(Syslog Collector)にデータを送信する場合、

Parsing Rulesを使ってDataset A, B, C, Dといった具合に振り分けること可能です。

 

 

 

 

 

                                                                                                                                                                |---->    dataset A

                                                                                                                                                                |

| Security Device | ---> syslog ---> | Broker VM | -----> | Cortex  XDR | ---+---->   dataset B

                                                                                                                                                                |

                                                                                                                                                                |---->   dataset C

                                                                                                                                                                |

                                                                                                                                                                |---->   dataset D

 

 

 

サンプル構成

 

ここでは、以下4つのタイプのログが1つのデバイス(IPアドレスが192.168.68.15)から送信されてくるものと仮定し、

これらのログを個別のデータセット(青字の名前で)に送信したいと思います。

ログは説明のために単純化しており、現実に存在する形式のデータではありませんのであらかじめご了承ください。

 

 

データセット名:ipscompany_ips_100_raw

CEF:0|ipscompany|ips-100|1.1|4000000|traffic|9|date=2023-11-24 time=08:20:32 srcip=192.168.68.160 srcport=12345 dstip=8.8.8.8 dstport=443 hostname=server01 action=allowa bipsytes=200

 

 

データセット名:ifwcompany_fw_01_raw

CEF:0|fwcompany|fw-01|2.0|1200000|traffic|1|date=2023-11-24 time=08:20:32 srcip=192.168.100.10 srcport=12345 dstip=8.8.8.8 dstport=443 hostname=server01 action=allow bytes=100

 

 

データセット名:igwcompany_webproxy_raw

proxysvr 2023-11-24 18:00:10 44 172.16.10.1 200 TCP_ALLOW 1000 392 GET http aaa.example.com 80 /do/search ?hl=de-DE&q=t&client=chrome "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko" ALLOW 192.168.165.100

 

 

データセット名:logsvr_logsvr_raw

logsvr This is sample message.

 

上2つログはCEFフォーマット、下の2つのログは形式が指定されていない文字列になっています。

結果として以下の構成になることを想定しています。 

 

 

                                                                                                                                                                |---->    ipscompany_ips_100_raw

 ↓192.168.68.15                                                                                                                        |

| Security Device | ---> syslog ---> | Broker VM | -----> | Cortex  XDR | ---+---->   fwcompany_fw_01_raw

                                                                                                                                                                |

                                                                                                                                                                |---->   igwcompany_webproxy_raw

                                                                                                                                                                |

                                                                                                                                                                |---->   logsvr_logsvr_raw

 

 

Syslog Collector(Broker VM)の設定

 

192.168.68.15から送信されるログに対する対応として、フォーマットは自動検出、VENDORをCOMPANY01、PRDUCTをCOLLECTORとしています。

syslogcollector-setting.png

 

 

 

 

CEFフォーマットのログに対する処理(上2つのログ)

Cortex XDRはCEFフォーマットのログを自動的にパースし、パースされたログをDevice Product、Device Vendorに書かれた名前を使用したデータセットに保存します。

ここでは特にParsing Rulesによる解析は行いません。

その結果、

・1行目のサンプルログの場合、ipscompany_ips_100_rawというデータセットに保存されます。

・2行目のサンプルログの場合、fwcompany_fw_01_rawというデータセットに保存されます。

 

 

CEFフォーマットではないログに対する処理(下2つのログ)

一方で、下2つログはCEFフォーマットではありません。データの内容をParsing Rulesで解析し、

条件に一致したデータを指定のDatasetに保存するようにします。

 

Parsing Rulesの例

3行目のサンプルログの場合、_raw_logを分割(split)した時に、5番目の要素(*1)をserver_nameというフィールドとし、

server_nameにproxysvrを持つログを指定のデータセットに保存するようにしています。

またログに"WEBPROXY"というタグも追加しています。

ヒットしないログは指定したデータセットに保存しません。

 

[INGEST:vendor = "COMPANY01" , product = "COLLECTOR" , target_dataset = igwcompany_webproxy_raw, no_hit = drop]
alter server_name = trim(arrayindex(split(_raw_log),4)) |
filter server_name="proxysvr" |
tag add "WEBPROXY";

 

 

4行目のサンプルログの場合、_raw_logを分割(split)した時に、5番目の要素(*1)をserver_nameというフィールドとし、

server_nameにlogsvrを持つログを指定のデータセットに保存するようにしています。

またログに"SYSLOGSVR"というタグも追加しています。

ヒットしないログは指定したデータセットに保存しません。

 

 

[INGEST:vendor = "COMPANY01" , product = "COLLECTOR" , target_dataset = logsvr_logsvr_raw, no_hit = drop]
alter server_name = trim(arrayindex(split(_raw_log),4)) |
filter server_name="logsvr" |
tag add "SYSLOGSVR";

 

*1.実際にsyslogでデータを転送した時にタイムスタンプなどのフィールドがメッセージの前部に付与されていたため、

5番目のフィールド(indexは4)としています。

例)<12> JUN 6 15:53:00 ubuntu logsvr This is sample message.

 

実際の画面

 parsingrules.png

 

 

 

Datasetの様子(取り込まれた後)

 

ログが取り込まれると以下のようにDatasetに作成されます。

dataset.png

 

 

XQLで確認

 

ipscompany_ips_100_raw

CEFフォーマットのデータが自動でパースされています。

xql-1.png

 

fwcompany_fw_01_raw

CEFフォーマットのデータが自動でパースされています。

xql-2.png

 

igwcompany_webproxy_raw

タグ(_tag)が付与され、Broker VMで指定したVENDOR、PRODUCTが指定されています。

server_nameというフィールドが追加されています。

xql-3.png

 

 logsvr_logsvr_raw

タグ(_tag)が付与され、Broker VMで指定したVENDOR、PRODUCTが指定されています。

server_nameというフィールドが追加されています。

xql-4.png

 

 

Parsing Rulesに一致しなかったログ 

 

Broker VMで指定したVENDOR/PRODUCTを使って作成されたDataset(ここではcompany01_collector_raw)に保存されます。

 

xql-5.png

 

 

 

 

Tech Doc

Parsing RulesのINGESTセクションに関する詳細はこちら

この記事を評価:
  • 1627 閲覧回数
  • 0 コメント
  • 0 賞賛
Register or Sign-in
寄稿者
記事ダッシュボード
バージョン履歴
最終更新日:
‎11-29-2023 04:26 AM
更新者: