Trend Micro Cloud One ログを収集する
このパーサーは、Trend Micro Cloud One からの syslog 形式と JSON 形式のログを処理します。LEEF 形式のメッセージから Key-Value ペアを抽出し、重大度値を正規化し、プリンシパル エンティティとターゲット エンティティ(IP、ホスト名、ユーザー)を特定して、データを UDM スキーマにマッピングします。LEEF 形式が検出されない場合、パーサーは入力を JSON として処理し、関連するフィールドを抽出します。
始める前に
- Google SecOps インスタンスがあることを確認します。
- Trend Micro Cloud One への特権アクセス権があることを確認します。
- Windows 2012 SP2 以降または systemd を使用する Linux ホストがあることを確認します。
- プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
Bindplane エージェントの Google SecOps 認証情報を取得する
Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。
- 新規デプロイ: Chronicle API を使用します(オプション 1)。
- 以前のデプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
オプション 1: Chronicle API のサービス アカウントを作成する(推奨)
- Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
- [IAM と管理> サービス アカウント] に移動します。
- [サービス アカウントを作成] をクリックします。
- 次の構成情報を指定します。
- サービス アカウント名: アカウントの名前を入力します(例:
bindplane-ingest)。 - サービス アカウントの説明: 説明を入力します(例:
Bindplane agent log ingestion)。
- サービス アカウント名: アカウントの名前を入力します(例:
- [作成して続行] をクリックします。
- [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
- [続行] をクリックして [完了] をクリックします。
- 作成したサービス アカウントをクリックし、[キー] タブに移動します。
- [鍵を追加] > [新しい鍵を作成] の順にクリックします。
- [JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
- 鍵ファイルを Bindplane コレクタ ディレクトリ(Linux の場合は
/opt/observiq-otel-collector/ingestion-auth.json、Windows の場合はC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)にingestion-auth.jsonとして保存するか、config.yamlのcreds_file_pathを保存先のパスと一致するように更新します。 - [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。エクスポーターの構成に必要になります。
オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。
- Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane Agent をインストールする
- Windows へのインストールの場合は、次のスクリプトを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet。 - Linux へのインストールの場合は、次のスクリプトを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh。 - その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane Agent を構成する
- Bindplane エージェントを使用してマシンにアクセスします。
config.yamlファイルを次のように編集します。receivers: udplog: # Replace the below port <5514> and IP (0.0.0.0) with your specific values listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip # Adjust the path to the credentials file you saved in Step 1 creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: chronicle.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<LOCATION>は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1など)に置き換えます。エクスポータは、chronicle.googleapis.comの先頭にこの値を付加します。<PROJECT_NUMBER>は、[IAM と管理] > [設定] のプロジェクト番号に置き換えます。<customer_id>は、実際のお客様 ID に置き換えます。{ json file for creds }を、サービス アカウント キーファイル(オプション 1)が保存されたパスに更新します。
次のコマンドを使用して Bindplane Agent を再起動し、変更を適用します。
sudo systemctl bindplane restart
以前の取り込み API エクスポータ
オプション 2 の取り込み認証ファイルを使用する場合は、
exportersブロックを次のように置き換えます。credsを取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.comをリージョン エンドポイント(europe-malachiteingestion-pa.googleapis.comなど)に置き換えます。exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you saved in Step 1 creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: raw_log_field: body
Trend Micro Cloud One から Syslog を構成する
- [Policies] > [Common Objects] > [Other] > [Syslog Configurations] に移動します。
- [New] > [New Configuration] > [General] をクリックします。
- 次のパラメータの値を指定します。
- 名前: 構成を識別する一意の名前(Google SecOps BindPlance サーバーなど)。
- サーバー名: Bindplane Agent の IP アドレスを入力します。
- サーバーポート: Bindplane Agent のポートを入力します(例: 514)。
- トランスポート: [UDP] を選択します。
- イベント形式: [Syslog] を選択します。
- Include time zone in events: 選択しないままにします。
- ファシリティ: イベントが関連付けられるプロセスのタイプ。
- Agents should forward logs: [Syslog] サーバーを選択します。
- [保存] をクリックします。
Trend Micro Cloud One でシステム イベントをエクスポートする
- [Administration] > [System Settings] > [Event Forwarding] に移動します。
- [Forward System Events to a remote computer](構成を使用して Syslog 経由でシステム イベントをリモート コンピュータに転送)で、前の手順で作成した構成を選択します。
- [保存] をクリックします。
Trend Micro Cloud One でセキュリティ イベントをエクスポートする
- [ポリシー] に移動します。
- パソコンで使用されているポリシーをクリックします。
- [Settings] > [Event Forwarding] に移動します。
- イベント転送頻度(エージェント/アプライアンスから): [イベント送信間隔] を選択し、セキュリティ イベントの転送頻度を選択します。
- Event Forwarding Configuration (from the Agent/Appliance): [Anti-Malware Syslog Configuration] を選択し、前の手順で作成した構成を選択します。
- [保存] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 |
|---|---|---|
| act | security_result.action |
act が「deny」または「block」の場合(大文字と小文字を区別しない)、BLOCK。act が「pass」または「allow」(大文字と小文字を区別しない)の場合、ALLOW。act が「update」または「rename」(大文字と小文字を区別しない)の場合、ALLOW_WITH_MODIFICATION。act が「quarantine」(大文字と小文字を区別しない)の場合、QUARANTINE。それ以外の場合は UNKNOWN_ACTION。 |
| act | security_result.action_details |
直接マッピングされます。 |
| 猫 | security_result.category_details |
直接マッピングされます。 |
| cn1 | target.asset_id |
cn1Label が「Host ID」の場合、「Host Id:」の接頭辞が付きます。 |
| 降順 | metadata.description |
直接マッピングされます。 |
| dvchost | target.asset.hostname |
直接マッピングされます。 |
| dvchost | target.hostname |
直接マッピングされます。 |
| log_type | metadata.product_name |
直接マッピングされます。 |
| msg | security_result.description |
直接マッピングされます。 |
| name | security_result.summary |
直接マッピングされます。 |
| 組織 | target.administrative_domain |
直接マッピングされます。 |
| proto | additional.fields.key |
proto フィールドを整数に変換できない場合は、「Protocol」に設定します。 |
| proto | additional.fields.value.string_value |
proto フィールドを整数に変換できない場合は、直接マッピングされます。 |
| proto | network.ip_protocol |
parse_ip_protocol.include ロジックを使用してマッピングされます。このロジックは、プロトコル番号を対応する名前に変換します(例: 「6」は「TCP」になります)。 |
| product_version | metadata.product_version |
直接マッピングされます。 |
| sev | security_result.severity |
sev が「0」、「1」、「2」、「3」、「low」(大文字と小文字を区別しない)の場合、LOW。sev が「4」、「5」、「6」、「medium」(大文字と小文字を区別しない)のいずれかの場合、MEDIUM。sev が「7」、「8」、「high」(大文字と小文字を区別しない)の場合、HIGH。sev が「9」、「10」、「very high」(大文字と小文字を区別しない)の場合、CRITICAL。 |
| sev | security_result.severity_details |
直接マッピングされます。 |
| src | principal.asset.hostname |
有効な IP アドレスでない場合は、直接マッピングされます。 |
| src | principal.asset.ip |
有効な IP アドレスの場合、直接マッピングされます。 |
| src | principal.hostname |
有効な IP アドレスでない場合は、直接マッピングされます。 |
| src | principal.ip |
有効な IP アドレスの場合、直接マッピングされます。 |
| TrendMicroDsTenant | security_result.detection_fields.key |
「TrendMicroDsTenant」に設定します。 |
| TrendMicroDsTenant | security_result.detection_fields.value |
直接マッピングされます。 |
| TrendMicroDsTenantId | security_result.detection_fields.key |
「TrendMicroDsTenantId」に設定します。 |
| TrendMicroDsTenantId | security_result.detection_fields.value |
直接マッピングされます。 |
| usrName | principal.user.userid |
直接マッピングされます。has_principal が true で、has_target が true の場合、NETWORK_CONNECTION。has_principal が true の場合は STATUS_UPDATE。has_target が true で has_principal が false の場合は USER_UNCATEGORIZED。それ以外の場合は GENERIC_EVENT。event_type が USER_UNCATEGORIZED の場合、AUTHTYPE_UNSPECIFIED に設定されます。プリンシパル IP、ホスト名、MAC アドレスが抽出された場合は「true」に設定します。それ以外の場合は「false」に初期化されます。ターゲット IP、ホスト名、または MAC アドレスが抽出された場合は「true」に設定します。それ以外の場合は「false」に初期化されます。最上位のイベント タイムスタンプと同じです。「Trend Micro」に設定します。 |
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。