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 ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] で [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [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(検出結果)] を選択します。
Comply ソースの設定を構成します。
- 検出結果のタイプ: エクスポートする検出結果のタイプ(すべて、コンプライアンス、脆弱性)を選択します。
- 解決済みの結果を含める: 解決済みの結果を含めるかどうかを選択します。
- コンピュータ グループ: エクスポートに含めるコンピュータ グループを選択します(デフォルト: すべてのコンピュータ)。
[宛先] で、[AWS S3] を選択します。
次の構成情報を提供してください。
- 宛先名: 名前を入力します(例:
Google SecOps S3 Bucket
)。 - AWS アクセスキー: 事前に作成した IAM ユーザーのアクセスキー ID を入力します。
- AWS シークレット キー: 事前に作成した 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 コンソール > IAM > ユーザー > ユーザーを追加 に移動します。
- [ユーザーを追加] をクリックします。
- 次の構成の詳細を入力します。
- ユーザー: 「
secops-reader
」と入力します。 - アクセスの種類: [アクセスキー - プログラムによるアクセス] を選択します。
- ユーザー: 「
- [ユーザーを作成] をクリックします。
- 最小限の読み取りポリシー(カスタム)を関連付ける: [ユーザー] > [secops-reader] > [権限] > [権限を追加] > [ポリシーを直接関連付ける] > [ポリシーを作成]。
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
に設定します。[ポリシーの作成> 検索/選択> 次へ> 権限を追加] に移動します。
[セキュリティ認証情報] > [アクセスキー] > [アクセスキーを作成] に移動します。
CSV をダウンロードします(これらの値はフィードに入力されます)。
Tanium Comply のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [+ 新しいフィードを追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Tanium Comply logs
)。 - [ソースタイプ] として [Amazon S3 V2] を選択します。
- [ログタイプ] として [Tanium Comply] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- S3 URI:
s3://tanium-comply-logs/tanium/comply/
(別のバケット名またはパスを使用した場合は、パスを調整します)。 - Source deletion options: 必要に応じて削除オプションを選択します。
- ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー(上記で作成した読み取り専用ユーザーのアクセスキー)。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー(上記で作成した読み取り専用ユーザーのキー)。
- アセットの名前空間: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- S3 URI:
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
コンピュータ名 | entity.entity.asset.hostname | スペースをアンダースコアに置き換えた後、「コンピュータ名」フィールドから直接マッピングされます。 |
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 アドレス」配列の各 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 | 「準拠」に設定します。 |
- | entity.metadata.vendor_name | 「Tanium」に設定します。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。