SIEM Webhook を設定する

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

始める前に

コマンドラインの例を使用する

このドキュメントには、Webhook フィードの設定とテストに役立つ curl コマンドの例が記載されています。これらの例では、編集可能なプレースホルダ変数を使用します。これらを効果的に使用するには:

  1. 変数を編集する: 設定手順に沿って、Webhook エンドポイント、API キー、シークレットの値を取得します。サンプルコードのプレースホルダ変数をクリックし、実際の値に置き換えます。

    1 つのコードサンプルで変数を編集すると、このページのすべての例で変数が更新されます。

  2. コマンドをコピーする: コードブロックの [コードサンプルをコピー] アイコンをクリックします。

  3. コマンドを実行する: コピーしたコマンドをターミナル環境に貼り付けて実行します。

    curl コマンドに --fail(または -f)フラグが含まれていることを確認します。これにより、HTTP リクエストが失敗した場合は curl がゼロ以外の終了コードを返し、成功した場合は 0 の終了コードを返すようになります。これは次のステップで必要になります。

  4. 成功を確認する: curl コマンドが成功すると、出力は返されません。成功を確認するには、次の操作を行います。

    curl コマンドに --fail(または -f)フラグが含まれている場合は、次のコマンドをすぐに実行して終了コードを確認します。

    echo $?
    

    終了コード 0 は成功を示します。

HTTPS Webhook フィードを設定する

HTTPS webhook フィードを設定する手順は次のとおりです。

  1. HTTPS Webhook フィードを作成し、エンドポイント URL と秘密鍵をコピーします。
  2. エンドポイント URL で使用する API キーを作成します。既存の API キーを再利用して Google SecOps に対する認証を行うこともできます。
  3. アプリケーション内でエンドポイント URL を指定します。

1 つの Webhook リクエストで複数のイベントを送信する

次のコードサンプルは、複数の改行区切りの JSON オブジェクトを含む単一のリクエスト本文をフォーマットする方法を示しています。

curl --location 'ENDPOINT_URL' \
  --header 'Content-Type: application/json' \
  --header 'X-goog-api-key: API_KEY' \
  --header 'X-Webhook-Access-Key: SECRET' \
  --data $'{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}\n{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
  --fail

HTTPS Webhook フィードを作成する

  1. Google SecOps メニューで、[設定] を選択し、[フィード] をクリックします。
  2. [新しく追加] をクリックします。
  3. [フィード名] フィールドに、フィードの名前を入力します。
  4. [ソースタイプ] リストで、[Webhook] を選択します。
  5. [ログタイプ] を選択します。たとえば、Open Cybersecurity Schema Framework のフィードを作成するには、[ログタイプ] として [Open Cybersecurity Schema Framework(OCSF)] を選択します。
  6. [次へ] をクリックします。
  7. 省略可: 次の入力パラメータの値を指定します。
    • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。
    • Asset namespace: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル。
  8. [次へ] をクリックします。
  9. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
  10. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
  11. このシークレットは再び表示できないため、秘密鍵をコピーして保存します。新しいシークレット キーを生成できますが、その場合、以前のシークレット キーは無効になります。
  12. [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。
  13. 省略可: [フィードを有効にする] の切り替えボタンをクリックして、フィードを無効にします。フィードはデフォルトで有効になっています。
  14. [完了] をクリックします。

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

  1. Google Cloud コンソールの [認証情報] ページに移動します。
  2. [認証情報を作成] をクリックして [API キー] を選択します。
  3. API キーへのアクセスを Chronicle API に限定します。

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

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

    X-goog-api-key: API_KEY
    X-Webhook-Access-Key: SECRET
    
    • API キーは URL 内で指定するのではなく、ヘッダーとして指定することをおすすめします。

      curl --location 'ENDPOINT_URL' \
          --header 'Content-Type: application/json' \
          --header 'X-goog-api-key: API_KEY' \
          --header 'X-Webhook-Access-Key: SECRET' \
          --data '{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
          --fail
      
    • Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーと秘密鍵を指定できます。

      ENDPOINT_URL?key=API_KEY&secret=SECRET
      

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