Web Risk を Google SecOps と統合する

このドキュメントでは、Web Risk を Google Security Operations と統合する方法について説明します。

ユースケース

Web Risk の統合では、Google SecOps の機能を使用して、次のユースケースをサポートします。

  • URL レピュテーション ルックアップ: Google の既知の悪意のあるリソースのリストと URL を照合して、フィッシング、マルウェア、望ましくないソフトウェアを特定します。

  • インシデントの拡充: Web Risk の脅威インテリジェンスを使用してセキュリティ通知を自動的に拡充し、アナリストが脅威の優先順位付けと対応を行えるようにします。

  • 悪意のある URL の緩和: Web Risk チェックをハンドブックに組み込み、調査中に特定された高リスクのドメインを自動的にブロックまたはフラグ付けします。

  • フィッシング対応を自動化する: ユーザーから報告されたメールから抽出された不審なリンクを検証してフィッシングの試みを確認し、ユーザー通知や認証情報のリセットなどの自動封じ込めアクションをトリガーします。

  • 外部インテリジェンスを検証する: サードパーティの脅威フィードの URL を Googleの高忠実度リストと相互参照して、誤検出を減らし、破壊的なアクションを実行する前に悪意のある意図を確認します。

始める前に

Google SecOps で Web Risk 統合を構成する前に、次の前提条件を完了します。

  1. サービス アカウントを作成します。

  2. 次のいずれかの認証方法を選択して構成します。

    • オプション 1: Workload Identity(推奨): この方法では、サービス アカウントの権限借用を通じて有効期間の短い一時的なアクセス トークンを使用するため、シークレットを保存する必要はありません。

    • オプション 2: サービス アカウントの JSON キー: この方法は、静的な、有効期間の長い秘密鍵ファイルに依存します。この方法は、環境で Workload Identity 認証を使用できない場合にのみ使用してください。

サービス アカウントを作成する

統合用のサービス アカウントを作成するには、次の手順を行います。

  1. Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. [add サービス アカウントを作成] をクリックし、名前と説明を入力します。

  3. [完了] をクリックして、アカウントの作成を完了します。このサービス アカウントのメールアドレスは、認証構成プロセスで使用されます。

Workload Identity 認証情報を構成する

この方法または JSON キーの方法を選択して、統合を認証します。Workload Identity は、サービス アカウントの権限借用を使用して有効期間の短い一時的なアクセス トークンを使用するため、有効期間の長いシークレットを保存またはローテーションする必要がなく、推奨されるより安全なアプローチです。

一意のインスタンス ID を特定する

Workload Identity を使用して認証するには、サービス アカウントの権限を借用する権限を Google SecOps インスタンスに付与する必要があります。これにより、インスタンスは Google Cloud リソースに安全にアクセスできます。

  1. Google SecOps で、[Content Hub] > [Response Integrations] に移動します。

  2. [Web Risk] 統合を選択し、[Workload Identity Email] にサービス アカウントのメールアドレスを入力します。

  3. [割り当てプロジェクト ID] に有効なプロジェクト ID を入力します。

  4. [保存] > [テスト] をクリックします。テストは失敗することが想定されます。

  5. [テスト] の右側にある close_small をクリックし、gke-init-python@... または soar-python@... で始まる ID メールアドレスのエラー メッセージを検索します。

  6. この固有のメールアドレスをコピーします。

Google Cloudでインスタンス ID を認可する

Google SecOps インスタンスの一意の ID を取得したら、Google Cloud リソースへのアクセスを認可する必要があります。このステップにより、サービス アカウントの権限借用が有効になります。これにより、プラットフォームは有効期間の短いトークンを生成し、静的キーを必要とせずにユーザーに代わって操作を行うことができます。

  1. Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. 対象のサービス アカウントを選択し、[権限] > [アクセスを許可] に移動します。

  3. 一意のメールアドレスを [新しいプリンシパル] フィールドに貼り付け、サービス アカウント トークン作成者ロール(roles/iam.serviceAccountTokenCreator)を割り当てます。

割り当てプロジェクトへのアクセス権を付与する

Workload Identity を使用して認証する場合は、統合設定で Quota Project ID を指定して、API の使用状況と課金を追跡する必要があります。

これを承認するには、指定された割り当てプロジェクトに対する次のロールをサービス アカウントに付与する必要があります。

  1. Google Cloud コンソールで、[IAM と管理] > [IAM] に移動し、プロジェクトを選択します。

    IAM に移動

  2. プリンシパルのリストでサービス アカウントを見つけて、そのアカウントの edit(プリンシパルを編集)をクリックします。

  3. [別のロールを追加] をクリックし、[Service Usage コンシューマー] ロール(roles/serviceusage.serviceUsageConsumer)を選択します。

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

JSON キーを構成する

この方法または Workload Identity の方法を選択して、統合を認証します。JSON キーメソッドは、Workload Identity が環境で使用できない場合にのみ使用してください。Workload Identity は、推奨されるより安全なアプローチです。この方法は、手動での管理とローテーションが必要な、静的で有効期間の長い秘密鍵ファイルに依存しています。

統合の認証に必要な JSON キーファイルを生成するには、次の手順を行います。

  1. Google Cloud コンソールで、[IAM と管理] > [サービス アカウント] に移動し、作成したサービス アカウントを選択します。

    [サービス アカウント] に移動

  2. [キー] タブに移動します。

  3. [鍵を追加] > [新しい鍵を作成] の順にクリックします。

  4. 鍵のタイプとして [JSON] を選択し、[作成] をクリックします。ブラウザによって JSON ファイルがパソコンにダウンロードされます。

  5. このファイルの内容全体をコピーし、統合の構成時に Service Account JSON File Content に貼り付けます。

統合のパラメータ

Web Risk の統合には、次のパラメータが必要です。

パラメータ 説明
Workload Identity Email

省略可。

サービス アカウントのクライアント メールアドレス。

このパラメータは、Workload Identity を使用して認証する場合にのみ構成します。

このパラメータを構成する場合は、Quota Project ID も構成する必要があります。

Service Account JSON File Content

省略可。

サービス アカウントの JSON 鍵ファイルのすべての内容。

このパラメータは、JSON キーを使用して認証する場合にのみ構成します。

Quota Project ID

省略可。

API の使用量と請求額に使用される Google Cloud プロジェクト ID。

Workload Identity を使用して認証する場合は、このパラメータは必須です。

Project ID

省略可。

統合で使用する Google Cloud プロジェクト ID。

値が指定されていない場合、統合はサービス アカウントの認証情報から ID を取得します。

Verify SSL

必須。

選択すると、統合は Web Risk サーバーに接続するときに SSL 証明書を検証します。

デフォルトで有効になっています。

Google SecOps で統合を構成する方法については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できます。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応するとケースで手動アクションを実行するをご覧ください。

エンティティの拡充

エンティティを拡充アクションを使用して、Web Risk から Google SecOps エンティティに関する情報を返します。

このアクションは、Google SecOps URL エンティティに対して実行されます。

アクションへの入力

なし

アクションの出力

[Enrich Entities] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
エンティティ拡充テーブル 利用可能
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
エンティティ拡充テーブル

エンティティを拡充するアクションは、URL エンティティを拡充し、次の拡充結果を提供できます。

拡充フィールド名 ソース(JSON キー) 適用範囲
threatTypes 脅威タイプの CSV ファイル。 JSON の結果で利用可能な場合。
JSON の結果

次の例は、エンティティを拡充するアクションを使用した場合に受信される JSON 結果の出力を示しています。

{
   "Entity": "Entity",
   "EntityResult": [
       {
           "expireTime": "2024-12-20T13:47:20.786242980Z",
           "threatTypes": [
               "SOCIAL_ENGINEERING_EXTENDED_COVERAGE"
           ]
       }
   ]
}
出力メッセージ

エンティティを拡充するアクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully enriched the following entities in Web Risk: ENTITY_ID.

The action wasn't able to enrich the following entities in Web Risk: ENTITY_ID.

No information was found for the provided entities.

アクションが成功しました。
Error executing action "Enrich Entities". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、エンティティを拡充するアクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success True または False

Ping

Ping アクションを使用して、Web Risk への接続をテストします。

このアクションは Google SecOps エンティティに対しては実行されません。

アクションへの入力

なし

アクションの出力

Ping アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Ping アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明
Successfully connected to the Web Risk server with the provided connection parameters! アクションが成功しました。
Failed to connect to the Web Risk server! Error is ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Ping アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success True または False

エンティティを送信する

[Submit Entities] アクションを使用して、分析のためにエンティティを Web Risk に送信します。

この操作は非同期です。必要に応じて、Google SecOps 統合開発環境(IDE)でスクリプト タイムアウト値を調整します。

このアクションは、Google SecOps URL エンティティに対して実行されます。

アクションへの入力

[Submit Entities] アクションには、次のパラメータが必要です。

パラメータ 説明
Abuse Type

省略可。

送信に関連付けられている不正行為の種類。

不正行為の種類の詳細については、AbuseType をご覧ください。

値は次のいずれかになります。

  • Select One
  • Malware
  • Social Engineering
  • Unwanted Software

デフォルト値は Select One です。

Confidence Level

省略可。

送信の信頼度。

信頼度の詳細については、信頼度と ConfidenceLevel をご覧ください。

値は次のいずれかになります。

  • Select One
  • Low
  • Medium
  • High

デフォルト値は Select One です。

Justification

省略可。

送信の理由。

理由オプションの詳細については、JustificationLabel をご覧ください。

値は次のいずれかになります。

  • Manual Verification
  • User Report
  • Automated Report

デフォルト値は User Report です。

Comment

省略可。

送信を正当化するコメント。

Region Code

省略可。

送信に関連付けられている国または地域の Common Locale Data Repository(CLDR)コードのカンマ区切りのリスト。送信の詳細については、送信をご覧ください。

Platform

省略可。

送信が検出されたプラットフォーム タイプ。

値は次のいずれかになります。

  • Select One
  • Android
  • iOS
  • MacOS
  • Windows

デフォルト値は Select One です。

Skip Waiting

省略可。

選択すると、アクションは送信を初期化し、送信が完了するまで待機しません。

デフォルト値は True です。

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