URL フィルタリング サービスログを使用すると、ネットワーク内の URL ベースのトラフィック フィルタリングを監査、検証、分析できます。
Cloud Next Generation Firewall は、レイヤ 7 の検査が有効になっているトラフィックに対して URL ベースのフィルタリングを実行すると、接続に関する詳細を含む接続ごとにログエントリを生成します。Cloud NGFW は、Cloud Logging が有効か無効かに関係なく、レイヤ 7 検査を含むファイアウォール ルールが有効になると、ログエントリを生成します。
URL フィルタリング ログを表示して確認するには、ログ エクスプローラでログ networksecurity.googleapis.com/firewall_url_filter を検索します。
このページでは、Cloud NGFW がトラフィックを許可または拒否するときに各接続に対して生成する URL フィルタリング ログの形式と構造について説明します。
URL フィルタリング ログの形式
Cloud NGFW は、特定のゾーンにある仮想マシン(VM)インスタンスとの間でモニタリングしているトラフィックに対して URL フィルタリングが行われる接続ごとに、Cloud Logging にログレコードのエントリを作成します。ログレコードは、LogEntry の JSON ペイロード フィールドに含まれます。
一部のログフィールドはマルチ フィールド形式であり、所定のフィールドに複数のデータが含まれます。たとえば、connection フィールドは Connection 形式で、サーバーの IP アドレスとポート、クライアントの IP アドレスとポート、プロトコル番号が 1 つのフィールドに格納されます。
次の表に、URL フィルタリング ログのフィールドの形式を示します。
| 項目 | 種類 | 説明 |
|---|---|---|
connection
|
Connection
|
ドメイン名と Server Name Indication(SNI)の情報に基づいて許可または拒否されたトラフィックに関連付けられた接続パラメータを表す 5 タプル。 |
interceptInstance
|
InterceptInstance
|
ドメインと SNI 情報に基づいてトラフィックが許可または拒否された VM インスタンスの詳細。 |
detectionTime
|
string
|
ファイアウォール エンドポイントがドメインと SNI 情報の一致を検出した時刻(UTC)。 |
uriMatched
|
string
|
ファイアウォール エンドポイントで一致が検出されたドメイン。 |
interceptVpc
|
VpcDetails
|
ドメインと SNI 情報に基づいてトラフィックが許可または拒否された VM インスタンスに関連付けられた Virtual Private Cloud(VPC)ネットワークの詳細。 |
ruleIndex
|
integer
|
ファイアウォール エンドポイントが一致を検出した URL フィルタのインデックスまたは注文番号。 |
direction
|
string
|
ファイアウォール エンドポイントが一致を検出したトラフィックの方向(CLIENT_TO_SERVER または SERVER_TO_CLIENT)。 |
securityProfileGroupDetails
|
SecurityProfileGroupDetails
|
インターセプトされたトラフィックに適用されたセキュリティ プロファイル グループの詳細。 |
denyType
|
string
|
ファイアウォール エンドポイントがトラフィックを拒否するために使用する情報のタイプ。
|
action
|
string
|
ドメインと SNI 情報に基づいてフィルタされたトラフィックに対して実行されるアクション(allow または deny)。このアクションはセキュリティ プロファイルで定義されます。構成されたアクションの詳細については、URL フィルタリング セキュリティ プロファイルをご覧ください。 |
applicationLayerDetails
|
ApplicationLayerDetails
|
アプリケーション レイヤの処理に関連する詳細。 |
sessionLayerDetails
|
SessionLayerDetails
|
セッション レイヤ処理に関連する詳細。 |
Connection フィールドの形式
次の表に、Connection フィールドの形式を示します。
| フィールド | 種類 | 説明 |
|---|---|---|
clientIp
|
string
|
クライアントの IP アドレス。クライアントが Compute Engine VM の場合、clientIp はプライマリ内部 IP アドレスか、VM のネットワーク インターフェースのエイリアス IP 範囲のアドレスです。外部 IP アドレスは表示されません。ログには、VM インスタンスの TCP ダンプと同様に、IP ヘッダーで確認された VM インスタンスの IP アドレスが含まれます。 |
clientPort
|
integer
|
クライアントのポート番号。 |
serverIp
|
string
|
サーバーの IP アドレス。サーバーが Compute Engine VM の場合、serverIp はプライマリ内部 IP アドレスか、VM のネットワーク インターフェースのエイリアス IP 範囲のアドレスです。外部 IP アドレスは、接続の確立で使用されていても表示されません。 |
serverPort
|
integer
|
サーバーポート番号。 |
protocol
|
string
|
接続の IP プロトコル。 |
InterceptInstance フィールドの形式
次の表に、InterceptInstance フィールドの形式を示します。
| フィールド | 種類 | 説明 |
|---|---|---|
zone
|
string
|
インターセプトされたトラフィックに関連付けられている VM インスタンスが配置されているゾーンの名前。 |
vm
|
string
|
インターセプトされたトラフィックに関連付けられている VM インスタンスの名前。 |
projectId
|
string
|
インターセプトされたトラフィックに関連付けられている Google Cloud プロジェクトの名前。 |
VpcDetails フィールドの形式
次の表に、VpcDetails フィールドの形式を示します。
| フィールド | 種類 | 説明 |
|---|---|---|
vpc
|
string
|
インターセプトされたトラフィックに関連付けられている VPC ネットワークの名前。 |
projectId
|
string
|
VPC ネットワークに関連付けられている Google Cloud プロジェクトの名前。 |
SecurityProfileGroupDetails フィールドの形式
次の表に、SecurityProfileGroupDetails フィールドの形式を示します。
| フィールド | 種類 | 説明 |
|---|---|---|
securityProfileGroupId
|
string
|
トラフィックに適用されるセキュリティ プロファイル グループ名。 |
organizationId
|
string
|
VM インスタンスが属する組織 ID。 |
ApplicationLayerDetails フィールドの形式
次の表に、ApplicationLayerDetails フィールドの形式を示します。
| フィールド | 種類 | 説明 |
|---|---|---|
protocol
|
string
|
ファイアウォール エンドポイントがアプリケーション レイヤで使用するプロトコル バージョン。
|
uri
|
string
|
ファイアウォール エンドポイントがトラフィックから読み取るドメインとサブドメインの情報。 |
SessionLayerDetails フィールドの形式
次の表に、SessionLayerDetails フィールドの形式を示します。
| フィールド | 種類 | 説明 |
|---|---|---|
sni
|
string
|
ファイアウォール エンドポイントがトラフィックから読み取る Server Name Indication(SNI)。 |
protocolVersion
|
string
|
ファイアウォール エンドポイントがセッション レイヤで使用するプロトコル バージョン。
|
URL フィルタリング ログとファイアウォール ログの関連付け
トラフィックがファイアウォール ルールによって評価されると、Cloud NGFW はファイアウォール ルール ロギング エントリを記録します。このエントリには、送信元 IP アドレス、宛先 IP アドレス、トラフィック検査の時刻などのフィールドが含まれます。これらのファイアウォール ルール ログを表示するには、ログを表示するをご覧ください。
レイヤ 7 インスペクションでファイアウォール ポリシー ルールのロギングが有効になっている場合、Cloud NGFW は最初に、評価されたトラフィックのファイアウォール ルール ロギング エントリを記録します。次に、レイヤ 7 検査のためにトラフィックをファイアウォール エンドポイントに送信します。
ファイアウォール エンドポイントは、ドメインと SNI を使用してトラフィックを分析し、接続用に個別の URL フィルタリング ログを作成します。この URL フィルタリング ログには、ドメイン名、トラフィックの送信元、トラフィックの宛先などのフィールドが含まれます。
URL フィルタリング ログを表示するには、ログ エクスプローラでログ networksecurity.googleapis.com/firewall_url_filter を検索します。
ファイアウォール ルールログと URL フィルタリング ログのフィールドを比較して、URL フィルタリングをトリガーした接続を特定し、適切な措置を講じて解決できます。
たとえば、次の設定で構成されたファイアウォール ポリシー ルールがあるとします。
- 送信元 IP アドレス:
192.0.2.0 - 送信元ポート:
47644 - 宛先 IP アドレス:
192.0.2.1 - 宛先ポート:
80 - ロギング:
Enabled
このルールに関連付けられている URL フィルタリング ログを表示するには、[ログ エクスプローラ] ページに移動します。[クエリ] ペインで、次のクエリをクエリエディタ フィールドに貼り付けます。
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"
[クエリ結果] セクションに、次の URL フィルタリング ログが表示されます。
{
"insertId": "akxp8uf5f0fuv",
"jsonPayload": {
"connection": {
"serverPort": 80,
"clientPort": 47644,
"protocol": "TCP",
"clientIp": "192.0.2.0",
"serverIp": "192.0.2.1"
},
"interceptInstance": {
"zone": "us-central1-c",
"vm": "aied-test-dont-delete",
"projectId": "project_001"
},
"detectionTime": "2025-06-02T19:09:27.802711668Z",
"uriMatched": "",
"interceptVpc": {
"projectId": "project_001",
"vpc": "default"
},
"ruleIndex": 0,
"direction": "CLIENT_TO_SERVER",
"@type": "type.googleapis.com/google.cloud.networksecurity.logging.v1.URLFilterLog",
"securityProfileGroupDetails": {
"securityProfileGroupId": "project_001/spg/my-spg-id",
"organizationId": "organization_001"
},
"denyType": "HOST",
"action": "DENY",
"applicationLayerDetails": {
"protocol": "HTTP1",
"uri": "server.fwp.com"
},
"sessionLayerDetails": {
"sni": "",
"protocolVersion": "PROTOCOL_VERSION_UNSPECIFIED"
}
},
"resource": {
"type": "networksecurity.googleapis.com/FirewallEndpoint",
"labels": {
"location": "us-central1-c",
"resource_container": "organizations/organization_001",
"id": "pg-ni-latencyayzl8peq"
}
},
"timestamp": "2025-06-02T19:09:35.452299517Z",
"logName": "projects/project_001/logs/networksecurity.googleapis.com%2Ffirewall_url_filter",
"receiveTimestamp": "2025-06-02T19:09:35.452299517Z"
}
同様に、このルールに関連付けられているファイアウォール ログを表示するには、[ログ エクスプローラ] ページに移動します。[クエリ] ペインのクエリエディタ フィールドに次のクエリを貼り付けます。
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: "project_001"
subnetwork_name: "fwplus-us-central1-subnet"
vpc_name: "fwplus-vpc"
}
}
logName: "projects/project_001/logs/compute.googleapis.com%2Ffirewall",
receiveTimestamp: "2023-11-28T19:08:46.749244092Z"
resource: {2}
timestamp: "2023-11-28T19:08:40.207465099Z"
}
URL フィルタリング ログとファイアウォール ログの両方のクエリで、それらの相関関係を表示できます。次の表に、ファイアウォール ログフィールドと対応する URL フィルタリング ログフィールドのマッピングを示します。
| ファイアウォール ログのフィールド | URL フィルタリング ログフィールド | 説明 |
|---|---|---|
src_ip
|
clientIp
|
ファイアウォール ログの送信元 IP アドレスは、URL フィルタリング ログのクライアント IP アドレスと関連付けられ、フィルタリングされたトラフィックの送信元を特定します。 |
src_port
|
clientPort
|
ファイアウォール ログの送信元ポートは、URL フィルタリング ログのクライアント ポートと関連付けられ、フィルタリングされたトラフィックで使用される送信元ポートを特定します。 |
dest_ip
|
serverIp
|
ファイアウォール ログの宛先 IP アドレスが URL フィルタリング ログのサーバー IP アドレスと関連付けられ、フィルタリングされたトラフィックのターゲットが特定されます。 |
dest_port
|
serverPort
|
ファイアウォール ログの宛先ポートは、URL フィルタリング ログのサーバーポートと関連付けられ、フィルタリングされたトラフィックで使用される宛先ポートを特定します。 |