Tanium Comply のログを収集する
このドキュメントでは、Tanium Connect のネイティブ S3 エクスポート機能を使用して、Amazon S3 を使用して Tanium Comply ログを Google Security Operations に取り込む方法について説明します。パーサーは、JSON ログデータを統合データモデル(UDM)に変換します。CVE ID、CVSS スコア、影響を受ける IP アドレス、タイムスタンプなどの主要な脆弱性情報を抽出し、標準化された UDM 形式に再構築して、一貫したセキュリティ分析を行います。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Tanium Connect と Tanium Console への特権アクセス
- Tanium Comply 2.1 以降がインストールされ、構成されている
- AWS(S3、IAM)への特権アクセス
Google SecOps 用に AWS S3 バケットと IAM を構成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- バケットの名前とリージョンを保存して、後で参照できるようにします(例:
tanium-comply-logs)。 - IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [Access Keys] セクションで [Create Access Key] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- (省略可)説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックし、[アクセスキー] と [シークレット アクセスキー] を保存して、後で使用できるようにします。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで [権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
Amazon S3 バケットの権限を構成する
- Amazon S3 コンソールで、以前に作成したバケットを選択します。
- [権限] > [バケット ポリシー] をクリックします。
バケット ポリシー エディタで、次のポリシーを追加します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::YOUR_ACCOUNT_ID:user/tanium-connect-s3-user" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::tanium-comply-logs", "arn:aws:s3:::tanium-comply-logs/*" ] } ] }次の変数を置き換えます。
YOUR_ACCOUNT_IDを AWS アカウント ID に変更します。tanium-comply-logsは、実際のバケット名に置き換えます(異なる場合)。tanium-connect-s3-userを実際の IAM ユーザー名に変更します(異なる場合)。
[保存] をクリックします。
S3 エクスポート用に Tanium Connect を構成する
- 管理者として Tanium Console にログインします。
- [Tanium Connect] > [Connections] に移動します。
- [接続を作成] をクリックします。
- [General Information] セクションで、次の構成の詳細を指定します。
- [名前]: わかりやすい名前を入力します(例:
Tanium Comply to S3)。 - 説明: わかりやすい説明を入力します(例:
Export Tanium Comply findings to S3 for Google SecOps ingestion)。 - 有効にする: 接続を有効にする場合に選択します。
- ログレベル: [情報](デフォルト)を選択するか、必要に応じて調整します。
- [名前]: わかりやすい名前を入力します(例:
[構成] セクションの [ソース] で、[Tanium Comply(Findings)] を選択します。
Comply のソース設定を構成します。
- 検出結果の種類: エクスポートする検出結果の種類(すべて、コンプライアンス、脆弱性)を選択します。
- 解決済みの検出結果を含める: 解決済みの検出結果を含めるかどうかを選択します。
- Computer Groups: エクスポートに含めるコンピュータ グループを選択します(デフォルト: All Computers)。
[宛先] で [AWS S3] を選択します。
次の構成情報を提供してください。
- 宛先名: 名前を入力します(例:
Google SecOps S3 Bucket)。 - AWS アクセスキー: 前に作成した IAM ユーザーのアクセスキー ID を入力します。
- AWS Secret Key: 前に作成した IAM ユーザーのシークレット アクセスキーを入力します。
- バケット名: S3 バケット名を入力します(例:
tanium-comply-logs)。 - バケットパス: 省略可。パスの接頭辞を入力します(例:
tanium/comply/)。 - リージョン: バケットが存在する AWS リージョンを選択します(例:
us-east-1)。
- 宛先名: 名前を入力します(例:
[形式] セクションで、出力形式を構成します。
- 形式タイプ: [JSON] を選択します。
- 列ヘッダーを含める: 列ヘッダーを含める場合に選択します。
- ドキュメントを生成する: 未加工の JSON データを送信するには、このオプションの選択を解除します。
省略可: [出力の構成] セクションで、必要に応じてフィルタとカスタム列を構成します。
[スケジュール] セクションで、接続を実行するタイミングを構成します。
- スケジュール タイプ: [Cron] を選択します。
- Cron 式: 定期的なエクスポートの cron 式を入力します(例: 4 時間ごとにエクスポートする場合は
0 */4 * * *)。 - 開始日: スケジュールの開始日を設定します。
[変更を保存] をクリックします。
[Connect の概要] ページから [接続] に移動します。
作成した接続(Tanium Comply to S3)をクリックします。
[Run Now] をクリックして接続をテストします。
接続を実行することを確認します。
接続ステータスをモニタリングし、コンプライアンスの検出結果が 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-comply-logs/*" }, { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": "arn:aws:s3:::tanium-comply-logs" } ] }名前を
secops-reader-policyに設定します。[Create policy] > 検索 / 選択 > [Next] > [Add permissions] に移動します。
[セキュリティ認証情報] > [アクセスキー] > [アクセスキーを作成] に移動します。
CSV をダウンロードします(これらの値はフィードに入力されます)。
Tanium Comply のログを取り込むように Google SecOps でフィードを構成する
- [設定] > [データ管理] > [フィード] に移動します。SIEM のみのプラットフォームを使用している場合は、[設定] > [フィード] に移動します。
- [+ Add New Feed] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Tanium Comply logs)。 - [ソースタイプ] として [Amazon S3 V2] を選択します。
- [ログタイプ] として [Tanium Comply] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- S3 URI:
s3://tanium-comply-logs/tanium/comply/(別のバケット名またはパスを使用した場合は、パスを調整します)。 - Source deletion options: 必要に応じて削除オプションを選択します。
- ファイルの最長存続期間: 過去数日間に変更されたファイルを含めます。デフォルトは 180 日です。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー(上記で作成した読み取り権限のみのユーザーから取得)。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー(上記で作成した読み取り専用ユーザーから取得)。
- Asset namespace: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- S3 URI:
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| コンピュータ名 | entity.entity.asset.hostname | スペースをアンダースコアに置き換えた後、「Computer Name」フィールドから直接マッピングされます。 |
| CVE | entity.entity.asset.vulnerabilities.cve_id | 「CVE」フィールドから直接マッピングされます。 |
| CVSS v3 スコア | entity.entity.asset.vulnerabilities.cvss_base_score | cvss_base_score に名前を変更した後、「CVSS v3 Score」フィールドから直接マッピングされます。 |
| CVSS v3 の重大度 | entity.entity.asset.vulnerabilities.severity_details | 「CVSS v3 Severity」フィールドから直接マッピングされます。 |
| CVSS v3 ベクトル | entity.entity.asset.vulnerabilities.cvss_vector | 「CVSS v3 Vector」フィールドから直接マッピングされます。 |
| 初検出日 | entity.entity.asset.vulnerabilities.first_found | 「First Found Date」フィールドから解析され、RFC 3339 UTC 形式に変換されます。日付に「-」が含まれている場合は、「T00:00:00Z」が追加されます。それ以外の場合は、grok を使用して日付が抽出され、変換されます。 |
| IP アドレス | entity.entity.asset.ip | 「IP Address」配列の各 IP アドレスは、UDM の個別の「ip」フィールドにマッピングされます。 |
| 最終検出日 | entity.entity.asset.vulnerabilities.last_found | 「Last Found Date」フィールドから解析され、RFC 3339 UTC 形式に変換されます。日付に「-」が含まれている場合は、「T00:00:00Z」が追加されます。それ以外の場合は、grok を使用して日付が抽出され、変換されます。 |
| タイトル | entity.entity.asset.vulnerabilities.name | 「Title」フィールドから直接マッピングされます。 |
| collection_time.nanos | entity.metadata.collected_timestamp.nanos | 「collection_time.nanos」フィールドから直接マッピングされます。 |
| collection_time.seconds | entity.metadata.collected_timestamp.seconds | 「collection_time.seconds」フィールドから直接マッピングされます。 |
| 時間 | entity.metadata.interval.start_time | 「time」フィールドから解析され、RFC 3339 UTC 形式に変換されます。 |
| - | entity.metadata.entity_type | 「ASSET」に設定します。 |
| - | entity.metadata.product_entity_id | 「Tanium: 」に「computerName」フィールドの値を連結した値に設定されます。 |
| - | entity.metadata.product_name | [Comply] に設定します。 |
| - | entity.metadata.vendor_name | 「Tanium」に設定します。 |
変更ログ
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。