Trend Micro DDI ログを収集する
このドキュメントでは、Bindplane エージェントを使用して Trend Micro Deep Discovery Inspector(DDI)ログを Google Security Operations に取り込む方法について説明します。
Trend Micro Deep Discovery Inspector は、すべてのポートとネットワーキング プロトコルをモニタリングして高度な脅威を検出するネットワーク アプライアンスです。Virtual Analyzer の分析結果、統合製品の検出、ICAP 事前スキャン イベント、システム イベント、アラート イベントの CEF 形式の Syslog メッセージを生成します。パーサーは、CEF 形式のログからフィールドを抽出し、Unified Data Model(UDM)にマッピングします。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - Bindplane エージェントと Trend Micro DDI アプライアンス間のネットワーク接続
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- Trend Micro Deep Discovery Inspector のインスタンスへの特権アクセス
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] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
- 鍵ファイルを
ingestion-auth.jsonとして Bindplane コレクタ ディレクトリ(Linux の場合は/opt/observiq-otel-collector/ingestion-auth.json、Windows の場合はC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)に保存するか、config.yamlのcreds_file_pathを更新して、保存先のパスと一致させます。 - [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。エクスポーターの構成に必要になります。
オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。
- Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
[組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。
Windows へのインストール
- 管理者としてコマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sc query observiq-otel-collectorサービスは RUNNING と表示されます。
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sudo systemctl status observiq-otel-collectorサービスが active (running) と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルを探します。
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yamlの内容全体を次の構成に置き換えます。receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/trendmicro_ddi: 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 creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: TRENDMICRO_DDI raw_log_field: body service: pipelines: logs/trendmicro_ddi_to_chronicle: receivers: - udplog exporters: - chronicle/trendmicro_ddi
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
listen_address: リッスンする IP アドレスとポート。0.0.0.0: すべてのインターフェースでリッスンします(推奨)。- ポート
514は標準の syslog ポートです(Linux で root が必要です。root 以外のユーザーは1514を使用します)。
エクスポータの構成:
creds_file_path: サービス アカウントの JSON キーファイルのフルパス(オプション 1):- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Google SecOps コンソールからコピーしたお客様 IDlocation:<LOCATION>は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1など)に置き換えます。エクスポーターは、chronicle.googleapis.comの先頭にこの値を付加します。完全なリストについては、リージョン エンドポイントをご覧ください。project:<PROJECT_NUMBER>を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。endpoint:chronicle.googleapis.comに設定したままにします。
以前の Ingestion API エクスポータ
オプション 2 の取り込み認証ファイルを使用する場合は、
exportersブロックを次のように置き換えます。creds_file_pathを取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.comをリージョン エンドポイント(例:europe-malachiteingestion-pa.googleapis.com)に置き換えます。exporters: chronicle/trendmicro_ddi: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: TRENDMICRO_DDI raw_log_field: body
構成ファイルを保存する
- 編集後、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows の場合: [ファイル] > [保存] をクリックします。
- Linux:
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。
管理者としてコマンド プロンプトまたは PowerShell を開きます。
net stop observiq-otel-collector && net start observiq-otel-collectorサービス コンソール:
Win+Rを押し、「services.msc」と入力して Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
- 右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Trend Micro Deep Discovery Inspector で syslog を構成する
- Trend Micro Deep Discovery Inspector のウェブ UI にログインします。
- [Administration] > [Integrated Products/Services] > [Syslog] に移動します。
- [Add] をクリックして、新しい Syslog サーバーを追加します。
- 次の構成情報を指定します。
- Syslog プロファイルを有効にします。
- プロファイル名: 一意でわかりやすい名前を入力します。
- サーバー アドレス: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号(例:
UDP: 514)を入力します。 - プロトコル: [UDP] を選択します(または、Bindplane の構成に基づいて別のプロトコルを選択します)。
- ファシリティ: 「Local0」と入力します。
- 重大度: [情報] を選択します。
- 形式: [CEF] を選択します。
- ログの範囲: [Virtual Analyzer 分析ログ]、[統合プロダクト検出ログ]、[ICAP 事前スキャンログ]、[システム イベントログ]、[アラート イベントログ] を選択します。
- [保存] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
message |
about |
マッピング済み: CEF: → about |
deviceNtDomain |
about.administrative_domain |
名前変更済み/マッピング済み |
deviceExternalId |
about.asset.asset_id |
直接マッピングされます。 |
device_product |
about.asset.asset_id |
直接マッピングされます。 |
device_vendor |
about.asset.asset_id |
直接マッピングされます。 |
fileHash |
about.file.full_path |
直接マッピングされます。 |
filePath |
about.file.full_path |
名前変更/マッピング |
_hash |
about.file.sha256 |
名前変更/マッピング |
fileHash |
about.file.sha256 |
名前変更/マッピング |
fsize |
about.file.size |
名前変更/マッピング |
dvchost |
about.hostname |
名前変更/マッピング |
ips |
about.ip |
統合済み |
message |
about.ip |
マッピング済み: CEF: → ips |
dvc_mac |
about.mac |
マッピング済み: slot → mac_address |
dvcmac |
about.mac |
統合済み |
mac_address |
about.mac |
統合済み |
message |
about.mac |
マッピング済み: CEF: → mac_address、CEF: → dvcmac |
deviceTranslatedAddress |
about.nat_ip |
統合済み |
message |
about.nat_ip |
マッピング済み: CEF: → deviceTranslatedAddress |
Emne |
about.process.command_line |
直接マッピングされます。 |
Path |
about.process.command_line |
直接マッピングされます。 |
Subject |
about.process.command_line |
直接マッピングされます。 |
deviceProcessName |
about.process.command_line |
名前変更/マッピング |
dvcpid |
about.process.pid |
名前変更/マッピング |
message |
about.resource.attribute.permissions |
マッピング: CEF: → permissions |
permissions |
about.resource.attribute.permissions |
統合済み |
additional_cfp1 |
additional.fields |
統合済み |
additional_cfp2 |
additional.fields |
統合済み |
additional_cfp3 |
additional.fields |
統合済み |
additional_cfp4 |
additional.fields |
統合済み |
additional_cn1 |
additional.fields |
統合済み |
additional_cn2 |
additional.fields |
統合済み |
additional_cn3 |
additional.fields |
統合済み |
additional_cs1 |
additional.fields |
統合済み |
additional_cs2 |
additional.fields |
統合済み |
additional_cs3 |
additional.fields |
統合済み |
additional_cs4 |
additional.fields |
統合済み |
additional_cs5 |
additional.fields |
統合済み |
additional_cs6 |
additional.fields |
統合済み |
additional_cs7 |
additional.fields |
統合済み |
additional_devicePayloadId |
additional.fields |
統合済み |
additional_eventId |
additional.fields |
統合済み |
additional_flexString1 |
additional.fields |
統合済み |
additional_fname |
additional.fields |
統合済み |
appGroup_label |
additional.fields |
統合済み |
cn4_label |
additional.fields |
統合済み |
cn5_label |
additional.fields |
統合済み |
cnt_label |
additional.fields |
統合済み |
compressed_file_hash_label |
additional.fields |
統合済み |
cs10_label |
additional.fields |
統合済み |
cs2 |
additional.fields |
マッピング: arc_test → additional_cs2 |
cs5_label |
additional.fields |
統合済み |
cs8_label |
additional.fields |
統合済み |
cs9_label |
additional.fields |
統合済み |
device_mac_address_label |
additional.fields |
統合済み |
evt_cat_label |
additional.fields |
統合済み |
fileType_label |
additional.fields |
統合済み |
message |
additional.fields |
マッピングされた値(合計 33 個、例: CEF: → additional_eventId、CEF: → `additional_devicePayl... |
pcomp_label |
additional.fields |
統合済み |
ptype_label |
additional.fields |
統合済み |
vlan_info |
additional.fields |
統合済み |
msg |
metadata.description |
名前変更済み/マッピング済み |
Generated |
metadata.event_timestamp |
yyyy-MM-ddTHH:mm:ss として解析済み |
Received |
metadata.event_timestamp |
yyyy-MM-ddTHH:mm:ss として解析 |
date_value |
metadata.event_timestamp |
MMM dd yyyy HH:mm:ss ZZ として解析 |
rt |
metadata.event_timestamp |
yyyy-MM-ddTHH:mm:ssZ として解析 |
event_name |
metadata.event_type |
マッピング済み: "LogSpyware","LogPredictiveMachineLearning" → SCAN_UNCATEGORIZED |
message |
metadata.event_type |
マッピングされた値(合計 5 個、例: CEF: → PROCESS_UNCATEGORIZED、CEF: → SCAN_UNCATEGORIZED... |
principal_present |
metadata.event_type |
マッピング済み: true → NETWORK_CONNECTION、true → STATUS_UPDATE |
device_event_class_id |
metadata.product_event_type |
直接マッピングされます。 |
event_name |
metadata.product_event_type |
直接マッピングされます。 |
externalId |
metadata.product_log_id |
直接マッピングされます。 |
device_product |
metadata.product_name |
直接マッピングされます。 |
device_version |
metadata.product_version |
直接マッピングされます。 |
device_vendor |
metadata.vendor_name |
名前変更済み/マッピング済み |
app_protocol_output |
network.application_protocol |
直接マッピングされます。 |
deviceDirection |
network.direction |
マッピング済み: 0 → INBOUND、1 → OUTBOUND |
message |
network.direction |
マッピング済み: CEF: → INBOUND、CEF: → OUTBOUND |
message |
network.dns.questions |
マッピング: CEF: → question |
question |
network.dns.questions |
統合済み |
requestMethod |
network.http.method |
名前変更済み/マッピング済み |
requestClientApplication |
network.http.user_agent |
名前変更/マッピング |
ip_protocol_out |
network.ip_protocol |
直接マッピングされます。 |
in |
network.received_bytes |
名前変更/マッピング |
out |
network.sent_bytes |
名前変更/マッピング |
sntdom |
principal.administrative_domain |
名前変更/マッピング |
sourceServiceName |
principal.application |
名前変更/マッピング |
Group_name |
principal.group.group_display_name |
直接マッピングされます。 |
Gruppenavn |
principal.group.group_display_name |
直接マッピングされます。 |
Device_name |
principal.hostname |
直接マッピングされます。 |
Enhetsnavn |
principal.hostname |
直接マッピングされます。 |
shost |
principal.hostname |
名前変更/マッピング |
message |
principal.ip |
マッピング済み: CEF: → principal_ip、CEF: → shost |
principal_ip |
principal.ip |
統合済み |
shost |
principal.ip |
統合済み |
deviceMacAddress |
principal.mac |
統合済み |
mac |
principal.mac |
統合済み |
message |
principal.mac |
マッピング済み: CEF: → mac、CEF: → deviceMacAddress |
message |
principal.nat_ip |
マッピング: CEF: → sourceTranslatedAddress |
sourceTranslatedAddress |
principal.nat_ip |
統合済み |
sourceTranslatedPort |
principal.nat_port |
名前変更済み/マッピング済み |
spt |
principal.port |
名前変更/マッピング |
sproc |
principal.process.command_line |
名前変更/マッピング |
spid |
principal.process.pid |
名前変更/マッピング |
message |
principal.user.attribute.roles |
マッピング済み: CEF: → principal_role |
principal_role |
principal.user.attribute.roles |
統合済み |
suser |
principal.user.user_display_name |
直接マッピングされます。 |
suid |
principal.user.userid |
名前変更/マッピング |
message |
security_result |
マッピング済み: CEF: → security_result |
_action |
security_result.action |
統合済み |
act |
security_result.action |
マッピング: accept → _action、deny → _action |
message |
security_result.action |
マッピング済み: CEF: → _action |
Action_Taken |
security_result.action_details |
直接マッピングされます。 |
act |
security_result.action_details |
直接マッピングされます。 |
cat |
security_result.category_details |
統合済み |
message |
security_result.category_details |
マッピング済み: CEF: → cat |
deviceRiskConfidenceLevel |
security_result.confidence_score |
直接マッピングされます。 |
message |
security_result.confidence_score |
マッピング: CEF: → float |
Scan_Type |
security_result.description |
直接マッピングされます。 |
Type |
security_result.description |
直接マッピングされます。 |
msg_data_2 |
security_result.description |
直接マッピングされます。 |
infection_channel_label |
security_result.detection_fields |
統合済み |
message |
security_result.detection_fields |
マッピングされた値(合計 7 個、例: CEF: → operation_label、CEF: → operasjon_label、CEF: ... |
operasjon_label |
security_result.detection_fields |
統合済み |
operation_label |
security_result.detection_fields |
統合済み |
permission_label |
security_result.detection_fields |
統合済み |
spyware_Grayware_Type_label |
security_result.detection_fields |
統合済み |
threat_probability_label |
security_result.detection_fields |
統合済み |
tillatelse_label |
security_result.detection_fields |
統合済み |
ruleId |
security_result.rule_id |
直接マッピングされます。 |
mwProfile |
security_result.rule_name |
直接マッピングされます。 |
ruleName |
security_result.rule_name |
直接マッピングされます。 |
hostSeverity |
security_result.severity |
マッピング: "0", "1", "2", "3" → LOW、"4", "5", "6" → MEDIUM、"7", "8" → HIGH、`"9",... |
message |
security_result.severity |
マッピング済み: CEF: → LOW、CEF: → MEDIUM、CEF: → HIGH、CEF: → CRITICAL |
severity |
security_result.severity |
マッピング: "0", "1", "2", "3", "LOW" → LOW、`"4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"... |
Result |
security_result.summary |
直接マッピングされます。 |
appcategory |
security_result.summary |
直接マッピングされます。 |
reason |
security_result.summary |
名前変更済み/マッピング済み |
Spyware |
security_result.threat_name |
直接マッピングされます。 |
Unknown_Threat |
security_result.threat_name |
直接マッピングされます。 |
Virus_Malware_Name |
security_result.threat_name |
直接マッピングされます。 |
malType |
security_result.threat_name |
直接マッピングされます。 |
oldFilePath |
src.file.full_path |
名前変更/マッピング |
oldFileSize |
src.file.size |
名前変更/マッピング |
message |
src.resource.attribute.permissions |
マッピング済み: CEF: → old_permissions |
old_permissions |
src.resource.attribute.permissions |
統合済み |
dntdom |
target.administrative_domain |
名前変更済み/マッピング済み |
destinationServiceName |
target.application |
名前変更/マッピング |
temp_dhost |
target.hostname |
直接マッピングされます。 |
IPv6_Address |
target.ip |
統合済み |
dst_ip |
target.ip |
統合済み |
ipv6 |
target.ip |
マッピング済み: - → IPv6_Address |
message |
target.ip |
マッピング: CEF: → dst_ip、CEF: → IPv6_Address |
mac_address |
target.mac |
統合済み |
message |
target.mac |
マッピング済み: CEF: → mac_address |
destination_translated_address |
target.nat_ip |
統合済み |
message |
target.nat_ip |
マッピング: CEF: → destination_translated_address |
destinationTranslatedPort |
target.nat_port |
名前変更済み/マッピング済み |
dpt |
target.port |
名前変更/マッピング |
dproc |
target.process.command_line |
名前変更/マッピング |
File_name |
target.process.file.full_path |
直接マッピングされます。 |
Infected_Resource |
target.process.file.full_path |
直接マッピングされます。 |
Object |
target.process.file.full_path |
直接マッピングされます。 |
Objekt |
target.process.file.full_path |
直接マッピングされます。 |
dpid |
target.process.pid |
名前変更済み/マッピング済み |
message |
target.resource.attribute.labels |
マッピング済み: CEF: → resource_Type_label |
resource_Type_label |
target.resource.attribute.labels |
統合済み |
request |
target.url |
直接マッピングされます。 |
message |
target.user.attribute.roles |
マッピング済み: CEF: → target_role |
target_role |
target.user.attribute.roles |
統合済み |
CustomerName |
target.user.user_display_name |
直接マッピングされます。 |
temp_duser |
target.user.user_display_name |
直接マッピングされます。 |
Bruker |
target.user.userid |
直接マッピングされます。 |
User_value |
target.user.userid |
直接マッピングされます。 |
temp_duid |
target.user.userid |
直接マッピングされます。 |
| なし | metadata.event_type |
定数: PROCESS_UNCATEGORIZED |
| なし | network.direction |
定数: INBOUND |
| なし | security_result.severity |
定数: LOW |
reason |
event.idm.read_only_udm.network.dns.questions.name |
変更履歴からマッピング |
deviceMacAddress |
event.idm.read_only_udm.principal.mac |
変更履歴からマッピング |
deviceRiskConfidenceLevel |
event.idm.read_only_udm.security_result.confidence_score |
変更履歴からマッピング |
ruleId |
event.idm.read_only_udm.security_result.rule_id |
変更履歴からマッピング |
ruleName |
event.idm.read_only_udm.security_result.rule_name |
変更履歴からマッピング |
hostSeverity |
event.idm.read_only_udm.security_result.severity |
変更履歴からマッピング |
malType |
event.idm.read_only_udm.security_result.threat_name |
変更履歴からマッピング |
vLANId |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
cnt |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
evtCat |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
deviceGUID |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
ptype |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
cs9 |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
cs10 |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
pComp |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
cn4 |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
cn5 |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
cs8 |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
fileType |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
appGroup |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
compressedFileHash |
event.idm.read_only_udm.additional.fields |
変更履歴からマッピング |
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。