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 バケットを作成する
- Google Cloud コンソールにログインします。
[Cloud Storage バケット] のページに移動します。
[作成] をクリックします。
[バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。
[始める] セクションで、次の操作を行います。
- バケット名の要件を満たす一意の名前を入力します(例: gcp-ngfw-logs)。
階層名前空間を有効にするには、展開矢印をクリックして [Optimize for file oriented and data-intensive workloads] セクションを開き、[このバケットで階層的な名前空間を有効にする] を選択します。
バケットラベルを追加するには、展開矢印をクリックして [ラベル] セクションを開きます。
[ラベルを追加] をクリックし、ラベルのキーと値を指定します。
[データの保存場所の選択] セクションで、次の操作を行います。
- ロケーション タイプを選択してください。
ロケーション タイプのメニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。
クロスバケット レプリケーションを設定するには、[クロスバケット レプリケーションを設定する] セクションを開きます。
[データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択します。あるいは、Autoclass を選択して、バケットデータのストレージ クラスを自動的に管理します。
[オブジェクトへのアクセスを制御する方法を選択する] セクションで、[なし] を選択して公開アクセスの防止を適用し、バケットのオブジェクトの [アクセス制御モデル] を選択します。
[オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。
- [データ保護] で、バケットに設定するオプションを選択します。
- オブジェクト データの暗号化方法を選択するには、[データ暗号化] というラベルの付いた展開矢印をクリックし、データの暗号化方法を選択します。
[作成] をクリックします。
Cloud NGFW ログのエクスポートを構成する
- Google Cloud コンソールにログインします。
- [ロギング] > [ログルーター] に移動します。
- [シンクを作成] をクリックします。
次の構成パラメータを指定します。
- シンク名: わかりやすい名前を入力します(例:
NGFW-Export-Sink
)。 - シンク デスティネーション: [Google Cloud Storage] を選択し、バケットの URI を入力します(例:
gs://gcp-ngfw-logs
)。 ログフィルタ:
logName="projects/<your-project-id>/logs/gcp-firewall"
- シンク名: わかりやすい名前を入力します(例:
[作成] をクリックします。
Cloud Storage の権限を構成する
- [IAM と管理] > [IAM] に移動します。
- Cloud Logging サービス アカウントを見つけます。
- バケットに対する roles/storage.admin を付与します。
Cloud NGFW Enterprise のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: GCP NGFW Enterprise Logs)。
- [Source type] として [Google Cloud Storage] を選択します。
- [ログタイプ] として [GCP NGFW Enterprise] を選択します。
- [Chronicle Service Account] フィールドの横にある [Get Service Account] をクリックします。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- Storage Bucket URI: Google Cloud ストレージ バケットの URL(
gs://gcp-ngfw-logs
など)。 - URI Is A: [サブディレクトリを含むディレクトリ] を選択します。
Source deletion options: 必要に応じて削除オプションを選択します。
Asset namespace: アセットの名前空間。
Ingestion labels: このフィードのイベントに適用されるラベル。
- Storage Bucket URI: Google Cloud ストレージ バケットの URL(
[次へ] をクリックします。
[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 に設定されます。udp 、icmp 、igmp にも同様のロジックが適用されます。 |
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_projectId で jsonPayload.interceptVpc.projectId からマッピングされます。 |
jsonPayload.interceptVpc.vpc |
security_result.rule_labels |
キー rule_details_vpc_network で jsonPayload.interceptVpc.vpc からマッピングされます。 |
jsonPayload.securityProfileGroupDetails.securityProfileGroupId |
security_result.rule_labels |
キー rule_details_security_profile_group で jsonPayload.securityProfileGroupDetails.securityProfileGroupId からマッピングされます。 |
jsonPayload.securityProfileGroupDetails.securityProfileGroupId |
security_result.rule_labels |
キー rule_details_securityProfileGroupDetails_id で jsonPayload.securityProfileGroupDetails.securityProfileGroupId からマッピングされます。 |
jsonPayload.threatDetails.category |
security_result.rule_labels |
キー rule_details_category で jsonPayload.threatDetails.category からマッピングされます。 |
jsonPayload.threatDetails.direction |
security_result.rule_labels |
キー rule_details_direction で jsonPayload.threatDetails.direction からマッピングされます。 |
jsonPayload.threatDetails.id |
security_result.threat_id |
jsonPayload.threatDetails.id フィールドから直接マッピングされます。 |
jsonPayload.threatDetails.severity |
security_result.severity |
jsonPayload.threatDetails.severity からマッピングされます。値が CRITICAL の場合、UDM フィールドは CRITICAL に設定されます。HIGH 、MEDIUM 、LOW 、INFO にも同様のロジックが適用されます。 |
jsonPayload.threatDetails.threat |
security_result.threat_name |
jsonPayload.threatDetails.threat フィールドから直接マッピングされます。 |
jsonPayload.threatDetails.type |
security_result.rule_labels |
キー rule_details_threat_type で jsonPayload.threatDetails.type からマッピングされます。 |
jsonPayload.threatDetails.uriOrFilename |
security_result.rule_labels |
キー rule_details_uriOrFilename で jsonPayload.threatDetails.uriOrFilename からマッピングされます。 |
logName |
metadata.product_event_type |
logName フィールドから直接マッピングされます。 |
metadata.collected_timestamp |
metadata.collected_timestamp |
receiveTimestamp フィールドから直接マッピングされ、指定された日付形式を使用して解析されます。 |
metadata.event_type |
metadata.event_type |
principal_ip と target_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 の値に基づいて、ALLOW 、BLOCK 、または 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.priority
、jsonPayload.rule_details.apply_security_profile_fallback_action
、jsonPayload.rule_details.source_range
、jsonPayload.rule_details.target_secure_tag
のマッピングを削除しました。
2024-03-26
- 新しく作成されたパーサー。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。