Cloud Next Generation Firewall Enterprise のログを収集する

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

このドキュメントでは、 Google Cloudを使用して Cloud NGFW Enterprise ログをエクスポートし、Google Security Operations に取り込む方法について説明します。パーサーは、 Google Cloud ファイアウォール ログからフィールドを抽出し、変換して UDM にマッピングします。接続の詳細、脅威情報、ルールの詳細、ネットワーク情報など、さまざまなログフィールドを処理し、action フィールドと direction フィールドに基づいてデータ型の変換、名前の変更、条件付きロジックを実行して、UDM モデルに正しくデータを入力します。

始める前に

  • Google SecOps インスタンスがあることを確認します。
  • Cloud NGFW Enterprise が環境でアクティブで、構成されていることを確認します。 Google Cloud
  • Cloud NGFW Enterprise ログにアクセスするための特権アクセス権と適切な権限があることを確認します。 Google Cloud

Cloud Storage バケットを作成する

  1. Google Cloud コンソールにログインします。
  2. [Cloud Storage バケット] のページに移動します。

    [バケット] に移動

  3. [作成] をクリックします。

  4. [バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。

    1. [始める] セクションで、次の操作を行います。

      1. バケット名の要件を満たす一意の名前を入力します(例: gcp-ngfw-logs)。
      2. 階層名前空間を有効にするには、展開矢印をクリックして [Optimize for file oriented and data-intensive workloads] セクションを開き、[このバケットで階層的な名前空間を有効にする] を選択します。

      3. バケットラベルを追加するには、展開矢印をクリックして [ラベル] セクションを開きます。

      4. [ラベルを追加] をクリックし、ラベルのキーと値を指定します。

    2. [データの保存場所の選択] セクションで、次の操作を行います。

      1. ロケーション タイプを選択してください。
      2. ロケーション タイプのメニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。

      3. クロスバケット レプリケーションを設定するには、[クロスバケット レプリケーションを設定する] セクションを開きます。

    3. [データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択します。あるいは、Autoclass を選択して、バケットデータのストレージ クラスを自動的に管理します。

    4. [オブジェクトへのアクセスを制御する方法を選択する] セクションで、[なし] を選択して公開アクセスの防止を適用し、バケットのオブジェクトの [アクセス制御モデル] を選択します。

    5. [オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。

      1. [データ保護] で、バケットに設定するオプションを選択します。
      2. オブジェクト データの暗号化方法を選択するには、[データ暗号化] というラベルの付いた展開矢印をクリックし、データの暗号化方法を選択します。
  5. [作成] をクリックします。

Cloud NGFW ログのエクスポートを構成する

  1. Google Cloud コンソールにログインします。
  2. [ロギング] > [ログルーター] に移動します。
  3. [シンクを作成] をクリックします。
  4. 次の構成パラメータを指定します。

    • シンク名: わかりやすい名前を入力します(例: NGFW-Export-Sink)。
    • シンク デスティネーション: [Google Cloud Storage] を選択し、バケットの URI を入力します(例: gs://gcp-ngfw-logs)。
    • ログフィルタ:

      logName="projects/<your-project-id>/logs/gcp-firewall"
      
  5. [作成] をクリックします。

Cloud Storage の権限を構成する

  1. [IAM と管理] > [IAM] に移動します。
  2. Cloud Logging サービス アカウントを見つけます。
  3. バケットに対する roles/storage.admin を付与します。

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [新しく追加] をクリックします。
  3. [フィード名] フィールドに、フィードの名前を入力します(例: GCP NGFW Enterprise Logs)。
  4. [Source type] として [Google Cloud Storage] を選択します。
  5. [ログタイプ] として [GCP NGFW Enterprise] を選択します。
  6. [Chronicle Service Account] フィールドの横にある [Get Service Account] をクリックします。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • Storage Bucket URI: Google Cloud ストレージ バケットの URL(gs://gcp-ngfw-logs など)。
    • URI Is A: [サブディレクトリを含むディレクトリ] を選択します。
    • Source deletion options: 必要に応じて削除オプションを選択します。

    • Asset namespace: アセットの名前空間

    • Ingestion labels: このフィードのイベントに適用されるラベル。

  9. [次へ] をクリックします。

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

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
insertId metadata.product_log_id insertId フィールドから直接マッピングされます。
jsonPayload.action security_result.action_details jsonPayload.action フィールドから直接マッピングされます。
jsonPayload.connection.clientIp principal.asset.ip jsonPayload.connection.clientIp フィールドから直接マッピングされます。
jsonPayload.connection.clientIp principal.ip jsonPayload.connection.clientIp フィールドから直接マッピングされます。
jsonPayload.connection.clientPort principal.port jsonPayload.connection.clientPort フィールドから直接マッピングされ、整数に変換されます。
jsonPayload.connection.protocol network.ip_protocol jsonPayload.connection.protocol からマッピングされます。値が tcp の場合、UDM フィールドは TCP に設定されます。udpicmpigmp にも同様のロジックが適用されます。
jsonPayload.connection.serverIp target.asset.ip jsonPayload.connection.serverIp フィールドから直接マッピングされます。
jsonPayload.connection.serverIp target.ip jsonPayload.connection.serverIp フィールドから直接マッピングされます。
jsonPayload.connection.serverPort target.port jsonPayload.connection.serverPort フィールドから直接マッピングされ、整数に変換されます。
jsonPayload.interceptVpc.projectId security_result.rule_labels キー rule_details_projectIdjsonPayload.interceptVpc.projectId からマッピングされます。
jsonPayload.interceptVpc.vpc security_result.rule_labels キー rule_details_vpc_networkjsonPayload.interceptVpc.vpc からマッピングされます。
jsonPayload.securityProfileGroupDetails.securityProfileGroupId security_result.rule_labels キー rule_details_security_profile_groupjsonPayload.securityProfileGroupDetails.securityProfileGroupId からマッピングされます。
jsonPayload.securityProfileGroupDetails.securityProfileGroupId security_result.rule_labels キー rule_details_securityProfileGroupDetails_idjsonPayload.securityProfileGroupDetails.securityProfileGroupId からマッピングされます。
jsonPayload.threatDetails.category security_result.rule_labels キー rule_details_categoryjsonPayload.threatDetails.category からマッピングされます。
jsonPayload.threatDetails.direction security_result.rule_labels キー rule_details_directionjsonPayload.threatDetails.direction からマッピングされます。
jsonPayload.threatDetails.id security_result.threat_id jsonPayload.threatDetails.id フィールドから直接マッピングされます。
jsonPayload.threatDetails.severity security_result.severity jsonPayload.threatDetails.severity からマッピングされます。値が CRITICAL の場合、UDM フィールドは CRITICAL に設定されます。HIGHMEDIUMLOWINFO にも同様のロジックが適用されます。
jsonPayload.threatDetails.threat security_result.threat_name jsonPayload.threatDetails.threat フィールドから直接マッピングされます。
jsonPayload.threatDetails.type security_result.rule_labels キー rule_details_threat_typejsonPayload.threatDetails.type からマッピングされます。
jsonPayload.threatDetails.uriOrFilename security_result.rule_labels キー rule_details_uriOrFilenamejsonPayload.threatDetails.uriOrFilename からマッピングされます。
logName metadata.product_event_type logName フィールドから直接マッピングされます。
metadata.collected_timestamp metadata.collected_timestamp receiveTimestamp フィールドから直接マッピングされ、指定された日付形式を使用して解析されます。
metadata.event_type metadata.event_type principal_iptarget_ip の両方が存在する場合は、NETWORK_CONNECTION に設定します。principal_ip のみが存在する場合は STATUS_UNCATEGORIZED に設定します。それ以外の場合は GENERIC_EVENT に設定します。
metadata.product_name metadata.product_name GCP Firewall にハードコードされています。
metadata.vendor_name metadata.vendor_name Google Cloud Platform にハードコードされています。
receiveTimestamp metadata.collected_timestamp receiveTimestamp フィールドから直接マッピングされます。
security_result.action security_result.action jsonPayload.action フィールドから取得されます。jsonPayload.action の値に基づいて、ALLOWBLOCK、または UNKNOWN_ACTION にマッピングされます。
timestamp metadata.event_timestamp timestamp フィールドから直接マッピングされます。
timestamp timestamp timestamp フィールドから直接マッピングされます。

変更点

2024-04-16

  • alert_severity のマッピングを jsonPayload.alert_severity から jsonPayload.threatDetails.severity に変更しました。
  • threat_id のマッピングを jsonPayload.threat_id から jsonPayload.threatDetails.id に変更しました。
  • rdspg のマッピングを jsonPayload.security_profile_group から jsonPayload.securityProfileGroupDetails.securityProfileGroupId に変更しました。
  • rduri のマッピングを jsonPayload.uri_or_filename から jsonPayload.threatDetails.uriOrFilename に変更しました。
  • jsonPayload.rule_details.priorityjsonPayload.rule_details.apply_security_profile_fallback_actionjsonPayload.rule_details.source_rangejsonPayload.rule_details.target_secure_tag のマッピングを削除しました。

2024-03-26

  • 新しく作成されたパーサー。

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