- 限定コンテンツへのアクセス
- 他ユーザーとのつながり
- あなたの体験を共有
- サポート情報の発見
この記事ではサードパーティのログを取り込むための1つの例として、
Broker VMのSyslog Collectorを使用してログをCortex XDRに送信する方法、送信したデータをXQLを使用して抽出する方法について説明します。
設定の勘所をお伝えすることを目的にしているので、設定の内容や動作について保証するものではないことをご承知おきください。
またBroker VMの詳細設定はTech Docsを確認してください。(この記事の一番下にリンクを付けています)
ログの送信の概要
ここではSquidサーバのログをsyslogでBroker VM(syslog collector)に送信し、Broker VMがCortex XDRへログを送信する例を紹介します。
Broker VMの概要はこちらを事前に読んでいただけると良いかと思います。
構成は以下の通りです。
| Squidサーバ(Linux,rsyslogdが起動) | --(514/UDP)--> | Broker VM | --> | Cortex XDR |
syslog collectorを使用する場合、ログはCEF/LEEF形式のフォーマットで整形されている必要があるので、
事前にログフォーマットの確認が必要です。
Broker VMの設定
syslog collectorの機能をアクティベートし、syslogクライアント(ここではsquidサーバのrsyslogdなど)からデータを受信するための設定を行います。
以下の例では
・通信プロトコル:514/UDP
・フォーマット:CEF
・CEF形式のログに定義されるVENDOR/PRODUCT:Auto-Detect
・ソースネットワーク:ここでは送信元のsyslogクライアントのネットワークを定義しておきます。(192.168.68.0/24)
プロトコルはUDPの他にTCPやTLSも選択可能です。
Squidサーバ
ログフォーマットの設定
以下の例では設定ファイル(/etc/squid/conf.d/default.conf)にCEF形式のログフォーマットを定義します。
VENDOR,PRODUCTがそれぞれPANJPTest, Squidとなっています。
またアクセスログ(access_log)を定義したCEFフォーマットを使用してlocal.infoで出力する設定を行います。
logformat CEF CEF:0|PANJPTest|Squid|3.1|%Ss:%Sh|%rm %>Hs:%<Hs|Unknown|ltime=%{%d.%b.%Y-%H:%M:%S.%z}tl src=%>a shost=%>A sport=%>p dst=%<A srcUserName=%un userName_from_auth=%ul userName_from_ident=%ul userName_from_external_acl_helper=%ue cn1Label=Responce_Time cn1=%tr squidRequestStatus=%Ss squidHierarhyStatus=%Sh statusCode=%>Hs statusCodeFromNextHop=%<Hs fileType=%mt requestMethod=%rm request=%ru aclTag=%et in=%st requestProtocol=HTTP/%rv cs4Label=Referer cs4=%{Referer}>h requestClientApplication=%{User-Agent}>h X-forwarded-for=%{X-forwarded-for}h
access_log syslog:local0.info CEF
rsyslogの設定
設定ファイル(/etc/rsyslog.conf)に、
local0で受信したCEF形式のログデータをBroker VMに送信するための設定を追記します。
local0.* @[Broker VMのIP Address]:514
XDRコンソールでテータ受信の確認
Dataset Managementを見ると、<VENDOR>_<PRODUCT>_rawという名前でdatasetが生成されていることがわかります。
また、以下のようにXQLを使用してデータを検索することもできます。
XQLをダッシュボード上に埋め込み、抽出したデータをグラフとして表示することも可能になります。
Broker VMの概要についてはこちら
Broker VMのSyslog Collectorの詳細はこちら