脅威ログを使用すると、ネットワークで検出された脅威を監査、検証、分析できます。
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
|
ファイアウォール ログの宛先ポートと脅威ログの宛先ポートを関連付けて、潜在的な脅威で使用されている宛先ポートを特定します。 |