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 バケットを作成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- 後で参照できるように、バケットの名前とリージョンを保存します(例:
tanium-asset-logs)。 - IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] で [サードパーティ サービス] を選択します。
- [Next] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [.csv ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、今後の参照に備えます。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで [権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索します。
- ポリシーを選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
S3 エクスポート用に Tanium Connect を構成する
- 管理者権限で Tanium Console にログインします。
- [Modules] > [Connect] > [Overview] に移動し、[Create Connection] をクリックします。
- [作成] をクリックします。
- 次の構成情報を指定します。
- [名前]: わかりやすい名前を入力します(例:
Google SecOps Asset S3 Export)。 - 説明: この接続の説明(省略可)。
- 有効: スケジュールに従って実行するには、[有効] を選択します。
- [名前]: わかりやすい名前を入力します(例:
- [次へ] をクリックします。
- [ソース] の構成で、次の操作を行います。
- Source: [Saved Question] を選択します。
- 質問: アセットデータを返す既存の保存済み質問を選択するか、アセット関連のセンサー(コンピュータ名、IP アドレス、OS プラットフォーム、ドメインなど)を使用して新しい質問を作成します。
- Computer Group: アセットデータの収集の対象とするコンピュータ グループを選択します。
- [次へ] をクリックします。
- [宛先] の構成で、次の操作を行います。
- 宛先: [AWS S3] を選択します。
- 名前: 宛先の名前を入力します(例:
Chronicle Asset S3)。 - AWS アクセスキー ID: IAM ユーザーのアクセスキー ID を入力します。
- AWS Secret Access Key: IAM ユーザーのシークレット アクセスキーを入力します。
- S3 バケット名:
tanium-asset-logs。 - S3 キーの接頭辞:
tanium/assets/(組織のオプションの接頭辞)。 - リージョン: S3 バケットが配置されている AWS リージョンを選択します。
- [次へ] をクリックします。
- [書式設定] の構成で、次の操作を行います。
- 形式: 構造化データのエクスポートには [JSON] を選択します。
- 列: エクスポートするアセット フィールドを選択し、適切にフォーマットします。
- [次へ] をクリックします。
- [スケジュール] の構成で、次の操作を行います。
- スケジュール: 配信スケジュール(1 時間ごと、毎日など)を構成します。
- 開始日時: 接続の実行を開始する日時を設定します。
- [保存] をクリックして接続を作成し、S3 の自動エクスポートを開始します。
(省略可)Google SecOps 用の読み取り専用の IAM ユーザーと鍵を作成する
- [AWS Console] > [IAM] > [Users] > [Add users] に移動します。
- [ユーザーを追加] をクリックします。
- 次の構成情報を指定します。
- ユーザー: 「
secops-reader」と入力します。 - アクセスタイプ: [Access key — Programmatic access] を選択します。
- ユーザー: 「
- [Create user] をクリックします。
- 最小読み取りポリシー(カスタム)をアタッチします。[Users] > [secops-reader] > [Permissions] > [Add permissions] > [Attach policies directly] > [Create policy]。
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" } ] }Name =
secops-reader-policy。[ポリシーを作成> 検索/選択> 次へ> 権限を追加] をクリックします。
secops-readerのアクセスキーを作成します。[セキュリティ認証情報] > [アクセスキー] > [アクセスキーを作成] >.csvをダウンロードします(これらの値をフィードに貼り付けます)。
Tanium Asset のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [+ 新しいフィードを追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Tanium Asset logs)。 - [ソースタイプ] として [Amazon S3 V2] を選択します。
- [ログタイプ] として [Tanium Asset] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- S3 URI:
s3://tanium-asset-logs/tanium/assets/ - Source deletion options: 必要に応じて削除オプションを選択します。
- ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
- Asset namespace: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- S3 URI:
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
オプション 2: syslog と Bindlane を使用して Tanium Asset ログのエクスポートを構成する
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
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
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 エージェントを構成する
構成ファイルにアクセスします。
config.yamlファイルを見つけます。通常、Linux では/opt/observiq-otel-collector/ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano、vi、メモ帳など)を使用してファイルを開きます。
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-collectorWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop observiq-otel-collector && net start observiq-otel-collector
Tanium Asset で Syslog 転送を構成する
- 管理者権限で Tanium Console にログインします。
- [Modules] > [Connect] > [Overview] に移動し、[Create Connection] をクリックします。
- [作成] をクリックします。
- 次の構成情報を指定します。
- [名前]: わかりやすい名前を入力します(例:
Google SecOps Asset Integration)。 - 説明: この接続の説明(省略可)。
- 有効: スケジュールに従って実行するには、[有効] を選択します。
- [名前]: わかりやすい名前を入力します(例:
- [次へ] をクリックします。
- [ソース] の構成で、次の操作を行います。
- Source: [Saved Question] を選択します。
- 質問: アセットデータを返す既存の保存済み質問を選択するか、アセット関連のセンサーを使用して新しい質問を作成します。
- Computer Group: アセットデータの収集の対象とするコンピュータ グループを選択します。
- [次へ] をクリックします。
- [宛先] の構成で、次の操作を行います。
- 宛先: [SIEM/Syslog] を選択します。
- 名前: 宛先の名前を入力します(例:
Chronicle Asset Syslog)。 - ホスト: Bindplane の IP を入力します。
- ポート: Bindplane のポート番号(例:
514)を入力します。 - プロトコル: [UDP] を選択します。
- 形式: [SYSLOG RFC 5424] を選択します。
- タイムゾーン: システム全体で一貫性を保つため、UTC タイムゾーンを選択します。
- [次へ] をクリックします。
- [書式設定] の構成で、次の操作を行います。
- 形式: [JSON] を選択します。
- 列: 転送するアセット フィールド(コンピュータ名、IP アドレス、OS プラットフォーム、ドメインなど)を選択します。
- [次へ] をクリックします。
- [スケジュール] の構成で、次の操作を行います。
- スケジュール: 配信スケジュールを構成します(例: 1 時間ごと)。
- 開始日時: 接続の実行を開始する日時を設定します。
- [保存] をクリックして接続を作成し、転送を開始します。
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 のプロフェッショナルから回答を得ることができます。