脅威のログ

脅威ログを使用すると、ネットワークで検出された脅威を監査、検証、分析できます。

Cloud Next Generation Firewall は、レイヤ 7 の検査用にモニタリングされているトラフィックで脅威を検出すると、送信元プロジェクトに脅威の詳細を含むログエントリを生成します。脅威ログを表示して確認するには、ログ エクスプローラでログ networksecurity.googleapis.com/firewall_threat を検索します。これらの脅威ログは、[脅威] ページでも確認できます。

このページでは、脅威の検出時に生成される脅威ログの形式と構造について説明します。

脅威ログの形式

Cloud NGFW は、特定のゾーンにある仮想マシン(VM)インスタンスとの間でモニタリングしているトラフィックに脅威を検出すると、そのたびに Cloud Logging にログレコードのエントリを作成します。ログレコードは、LogEntry の JSON ペイロード フィールドに含まれます。

一部のログフィールドはマルチ フィールド形式であり、所定のフィールドに複数のデータが含まれます。たとえば、connection フィールドは Connection 形式で、サーバーの IP アドレスとポート、クライアントの IP アドレスとポート、プロトコル番号が 1 つのフィールドに格納されます。

次の表に、脅威ログのフィールドの形式を示します。

フィールド 種類 説明
connection Connection 脅威が検出されたトラフィックに関連付けられた接続パラメータを表す 5 タプル。
action string 脅威が検出されたパケットに対して実行されるアクション。このアクションは、セキュリティ プロファイルで指定されたデフォルト アクションか、オーバーライド アクションのいずれかになります。
threatDetails ThreatDetails 検出された脅威の詳細。
securityProfileGroupDetails SecurityProfileGroupDetails インターセプトされたトラフィックに適用されたセキュリティ プロファイル グループの詳細。
interceptVpc VpcDetails 脅威が検出された VM インスタンスに関連付けられた Virtual Private Cloud(VPC)ネットワークの詳細。
interceptInstance InterceptInstance 脅威が検出された VM インスタンスの詳細。

Connection フィールドの形式

次の表に、Connection フィールドの形式を示します。

フィールド 種類 説明
clientIp string クライアントの IP アドレス。クライアントが Compute Engine VM の場合、clientIp はプライマリ内部 IP アドレスか、VM のネットワーク インターフェースのエイリアス IP 範囲のアドレスです。外部 IP アドレスは表示されません。ログには、VM インスタンスの TCP ダンプと同様に、パケット ヘッダーで確認された VM インスタンスの IP アドレスが含まれます。
clientPort integer クライアントのポート番号。
serverIp string サーバーの IP アドレス。サーバーが Compute Engine VM の場合、serverIp はプライマリ内部 IP アドレスか、VM のネットワーク インターフェースのエイリアス IP 範囲のアドレスです。外部 IP アドレスは、接続の確立で使用されていても表示されません。
serverPort integer サーバーポート番号。
protocol string 接続の IP プロトコル

ThreatDetails フィールドの形式

次の表に、ThreatDetails フィールドの形式を示します。

フィールド 種類 説明
id string 一意の Palo Alto Networks 脅威識別子。
threat string 検出された脅威の名前。
description string 検出された脅威の詳細な説明。
direction string トラフィックの方向。たとえば、client_to_server や、server_to_client です。
application string 検出された脅威に関連付けられているアプリケーション。
severity string 検出された脅威に関連する重大度。詳細については、脅威の重大度レベルをご覧ください。
detectionTime string 脅威が検出された時刻。
category string 検出された脅威のサブタイプ。例: CODE_EXECUTION
uriOrFilename string 関連する脅威の URI またはファイル名(該当する場合)。
type string 検出された脅威の種類。例: SPYWARE
repeatCount integer 同じクライアント IP アドレス、サーバー IP アドレス、脅威タイプで、5 秒以内に確認されたセッションの数。
cves string 脅威に関連する共通脆弱性識別子(CVE)のリスト。例: CVE-2021-44228-Apache Log4j remote code execution vulnerability

SecurityProfileGroupDetails フィールドの形式

次の表に、SecurityProfileGroupDetails フィールドの形式を示します。

フィールド 種類 説明
securityProfileGroupId string トラフィックに適用されるセキュリティ プロファイル グループ名。
organizationId integer VM インスタンスが属する組織 ID。

VpcDetails フィールドの形式

次の表に、VpcDetails フィールドの形式を示します。

フィールド 種類 説明
vpc string インターセプトされたトラフィックに関連付けられている VPC ネットワークの名前。
projectId string VPC ネットワークに関連付けられているプロジェクトの名前。 Google Cloud

InterceptInstance フィールドの形式

次の表に、InterceptInstance フィールドの形式を示します。

フィールド 種類 説明
projectId string インターセプトされたトラフィックに関連付けられている Google Cloud プロジェクトの名前。
vm string インターセプトされたトラフィックに関連付けられている VM インスタンスの名前。

脅威ログとファイアウォール ログの相関関係

ロギングが有効になっているファイアウォール ルールにパケットが一致すると、Cloud NGFW は ファイアウォール ルールのロギングエントリをログに記録します。このエントリには、送信元 IP アドレス、宛先 IP アドレス、パケット検査時間などのフィールドが含まれます。これらのファイアウォール ルールのログを表示するには、ログを表示するをご覧ください。

ロギングが有効になっているレイヤ 7 インスペクションのファイアウォール ポリシー ルールがある場合、Cloud NGFW はまず、一致したパケットのファイアウォール ルールのロギング エントリをログに記録します。その後、レイヤ 7 検査のためにパケットをファイアウォール エンドポイントに送信します。ファイアウォール エンドポイントは、パケットを分析して脅威を検出します。脅威が検出されると、別の脅威ログが作成されます。この脅威ログには、脅威の種類、脅威の送信元、脅威の宛先などのフィールドが含まれます。脅威ログを表示するには、脅威を表示するをご覧ください。

ファイアウォール ルールログ脅威ログのフィールドを比較して、脅威をトリガーしたパケットを特定し、適切なアクションを実行して解決できます。

たとえば、次のように設定されたファイアウォール ポリシー ルールがあるとします。

  • 送信元 IP アドレス: 192.0.2.0
  • 送信元ポート: 47644
  • 宛先 IP アドレス: 192.0.2.1
  • 宛先ポート: 80
  • ロギング: Enabled

このルールに関連付けられている脅威ログを表示するには、[ログ エクスプローラ] ページに移動します。[クエリ] ペインで、次のクエリをクエリエディタ フィールドに貼り付けます。

    resource.type="networksecurity.googleapis.com/FirewallEndpoint"
    jsonPayload.source_ip_address="192.0.2.0"
    jsonPayload.source_port="47644"
    jsonPayload.destination_ip_address="192.0.2.1"
    jsonPayload.destination_port="80"
   

[クエリ結果] セクションに、次の脅威ログが表示されます。

    {
      insertId: "0ac7f359-263f-4428-8ded-ac655d8a09db"
      jsonPayload: {
      action: "reset-server"
      alert_severity: "HIGH"
      alert_time: "2023-11-28T19:07:15Z"
      category: "info-leak"
      ▸ cves: [6]
      }
      destination_ip_address: "192.0.2.1"
      destination_port: "80"
      details:
      "This signature detects Microsoft Windows win.ini access attempts. A successful attack could allow an
      attacker to access sensitive information and conduct further attacks."
      direction: "CLIENT_TO_SERVER"
      ip_protocol: "tcp"
      name: "Microsoft Windows win.ini Access Attempt Detected"
      network: "projects/XXXX/global/networks/fwplus-vpc.
      repeat_count: "1"
      security_profile_group:
      "organizations/XXXX/locations/global/securityprofileGroups/XXXX-fwplus-spg"
      source_ip_address: "192.0.2.0"
      source_port: "47644"
      threat_id: "30851"
      type: "vulnerability"
      uri_or_filename:
      logName: "projects/XXXX/logs/networksecurity.googleapis.com%2Ffirewall_threat"
      receiveTimestamp: "2023-11-28T19:08:49.841883684Z"
      ▸ resource: {2}
    }
    timestamp: "2023-11-28T19:08:47.560012184Z"
   

同様に、このルールに関連付けられたファイアウォール ログを表示するには、[ログ エクスプローラ] ページに移動します。[クエリ] ペインで、次のクエリをクエリエディタ フィールドに貼り付けます。

    jsonPayload.rule_details.action="APPLY_SECURITY_PROFILE_GROUP"
    jsonPayload.connection.src_ip="192.0.2.0"
    jsonPayload.connection.src_port="47644"
    jsonPayload.connection.dest_ip="192.0.2.1"
    jsonPayload.connection.dest_port="80"
   

[クエリ結果] セクションに、次のファイアウォール ログが表示されます。

    {
      insertId: "qn82vdg109q3r9"
      jsonPayload: {
      connection: {
      }
      dest_ip: "192.0.2.1"
      dest_port: 80
      protocol: 6
      src_ip: "192.0.2.0"
      src_port: 47644
      disposition: "INTERCEPTED"
      ►instance: {4}
      ▸ remote_instance: {4}
      ▸ remote_vpc: {3}
      rule_details: {
      action: "APPLY_SECURITY_PROFILE_GROUP"
      apply_security_profile_fallback_action: "UNSPECIFIED"
      direction: "INGRESS"
      ▸ ip_port_info: [1]
      ▼
      priority: 6000
      reference: "network: fwplus-vpc/firewallPolicy: fwplus-fwpolicy"
      source_range: [
      1
      0: "192.0.2.0/24"
      target_secure_tag: [
      0: "tagValues/281479199099651"
      ]
      }
      vpc: {
      project_id:XXXX
      subnetwork_name: "fwplus-us-central1-subnet"
      vpc_name: "fwplus-vpc"
      }
      }
      logName: "projects/XXXX/logs/compute.googleapis.com%2Ffirewall",
      receiveTimestamp: "2023-11-28T19:08:46.749244092Z"
      resource: {2}
      timestamp: "2023-11-28T19:08:40.207465099Z"
    }
   

脅威ログとファイアウォール ログの両方のクエリを使用すると、それらの関係を確認できます。次の表に、ファイアウォールのログ フィールドと対応する脅威ログ フィールドを示します。

ファイアウォール ログのフィールド 脅威ログのフィールド 説明
src_ip source_ip_address ファイアウォール ログの送信元 IP アドレスが脅威ログの送信元 IP アドレスと関連付けられ、潜在的な脅威の発生元が特定されます。
src_port source_port ファイアウォール ログの送信元ポートと脅威ログの送信元ポートを関連付けて、潜在的な脅威で使用されている送信元ポートを特定します。
dest_ip destination_ip_address ファイアウォール ログの宛先 IP アドレスが脅威ログの宛先 IP アドレスと関連付けられ、潜在的な脅威のターゲットを特定します。
dest_port destination_port ファイアウォール ログの宛先ポートと脅威ログの宛先ポートを関連付けて、潜在的な脅威で使用されている宛先ポートを特定します。

次のステップ