Aqua Security のログを収集する

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

概要

このパーサーは、Aqua Security ログからフィールドを抽出し、Unified Data Model(UDM)に変換します。message フィールドを JSON として解析し、ユーザー、送信元 IP、その他の関連フィールドを抽出して UDM フィールドにマッピングし、action フィールドに基づいてイベントを分類します。また、ルール名、説明、CVE の詳細などのセキュリティ コンテキストでデータを拡充します。

始める前に

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

  • Google SecOps インスタンス。
  • Aqua Security 管理コンソールへの特権アクセス。

フィードを設定する

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

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

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

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

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Aqua Security Logs)。
  5. [Source type] として [Webhook] を選択します。
  6. [ログタイプ] として [Aqua Security] を選択します。
  7. [次へ] をクリックします。
  8. 省略可: 次の入力パラメータの値を指定します。
    • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。
    • Asset namespace: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル。
  9. [次へ] をクリックします。
  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。
  11. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
  12. 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、その場合以前の秘密鍵は無効になります。
  13. [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。 このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。
  14. [完了] をクリックします。

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

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

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

詳細オプション

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

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

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

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

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

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

    [認証情報] に移動

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

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

エンドポイント 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: フィードの認証用に生成した秘密鍵。

Google SecOps 用に Aqua Security で Webhook を作成する

  1. Aqua Security コンソールにログインします。
  2. [設定] > [イメージ スキャン結果の Webhook] に移動します。
  3. [画像スキャン結果の送信を有効にする] チェックボックスをオンにします。
  4. <ENDPOINT_URL><API_KEY><SECRET> の順に入力します。
  5. [保存] をクリックします。

UDM マッピング テーブル

ログフィールド(昇順) UDM マッピング 論理
jsonPayload.action metadata.event_type 「jsonPayload.action」の値に基づいてマッピングされます。特定のマッピングについては、パーサーコードをご覧ください。
jsonPayload.action security_result.summary 直接マッピングされます。
jsonPayload.adjective target.file.full_path 'jsonPayload.container' が空の場合、直接マッピングされます。
jsonPayload.category target.asset.category 直接マッピングされます。
jsonPayload.cfappname target.application 直接マッピングされます。
jsonPayload.cfspace principal.user.userid jsonPayload.user が空の場合、直接マッピングされます。
jsonPayload.command principal.ip Grok パターン「user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)」を使用して抽出されます。
jsonPayload.command principal.user.userid Grok パターン「user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)」を使用して抽出されます。
jsonPayload.container target.asset.product_object_id 直接マッピングされます。
jsonPayload.data security_result.detection_fields Key-Value ペアとして解析され、security_result.detection_fields 内の個々のフィールドにマッピングされます。
jsonPayload.description security_result.description 「jsonPayload.reason」が空の場合、直接マッピングされます。
jsonPayload.host principal.hostname 直接マッピングされます。
jsonPayload.hostgroup target.group.group_display_name 直接マッピングされます。
jsonPayload.hostid target.asset_id 「ホスト ID: %{jsonPayload.hostid}」としてマッピングしました。
jsonPayload.hostip target.ip 直接マッピングされます。
jsonPayload.image target.file.full_path 直接マッピングされます。
jsonPayload.level security_result.action jsonPayload.level が「success」の場合は「ALLOW」に設定します。
jsonPayload.reason security_result.description 直接マッピングされます。
jsonPayload.rule security_result.rule_name 直接マッピングされます。
jsonPayload.user principal.user.userid 直接マッピングされます。
jsonPayload.vm_location target.asset.location.name 直接マッピングされます。
jsonPayload.vm_name target.resource.name 直接マッピングされます。
resource.labels.instance_id target.resource.id 直接マッピングされます。
resource.labels.project_id target.asset.attribute.cloud.project.id 直接マッピングされます。
resource.labels.zone target.asset.attribute.cloud.availability_zone 直接マッピングされます。
timestamp metadata.event_timestamp ISO8601 形式に変換された後、直接マッピングされます。
extensions.auth.type 「jsonPayload.description」に「SAML」が含まれている場合は「SSO」に設定します。それ以外の場合で、「jsonPayload.action」が「login」または「Login」の場合は、「AUTHTYPE_UNSPECIFIED」に設定します。
metadata.log_type 「AQUA_SECURITY」に設定します。
metadata.product_name 「AQUA_SECURITY」に設定します。
metadata.vendor_name 「AQUA_SECURITY」に設定します。
target.asset.attribute.cloud.environment 「GOOGLE_CLOUD_PLATFORM」に設定します。
target.resource.type 「VIRTUAL_MACHINE」に設定します。

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