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. Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
  2. [IAM と管理] > [サービス アカウント] に移動します。
  3. [サービス アカウントを作成] をクリックします。
  4. 次の構成情報を指定します。
    • サービス アカウント名: アカウントの名前を入力します(例: bindplane-ingest)。
    • サービス アカウントの説明: 説明を入力します(例: Bindplane agent log ingestion)。
  5. [作成して続行] をクリックします。
  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
  7. [続行] をクリックして [完了] をクリックします。
  8. 作成したサービス アカウントをクリックし、[キー] タブに移動します。
  9. [鍵を追加] > [新しい鍵を作成] の順にクリックします。
  10. [JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
  11. 鍵ファイルを 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 を更新して、保存先のパスと一致させます。
  12. [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。エクスポーターの構成に必要になります。

オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。
  4. Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。

Windows へのインストール

  1. 管理者としてコマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sc query observiq-otel-collector
    

    サービスは RUNNING と表示されます。

Linux のインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sudo systemctl status observiq-otel-collector
    

    サービスが active (running) と表示されます。

その他のインストール リソース

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

構成ファイルを探します。

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    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
    • customer_id: Google SecOps コンソールからコピーしたお客様 ID
    • location: <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 の場合: [ファイル] > [保存] をクリックします。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart observiq-otel-collector
    
    1. サービスが実行されていることを確認します。

      sudo systemctl status observiq-otel-collector
      
    2. ログでエラーを確認します。

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • サービス コンソール:

      1. Win+R を押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。
      4. サービスが実行されていることを確認します。

        sc query observiq-otel-collector
        
      5. ログでエラーを確認します。

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Trend Micro Deep Discovery Inspector で syslog を構成する

  1. Trend Micro Deep Discovery Inspector のウェブ UI にログインします。
  2. [Administration] > [Integrated Products/Services] > [Syslog] に移動します。
  3. [Add] をクリックして、新しい Syslog サーバーを追加します。
  4. 次の構成情報を指定します。
    • Syslog プロファイルを有効にします。
    • プロファイル名: 一意でわかりやすい名前を入力します。
    • サーバー アドレス: Bindplane エージェントの IP アドレスを入力します。
    • ポート: Bindplane エージェントのポート番号(例: UDP: 514)を入力します。
    • プロトコル: [UDP] を選択します(または、Bindplane の構成に基づいて別のプロトコルを選択します)。
    • ファシリティ: 「Local0」と入力します。
    • 重大度: [情報] を選択します。
    • 形式: [CEF] を選択します。
    • ログの範囲: [Virtual Analyzer 分析ログ]、[統合プロダクト検出ログ]、[ICAP 事前スキャンログ]、[システム イベントログ]、[アラート イベントログ] を選択します。
  5. [保存] をクリックします。

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 のプロフェッショナルから回答を得ることができます。