Sysdig のログを収集する

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

このパーサーは、Sysdig JSON ログからセキュリティ イベント データを抽出し、未加工ログフィールドを Google Security Operations UDM 形式に変換してマッピングします。メタデータ、プリンシパルまたはターゲット情報、セキュリティ結果の詳細、Kubernetes 関連のコンテキストなどのさまざまなフィールドを処理し、Google SecOps 内での分析用にデータを拡充します。また、パーサーは、フィールド値に基づいてデータ型の変換、エラー処理、条件付きロジックも実行し、正確で包括的な UDM 表現を保証します。

始める前に

次の前提条件を満たしていることを確認します。

  • Google SecOps インスタンス。
  • Sysdig Secure への特権アクセス。

Webhook フィード用の API キーを作成する

  1. Google Cloud コンソール > [認証情報] に移動します。

    [認証情報] に移動

  2. [認証情報を作成] をクリックして [API キー] を選択します。

  3. API キーのアクセスを Google Security Operations API に制限します。

オプション 1

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • [SIEM 設定] > [フィード]
  • [Content Hub] > [Content Packs]

[SIEM 設定] > [フィード] でフィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Sysdig Logs)。
  5. [Source type] として [Webhook] を選択します。
  6. [ログタイプ] として [Sysdig] を選択します。
  7. [次へ] をクリックします。
  8. 省略可: 次の入力パラメータの値を指定します。

    • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。
  9. [次へ] をクリックします。

  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。

  11. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。

  12. 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、その場合以前の秘密鍵は無効になります。

  13. [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。 このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。

  14. [完了] をクリックします。

コンテンツ ハブからフィードを設定する

次のフィールドに値を指定します。

  • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。

詳細オプション

  • フィード名: フィードを識別する事前入力された値。
  • ソースタイプ: Google SecOps にログを収集するために使用される方法。
  • アセットの名前空間: フィードに関連付けられた名前空間。
  • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。

  • [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。

  • 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、その場合以前の秘密鍵は無効になります。

  • [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。 このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。

エンドポイント URL を指定する

  1. クライアント アプリケーション内で、Webhook フィードで提供される HTTPS エンドポイント URL を指定します。
  2. 次の形式でカスタム ヘッダーの一部として API キーと秘密鍵を指定して、認証を有効にします。

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    推奨事項: API キーは URL 内で指定するのではなくヘッダーとして指定してください。

  3. Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーと秘密鍵を指定できます。

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    以下を置き換えます。

    • ENDPOINT_URL: フィード エンドポイントの URL。
    • API_KEY: Google SecOps に対する認証に使用する API キー。
    • SECRET: フィードの認証用に生成した秘密鍵。

Sysdig で Webhook を構成する

  1. 管理者権限で Sysdig Secure にログインします。
  2. [Profile] > [Settings] > [Event Forwarding] に移動します。
  3. [+ 統合を追加] をクリックし、プルダウンから [Webhook] を選択します。
  4. 次の入力パラメータの値を指定します。

    • Integration Name: Webhook のわかりやすい名前を入力します(例: Google SecOps Webhook)。
    • エンドポイント: Webhook <ENDPOINT_URL> の後に <API_KEY<SECRET> を入力します。
    • 送信するデータ: 転送する Sysdig データの種類をプルダウンから選択します。

    • 統合をテストし、[有効] を切り替えて有効にします。

    • [保存] をクリックします。

オプション 2

データを Google SecOps に直接転送する

  1. 管理者認証情報を使用して Sysdig Secure にログインします。
  2. [設定] > [イベント転送] に移動します。
  3. [+ 統合を追加] をクリックし、プルダウンから [Google Chronicle] を選択します。
  4. 次の入力パラメータの値を指定します。
    • 統合名: 統合のわかりやすい名前を指定します(例: Google SecOps Integration)。
    • お客様 ID: Google Cloud アカウントに関連付けられている Google お客様 ID。(Google SecOps では、[設定] > [プロファイル] で確認できます)。
    • 名前空間: 省略可: インデックス登録と拡充に適したデータドメインを識別するために、タグとして使用します。
    • JSON 認証情報: Google SecOps JSON 認証情報をアップロードします。
    • リージョン: 米国、ヨーロッパ、アジアなどのリージョンを選択します。
    • 送信するデータ: プルダウンから転送する Sysdig データの種類を選択します。
    • 統合をテストし、[有効] を切り替えて有効にします。
    • [保存] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
agentId read_only_udm.metadata.product_deployment_id 未加工ログの agentId の値は、この UDM フィールドに直接マッピングされます。
category read_only_udm.security_result.category_details 未加工ログの category の値は、この UDM フィールドに直接マッピングされます。
content.fields.container.id read_only_udm.target.asset.asset_id 未加工ログの content.fields.container.id の値に「container_id:」が追加され、この UDM フィールドにマッピングされます。containerId が空の場合に使用されます。
content.fields.container.image.repository read_only_udm.target.file.full_path 未加工ログの content.fields.container.image.repository の値は、この UDM フィールドに直接マッピングされます。
content.fields.container.image.tag read_only_udm.metadata.ingestion_labels.value(キーは tag 未加工ログの content.fields.container.image.tag の値は、この UDM フィールドに直接マッピングされます。
content.fields.evt.res read_only_udm.metadata.ingestion_labels.value(キーは evt_res 未加工ログの content.fields.evt.res の値は、この UDM フィールドに直接マッピングされます。
content.fields.evt.type read_only_udm.metadata.event_type 未加工ログの content.fields.evt.type の値は、この UDM フィールドに直接マッピングされます。
content.fields.falco.rule read_only_udm.security_result.rule_name 未加工ログの content.fields.falco.rule の値は、この UDM フィールドに直接マッピングされます。content.ruleName が空の場合に使用されます。
content.fields.group.gid read_only_udm.target.group.product_object_id 未加工ログの content.fields.group.gid の値は、この UDM フィールドに直接マッピングされます。
content.fields.group.name read_only_udm.target.group.group_display_name 未加工ログの content.fields.group.name の値は、この UDM フィールドに直接マッピングされます。
content.fields.proc.cmdline read_only_udm.target.process.command_line 未加工ログの content.fields.proc.cmdline の値は、この UDM フィールドに直接マッピングされます。
content.fields.proc.pcmdline read_only_udm.target.process.parent_process.command_line 未加工ログの content.fields.proc.pcmdline の値は、この UDM フィールドに直接マッピングされます。
content.fields.proc.pid read_only_udm.target.process.pid 未加工ログの content.fields.proc.pid の値は、この UDM フィールドに直接マッピングされます。
content.fields.proc.ppid read_only_udm.target.process.parent_process.pid 未加工ログの content.fields.proc.ppid の値は、この UDM フィールドに直接マッピングされます。
content.fields.proc.sid read_only_udm.metadata.ingestion_labels.value(キーは sid 未加工ログの content.fields.proc.sid の値は、この UDM フィールドに直接マッピングされます。
content.fields.user.loginname read_only_udm.principal.user.user_display_name 未加工ログの content.fields.user.loginname の値は、この UDM フィールドに直接マッピングされます。
content.fields.user.uid read_only_udm.principal.user.userid 未加工ログの content.fields.user.uid の値は、この UDM フィールドに直接マッピングされます。
content.output read_only_udm.additional.fields.value.string_value(キーは content_output 未加工ログの content.output の値は、この UDM フィールドに直接マッピングされます。
content.policyId read_only_udm.security_result.rule_id 未加工ログの content.policyId の値は、この UDM フィールドに直接マッピングされます。
content.policyOrigin read_only_udm.additional.fields.value.string_value(キーは content_policyOrigin 未加工ログの content.policyOrigin の値は、この UDM フィールドに直接マッピングされます。
content.policyVersion read_only_udm.additional.fields.value.string_value(キーは content_policyVersion 未加工ログの content.policyVersion の値は、この UDM フィールドに直接マッピングされます。
content.ruleName read_only_udm.security_result.rule_name 未加工ログの content.ruleName の値は、この UDM フィールドに直接マッピングされます。
content.ruleTags read_only_udm.security_result.rule_labels 未加工ログの content.ruleTags 配列の値は、この UDM フィールドにマッピングされ、キーは「ruletag_index」として動的に生成されます。
content.ruleType read_only_udm.additional.fields.value.string_value(キーは content_ruleType 未加工ログの content.ruleType の値は、この UDM フィールドに直接マッピングされます。
containerId read_only_udm.target.asset.asset_id 未加工ログの containerId の値に「container_id:」が追加され、この UDM フィールドにマッピングされます。
description read_only_udm.metadata.description 未加工ログの description の値は、この UDM フィールドに直接マッピングされます。
id read_only_udm.metadata.product_log_id 未加工ログの id の値は、この UDM フィールドに直接マッピングされます。
labels.container.label.io.kubernetes.container.name read_only_udm.additional.fields.value.string_value(キーは container_name 未加工ログの labels.container.label.io.kubernetes.container.name の値は、この UDM フィールドに直接マッピングされます。
labels.container.label.io.kubernetes.pod.name read_only_udm.additional.fields.value.string_value(キーは pod_name 未加工ログの labels.container.label.io.kubernetes.pod.name の値は、この UDM フィールドに直接マッピングされます。labels.kubernetes.pod.name が空の場合に使用されます。
labels.container.label.io.kubernetes.pod.namespace read_only_udm.principal.namespace 未加工ログの labels.container.label.io.kubernetes.pod.namespace の値は、この UDM フィールドに直接マッピングされます。labels.kubernetes.namespace.name が空の場合に使用されます。
labels.aws.instanceId read_only_udm.target.resource.product_object_id 未加工ログの labels.aws.instanceId の値は、この UDM フィールドに直接マッピングされます。
labels.aws.region read_only_udm.target.resource.attribute.cloud.availability_zone 未加工ログの labels.aws.region の値は、この UDM フィールドに直接マッピングされます。
labels.host.hostName read_only_udm.principal.ip または read_only_udm.principal.hostname 値に「ip」が含まれている場合は、IP アドレスとして解析され、principal.ip にマッピングされます。それ以外の場合は principal.hostname にマッピングされます。
labels.host.mac read_only_udm.principal.mac 未加工ログの labels.host.mac の値は、この UDM フィールドに直接マッピングされます。machineId が空の場合に使用されます。
labels.kubernetes.cluster.name read_only_udm.additional.fields.value.string_value(キーは kubernetes_cluster_name 未加工ログの labels.kubernetes.cluster.name の値は、この UDM フィールドに直接マッピングされます。
labels.kubernetes.deployment.name read_only_udm.additional.fields.value.string_value(キーは kubernetes_deployment_name 未加工ログの labels.kubernetes.deployment.name の値は、この UDM フィールドに直接マッピングされます。
labels.kubernetes.namespace.name read_only_udm.principal.namespace 未加工ログの labels.kubernetes.namespace.name の値は、この UDM フィールドに直接マッピングされます。
labels.kubernetes.node.name read_only_udm.additional.fields.value.string_value(キーは kubernetes_node_name 未加工ログの labels.kubernetes.node.name の値は、この UDM フィールドに直接マッピングされます。
labels.kubernetes.pod.name read_only_udm.additional.fields.value.string_value(キーは pod_name 未加工ログの labels.kubernetes.pod.name の値は、この UDM フィールドに直接マッピングされます。
labels.kubernetes.service.name read_only_udm.additional.fields.value.string_value(キーは kubernetes_service_name 未加工ログの labels.kubernetes.service.name の値は、この UDM フィールドに直接マッピングされます。
machineId read_only_udm.principal.mac 未加工ログの machineId の値は、この UDM フィールドに直接マッピングされます。
name read_only_udm.security_result.summary 未加工ログの name の値は、この UDM フィールドに直接マッピングされます。
severity read_only_udm.security_result.severity 未加工ログの severity の値は、次の範囲に基づいて文字列値にマッピングされます。<4 = HIGH、>3 かつ <6 = MEDIUM、6 = LOW、7 = INFORMATIONAL。
source read_only_udm.security_result.description 未加工ログの source の値は、この UDM フィールドに直接マッピングされます。
timestampRFC3339Nano read_only_udm.metadata.event_timestamp 未加工ログの timestampRFC3339Nano の値はタイムスタンプとして解析され、この UDM フィールドにマッピングされます。
type read_only_udm.metadata.product_event_type 未加工ログの type の値は、この UDM フィールドに直接マッピングされます。
(パーサー ロジック) read_only_udm.metadata.product_name 「SYSDIG」にハードコードされています。
(パーサー ロジック) read_only_udm.metadata.vendor_name 「SYSDIG」にハードコードされています。
(パーサー ロジック) read_only_udm.metadata.event_type デフォルトでは「PROCESS_UNCATEGORIZED」に設定されます。labels.host.hostName が空の場合は「GENERIC_EVENT」に設定されます。
(パーサー ロジック) read_only_udm.metadata.log_type 「SYSDIG」にハードコードされています。
(パーサー ロジック) read_only_udm.target.resource.resource_type labels.aws.instanceId が存在する場合は、「CLOUD_PROJECT」に設定されます。

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