Tanium Discover のログを収集する

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

このドキュメントでは、Tanium Connect のネイティブ S3 エクスポート機能を使用して、Amazon S3 を介して Tanium Discover ログを Google Security Operations に取り込む方法について説明します。Tanium Discover は、環境全体のネットワーク インターフェースとアセットを自動的に検出します。これにより、管理対象と管理対象外のエンドポイント、ネットワーク デバイス、その他の接続システムを可視化できます。パーサーは、JSON ログからフィールドを抽出し、MAC アドレスや OS 情報などの特定のフィールドを変換して、UDM にマッピングします。さまざまなデータ型を処理し、ベンダーやプロダクトの詳細などのメタデータを追加して、抽出されたフィールドを最終的な UDM イベント構造に統合します。

始める前に

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

  • Google SecOps インスタンス
  • Tanium ConnectTanium Console への特権アクセス
  • Tanium Discover 2.11 以降がインストールされ、構成されている
  • AWS(S3、IAM)への特権アクセス

Google SecOps 用に AWS S3 バケットと IAM を構成する

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

Amazon S3 バケットの権限を構成する

  1. Amazon S3 コンソールで、以前に作成したバケットを選択します。
  2. [権限> バケット ポリシー] をクリックします。
  3. バケット ポリシー エディタで、次のポリシーを追加します。

    {
      "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-discover-logs",
            "arn:aws:s3:::tanium-discover-logs/*"
          ]
        }
      ]
    }
    
  4. 次の変数を置き換えます。

    • YOUR_ACCOUNT_ID を AWS アカウント ID に変更します。
    • 異なる場合は、tanium-discover-logs を実際のバケット名に変更します。
    • tanium-connect-s3-user は、実際の IAM ユーザー名が異なる場合は、そのユーザー名に変更します。
  5. [保存] をクリックします。

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

  1. 管理者として Tanium Console にログインします。
  2. [Tanium Connect] > [Connections] に移動します。
  3. [接続を作成] をクリックします。
  4. [General Information] セクションで、次の構成の詳細を指定します。
    • 名前: わかりやすい名前を入力します(例: Tanium Discover to S3)。
    • 説明: わかりやすい説明を入力します(例: Export Tanium Discover interface data to S3 for Google SecOps ingestion)。
    • 有効: 接続を有効にする場合に選択します。
    • ログレベル: [情報](デフォルト)を選択するか、必要に応じて調整します。
  5. [構成] セクションの [ソース] で、[Tanium Discover] を選択します。
  6. Discover ソースの設定を構成します。
    • レポートタイプ: エクスポートするインターフェースのタイプを選択します。
      • すべて: Discover のすべてのインターフェースをエクスポートします。
      • Managed: Tanium Client がインストールされているインターフェースをエクスポートします。
      • 管理対象外: Tanium Client がインストールされていないインターフェースをエクスポートします。
      • ラベル付き: ラベルが適用されているすべてのインターフェースをエクスポートします。
      • ラベルなし: ラベルが適用されていないエクスポート インターフェース。
      • 無視: 無視としてマークされたエクスポート インターフェース。
      • Unmanageable: 管理不能とマークされたエクスポート インターフェース。
  7. [宛先] で、[AWS S3] を選択します。
  8. 次の構成の詳細を入力します。
    • 宛先名: 名前を入力します(例: Google SecOps S3 Bucket)。
    • AWS アクセスキー: 事前に作成した IAM ユーザーのアクセスキー ID を入力します。
    • AWS シークレット キー: 事前に作成した IAM ユーザーのシークレット アクセスキーを入力します。
    • バケット名: S3 バケット名(tanium-discover-logs など)を入力します。
    • バケットパス: 省略可。パスの接頭辞(tanium/discover/ など)を入力します。
    • リージョン: バケットが存在する AWS リージョン(us-east-1 など)を選択します。
  9. [形式] セクションで、出力形式を構成します。
    • 形式タイプ: [JSON] を選択します。
    • 列ヘッダーを含める: 列ヘッダーを含めるかどうかを選択します。
    • ドキュメントを生成: このオプションの選択を解除すると、未加工の JSON データが送信されます。
  10. 省略可: [出力の構成] セクションで、フィルタを構成します。
    • フィルタ: フィルタを使用して、特定のラベルをエクスポートできます。たとえば、「Lost Interface」というタグが付いたすべてのインターフェースをエクスポートする場合は、正規表現フィルタを適用し、[ラベル] ターゲット列で一致するテキストとして「Lost Interface」と入力します。
    • カスタム列: ユースケースに関連するカスタム列を追加します。
  11. [スケジュール] セクションで、接続の実行タイミングを構成します。
    • スケジュール タイプ: [Cron] を選択します。
    • Cron 式: 定期的なエクスポートの cron 式を入力します(例: 6 時間ごとの場合は 0 */6 * * *)。
    • 開始日: スケジュールの開始日を設定します。
  12. [変更を保存] をクリックします。
  13. [Connect の概要] ページで、[接続] に移動します。
  14. 作成した接続(Tanium Discover to S3)をクリックします。
  15. [Run Now] をクリックして接続をテストします。
  16. 接続を実行することを確認します。
  17. 接続ステータスをモニタリングし、検出インターフェース データが S3 バケットにエクスポートされていることを確認します。

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

  1. AWS コンソール > IAM > ユーザー > ユーザーを追加 に移動します。
  2. [ユーザーを追加] をクリックします。
  3. 次の構成の詳細を入力します。
    • ユーザー: 「secops-reader」と入力します。
    • アクセスの種類: [アクセスキー - プログラムによるアクセス] を選択します。
  4. [ユーザーを作成] をクリックします。
  5. 最小限の読み取りポリシー(カスタム)を関連付ける: [ユーザー] > [secops-reader] > [権限] > [権限を追加] > [ポリシーを直接関連付ける] > [ポリシーを作成]
  6. JSON エディタで、次のポリシーを入力します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["s3:GetObject"],
          "Resource": "arn:aws:s3:::tanium-discover-logs/*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": "arn:aws:s3:::tanium-discover-logs"
        }
      ]
    }
    
  7. 名前を secops-reader-policy に設定します。

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

  9. [セキュリティ認証情報] > [アクセスキー] > [アクセスキーを作成] に移動します。

  10. CSV をダウンロードします(これらの値はフィードに入力されます)。

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

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

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
CentralizedNmap principal.asset.attribute.labels.key 値「CentralizedNmap」はパーサーによって割り当てられます。
CentralizedNmap principal.asset.attribute.labels.value 未加工ログの CentralizedNmap フィールドから直接取得され、文字列に変換されます。
IpAddress principal.asset.ip 未加工ログの IpAddress フィールドから直接取得されます。
IpAddress principal.ip 未加工ログの IpAddress フィールドから直接取得されます。
Labels principal.asset.attribute.labels.key 値「Labels」はパーサーによって割り当てられます。
Labels principal.asset.attribute.labels.value 未加工ログの Labels フィールドから直接取得されます。
MacAddress principal.asset.mac 未加工ログの MacAddress フィールドから直接取得され、ハイフンはコロンに置き換えられ、値は小文字に変換されます。
MacAddress principal.asset.product_object_id 「TANIUM:」と MacAddress フィールドを連結します(小文字に変換し、ハイフンをコロンに置き換えた後)。
MacAddress principal.mac 未加工ログの MacAddress フィールドから直接取得され、ハイフンはコロンに置き換えられ、値は小文字に変換されます。
MacOrganization principal.asset.attribute.labels.key 値「MacOrganization」はパーサーによって割り当てられます。
MacOrganization principal.asset.attribute.labels.value 未加工ログの MacOrganization フィールドから直接取得され、文字列に変換されます。
Managed principal.asset.attribute.labels.key 値「Managed」はパーサーによって割り当てられます。
Managed principal.asset.attribute.labels.value 未加工ログの Managed フィールドから直接取得され、文字列に変換されます。
Os principal.asset.platform_software.platform Os が「Windows」の場合、値は「WINDOWS」に設定されます。Os が「Linux」の場合、値は「LINUX」に設定されます。それ以外の場合、値は「UNKNOWN_PLATFORM」に設定されます。
Os principal.platform Os が「Windows」の場合、値は「WINDOWS」に設定されます。Os が「Linux」の場合、値は「LINUX」に設定されます。それ以外の場合、値は「UNKNOWN_PLATFORM」に設定されます。
OsGeneration principal.asset.platform_software.platform_version 未加工ログの OsGeneration フィールドから直接取得され、文字列に変換されます。
OsGeneration principal.platform_version 未加工ログの OsGeneration フィールドから直接取得され、文字列に変換されます。
Ports principal.asset.attribute.labels.key 値「Ports」はパーサーによって割り当てられます。
Ports principal.asset.attribute.labels.value 未加工ログの Ports フィールドから直接取得されます。
Profile principal.asset.attribute.labels.key 値「Profile」はパーサーによって割り当てられます。
Profile principal.asset.attribute.labels.value 未加工ログの Profile フィールドから直接取得されます。
TaniumComputerId principal.asset.attribute.labels.key 値「TaniumComputerId」はパーサーによって割り当てられます。
TaniumComputerId principal.asset.attribute.labels.value 未加工ログの TaniumComputerId フィールドから直接取得され、文字列に変換されます。
Unmanageable principal.asset.attribute.labels.key 値「Unmanageable」はパーサーによって割り当てられます。
Unmanageable principal.asset.attribute.labels.value 未加工ログの Unmanageable フィールドから直接取得され、文字列に変換されます。未加工ログの time フィールドから取得され、解析されてエポック秒に変換されます。値「SCAN_NETWORK」はパーサーによって割り当てられます。値「TANIUM_DISCOVER」はパーサーによって割り当てられます。値「Discover」はパーサーによって割り当てられます。値「Tanium」はパーサーによって割り当てられます。未加工ログの HostName フィールドから直接取得されます。未加工ログの time フィールドから取得され、解析されてエポック秒に変換されます。

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