Tanium Asset のログを収集する

以下でサポートされています。

このドキュメントでは、2 つの異なる方法を使用して Tanium Asset ログを Google Security Operations に取り込む方法について説明します。

Tanium Connect のネイティブ Amazon S3 エクスポートか、Bindplane を使用したリアルタイムの syslog 転送のいずれかを選択できます。どちらの方法でも、Tanium Connect モジュールを使用して Tanium からアセットデータを抽出し、分析とモニタリングのために Chronicle に転送します。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • エクスポート先を構成するための Tanium Console(Connect モジュール)への特権アクセス
  • ご希望の統合方法を選択します。
    • オプション 1(推奨): ネイティブ S3 エクスポート用の AWS(S3、IAM)への特権アクセス
    • オプション 2: Bindplane エージェントのインストールに systemd を使用する Windows 2016 以降または Linux ホスト

オプション 1: AWS S3 を使用して Tanium Asset ログのエクスポートを構成する

Amazon S3 バケットを作成する

  1. バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
  2. 後で参照できるように、バケットの名前とリージョンを保存します(例: tanium-asset-logs)。
  3. IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
  4. 作成したユーザーを選択します。
  5. [セキュリティ認証情報] タブを選択します。
  6. [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
  7. [ユースケース] で [サードパーティ サービス] を選択します。
  8. [Next] をクリックします。
    • 省略可: 説明タグを追加します。
  9. [アクセスキーを作成] をクリックします。
  10. [.csv ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、今後の参照に備えます。
  11. [完了] をクリックします。
  12. [権限] タブを選択します。
  13. [権限ポリシー] セクションで [権限を追加] をクリックします。
  14. [権限を追加] を選択します。
  15. [ポリシーを直接アタッチする] を選択します。
  16. AmazonS3FullAccess ポリシーを検索します。
  17. ポリシーを選択します。
  18. [次へ] をクリックします。
  19. [権限を追加] をクリックします。

S3 エクスポート用に Tanium Connect を構成する

  1. 管理者権限で Tanium Console にログインします。
  2. [Modules] > [Connect] > [Overview] に移動し、[Create Connection] をクリックします。
  3. [作成] をクリックします。
  4. 次の構成情報を指定します。
    • [名前]: わかりやすい名前を入力します(例: Google SecOps Asset S3 Export)。
    • 説明: この接続の説明(省略可)。
    • 有効: スケジュールに従って実行するには、[有効] を選択します。
  5. [次へ] をクリックします。
  6. [ソース] の構成で、次の操作を行います。
    • Source: [Saved Question] を選択します。
    • 質問: アセットデータを返す既存の保存済み質問を選択するか、アセット関連のセンサー(コンピュータ名、IP アドレス、OS プラットフォーム、ドメインなど)を使用して新しい質問を作成します。
    • Computer Group: アセットデータの収集の対象とするコンピュータ グループを選択します。
  7. [次へ] をクリックします。
  8. [宛先] の構成で、次の操作を行います。
    • 宛先: [AWS S3] を選択します。
    • 名前: 宛先の名前を入力します(例: Chronicle Asset S3)。
    • AWS アクセスキー ID: IAM ユーザーのアクセスキー ID を入力します。
    • AWS Secret Access Key: IAM ユーザーのシークレット アクセスキーを入力します。
    • S3 バケット名: tanium-asset-logs。
    • S3 キーの接頭辞: tanium/assets/(組織のオプションの接頭辞)。
    • リージョン: S3 バケットが配置されている AWS リージョンを選択します。
  9. [次へ] をクリックします。
  10. [書式設定] の構成で、次の操作を行います。
    • 形式: 構造化データのエクスポートには [JSON] を選択します。
    • 列: エクスポートするアセット フィールドを選択し、適切にフォーマットします。
  11. [次へ] をクリックします。
  12. [スケジュール] の構成で、次の操作を行います。
    • スケジュール: 配信スケジュール(1 時間ごと、毎日など)を構成します。
    • 開始日時: 接続の実行を開始する日時を設定します。
  13. [保存] をクリックして接続を作成し、S3 の自動エクスポートを開始します。

(省略可)Google SecOps 用の読み取り専用の IAM ユーザーと鍵を作成する

  1. [AWS Console] > [IAM] > [Users] > [Add users] に移動します。
  2. [ユーザーを追加] をクリックします。
  3. 次の構成情報を指定します。
    • ユーザー: 「secops-reader」と入力します。
    • アクセスタイプ: [Access key — Programmatic access] を選択します。
  4. [Create user] をクリックします。
  5. 最小読み取りポリシー(カスタム)をアタッチします。[Users] > [secops-reader] > [Permissions] > [Add permissions] > [Attach policies directly] > [Create policy]。
  6. JSON:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["s3:GetObject"],
          "Resource": "arn:aws:s3:::tanium-asset-logs/*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": "arn:aws:s3:::tanium-asset-logs"
        }
      ]
    }
    
  7. Name = secops-reader-policy。

  8. [ポリシーを作成> 検索/選択> 次へ> 権限を追加] をクリックします。

  9. secops-reader のアクセスキーを作成します。[セキュリティ認証情報] > [アクセスキー] > [アクセスキーを作成] > .csv をダウンロードします(これらの値をフィードに貼り付けます)。

Tanium Asset のログを取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [+ 新しいフィードを追加] をクリックします。
  3. [フィード名] フィールドに、フィードの名前を入力します(例: Tanium Asset logs)。
  4. [ソースタイプ] として [Amazon S3 V2] を選択します。
  5. [ログタイプ] として [Tanium Asset] を選択します。
  6. [次へ] をクリックします。
  7. 次の入力パラメータの値を指定します。
    • S3 URI: s3://tanium-asset-logs/tanium/assets/
    • Source deletion options: 必要に応じて削除オプションを選択します。
    • ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
    • アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
    • シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
    • Asset namespace: アセットの名前空間。
    • Ingestion labels: このフィードのイベントに適用されるラベル。
  8. [次へ] をクリックします。
  9. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

オプション 2: syslog と Bindlane を使用して Tanium Asset ログのエクスポートを構成する

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
    

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
    

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

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

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

  1. 構成ファイルにアクセスします。

    • config.yaml ファイルを見つけます。通常、Linux では /opt/observiq-otel-collector/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    • テキスト エディタ(nano、vi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
      udplog:
        # Replace the port and IP address as required
        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 downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <PLACEHOLDER_CUSTOMER_ID>
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'TANIUM_ASSET'
        raw_log_field: body
        ingestion_labels:
    
    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 と管理] > [設定] のプロジェクト番号に置き換えます。
    • <PLACEHOLDER_CUSTOMER_ID> は、実際のお客様 ID に置き換えます。
    • /path/to/ingestion-authentication-file.json を、ステップ 1 でサービス アカウント キーファイル(オプション 1)を保存したファイルパスに更新します。

以前の Ingestion API エクスポータ

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds_file_path を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.com をリージョン エンドポイント(例: europe-malachiteingestion-pa.googleapis.com)に置き換えます。

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <PLACEHOLDER_CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'TANIUM_ASSET'
        raw_log_field: body
        ingestion_labels:
    

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

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

    sudo systemctl restart observiq-otel-collector
    
  • Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Tanium Asset で Syslog 転送を構成する

  1. 管理者権限で Tanium Console にログインします。
  2. [Modules] > [Connect] > [Overview] に移動し、[Create Connection] をクリックします。
  3. [作成] をクリックします。
  4. 次の構成情報を指定します。
    • [名前]: わかりやすい名前を入力します(例: Google SecOps Asset Integration)。
    • 説明: この接続の説明(省略可)。
    • 有効: スケジュールに従って実行するには、[有効] を選択します。
  5. [次へ] をクリックします。
  6. [ソース] の構成で、次の操作を行います。
    • Source: [Saved Question] を選択します。
    • 質問: アセットデータを返す既存の保存済み質問を選択するか、アセット関連のセンサーを使用して新しい質問を作成します。
    • Computer Group: アセットデータの収集の対象とするコンピュータ グループを選択します。
  7. [次へ] をクリックします。
  8. [宛先] の構成で、次の操作を行います。
    • 宛先: [SIEM/Syslog] を選択します。
    • 名前: 宛先の名前を入力します(例: Chronicle Asset Syslog)。
    • ホスト: Bindplane の IP を入力します。
    • ポート: Bindplane のポート番号(例: 514)を入力します。
    • プロトコル: [UDP] を選択します。
    • 形式: [SYSLOG RFC 5424] を選択します。
    • タイムゾーン: システム全体で一貫性を保つため、UTC タイムゾーンを選択します。
  9. [次へ] をクリックします。
  10. [書式設定] の構成で、次の操作を行います。
    • 形式: [JSON] を選択します。
    • 列: 転送するアセット フィールド(コンピュータ名、IP アドレス、OS プラットフォーム、ドメインなど)を選択します。
  11. [次へ] をクリックします。
  12. [スケジュール] の構成で、次の操作を行います。
    • スケジュール: 配信スケジュールを構成します(例: 1 時間ごと)。
    • 開始日時: 接続の実行を開始する日時を設定します。
  13. [保存] をクリックして接続を作成し、転送を開始します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
application_name entity.metadata.source_labels.value 未加工ログに「application_name」フィールドが存在する場合、この値が取得されます。
application_vendor entity.metadata.source_labels.value 値は、未加工ログに存在する場合は「application_vendor」フィールドから取得されます。
application_version entity.metadata.product_version 未加工ログに「application_version」フィールドが存在する場合、この値が取得されます。
BIOS_Current_Language entity.metadata.source_labels.value 値は、未加工ログに存在する場合、「BIOS_Current_Language」フィールドから取得されます。
BIOS_Release_Date entity.metadata.source_labels.value 未加工ログに「BIOS_Release_Date」フィールドが存在する場合、値はこのフィールドから取得されます。
BIOS_Vendor entity.metadata.source_labels.value 未加工ログに「BIOS_Vendor」フィールドが存在する場合は、その値が使用されます。
BIOS_Version entity.metadata.product_version 未加工ログに「BIOS_Version」フィールドが存在する場合は、その値が使用されます。
Chassis Type entity.entity.asset.category 値は、未加工ログに「Chassis Type」フィールドが存在する場合は、そのフィールドから取得されます。
Computer ID entity.entity.asset.product_object_id 値は、未加工ログに存在する場合、「Computer ID」フィールドから取得されます。また、entity.relations.entity.asset.asset_id に「id: 」の接頭辞を付けて入力するためにも使用されます。
Computer Name entity.entity.asset.hostname 未加工ログに「Computer Name」フィールドが存在する場合、この値が取得されます。
Count entity.metadata.source_labels.value 未加工ログに「Count」フィールドが存在する場合、この値は「Count」フィールドから取得されます。
Endpoint Fingerprint entity.entity.asset.hardware.serial_number 値は、未加工ログに「Endpoint Fingerprint」フィールドが存在する場合はそのフィールドから取得されます。
IP Address entity.entity.asset.ip 値は「IP Address」フィールドから取得され、個別の IP アドレスとして配列に追加されます。
Last Logged In User entity.relations.entity.user.userid 値は、未加工ログに存在する「Last Logged In User」フィールドから取得され、ドメイン接頭辞が削除されます。
Last Reboot entity.entity.asset.last_boot_time 値は、未加工ログに存在する場合、「Last Reboot」フィールドから解析され、タイムスタンプとしてフォーマットされます。
MAC Address entity.entity.asset.mac 値は「MAC アドレス」フィールドから取得され、個別の MAC アドレスとして配列に追加されます。
Manufacturer entity.entity.asset.hardware.manufacturer 未加工ログに「Manufacturer」フィールドが存在する場合は、その値が使用されます。
Operating System entity.entity.asset.platform_software.platform_version 未加工ログに「Operating System」フィールドが存在する場合は、その値が使用されます。entity.entity.asset.platform_software.platform の値(WINDOWS、LINUX、MAC)を決定するために使用されます。
platform entity.entity.asset.platform_software.platform_version 未加工ログに「platform」フィールドが存在する場合は、その値が使用されます。entity.entity.asset.platform_software.platform の値(WINDOWS、LINUX、MAC)を決定するために使用されます。
serial_number entity.entity.asset.hardware.serial_number 未加工ログに「serial_number」フィールドが存在する場合は、その値が使用されます。
version entity.entity.asset.platform_software.platform_version 未加工ログに「version」フィールドが存在する場合は、その値が使用されます。entity.entity.asset.platform_software.platform(WINDOWS、LINUX、MAC)の値を特定するために使用されます。
なし entity.metadata.collected_timestamp バッチの create_time に設定します。
なし entity.metadata.vendor_name 常に「TANIUM_ASSET」に設定されます。
なし entity.metadata.product_name 常に「TANIUM_ASSET」に設定されます。
なし entity.metadata.entity_type 常に「ASSET」に設定されます。
なし entity.relations.entity_type 常に「USER」に設定されます。
なし entity.relations.relationship 常に「OWNS」に設定されます。
comp_serial_num _asset_entity.asset.product_object_id 変更履歴からマッピング
application_name", "count", "application_vendor", "BIOS_Release_Date", "BIOS_Vendor", and "BIOS_Current_Language metadata.source_labels 変更履歴からマッピング
application_version" and "BIOS_Version metadata.product_version 変更履歴からマッピング
computer_id entity.asset.asset_id 変更履歴からマッピング
comp_serial_num hardware.serial_number 変更履歴からマッピング

変更ログ

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。