ファイアウォール ポリシー ルールは、トラフィックに適用されるとログエントリを生成します。パケットフローでは複数のログエントリを生成できますが、ファイアウォール ポリシー ルールでは、仮想マシン(VM)インスタンスからの接続ごとに最大 1 つのログエントリが生成されます。
次の例は、ファイアウォール ポリシールールのロギングの仕組みを示しています。これには、拒否された接続の繰り返しロギングや高度な検査のセッションベースのロギングなど、以前の Virtual Private Cloud(VPC)ファイアウォール ルールとは異なる動作が含まれます。
下り(外向き)拒否ルールの例
この例では、example-proj プロジェクトの example-net VPC ネットワーク内の 2 つの VM インスタンス間でトラフィックが流れます。
- VM1 は
west-subnet(us-west1リージョン)内のゾーンus-west1-aにあり、IP アドレス10.10.0.99が割り当てられています。 - VM2 は
east-subnet(us-east1リージョン)内のゾーンus-east1-bにあり、IP アドレス10.20.0.99が割り当てられています。 - ルール A: 下り(外向き)拒否のファイアウォール ルールのターゲットは、ネットワーク内のすべてのインスタンスです。このルールは、宛先を
10.20.0.99(VM2)とするトラフィックに対して TCP ポート80に適用されます。このルールにはロギングが有効化されています。 - ルール B: 上り(内向き)許可のファイアウォール ルールのターゲットは、ネットワーク内のすべてのインスタンスです。このルールは、送信元を
10.10.0.99(VM1)とするトラフィックに対して TCP ポート80に適用されます。このルールにもロギングが有効化されています。
ファイアウォール ポリシー ルールを作成するには、ファイアウォール ポリシー ルールのタスクをご覧ください。
VM1 が TCP ポート 80 で VM2 に接続しようとしているシナリオでは、次のようになります。
ファイアウォールは、失敗した接続試行について、VM1 の観点からルール A のログエントリを生成します。
ルール A は
DENYルールであるため、ファイアウォールは一意の 5 タプルに対応する各パケットを失敗した接続試行としてログに記録します。ファイアウォールがこの接続のパケットを引き続き受信する場合、同じログエントリが 5 秒ごとに繰り返されます。ルール A は送信元でトラフィックをブロックするため、ファイアウォールはルール B を考慮しません。したがって、VM2 の観点からルール B のログエントリは生成されません。
VM1 は次のファイアウォール ログレコードを報告します。
| フィールド | 値 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
拒否 |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = DENY destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
下り(外向き)許可ルール、上り(内向き)許可ルールの例
この例では、example-proj プロジェクトの example-net VPC ネットワーク内の VM インスタンス間でトラフィックが送受信されます。
- VM1 は
west-subnet(us-west1リージョン)内のゾーンus-west1-aにあり、IP アドレス10.10.0.99が割り当てられています。 - VM2 は
east-subnet(us-east1リージョン)内のゾーンus-east1-bにあり、IP アドレス10.20.0.99が割り当てられています。 - ルール A: グローバル ネットワーク ファイアウォール ポリシーの下り(外向き)許可ルールは、宛先を
10.20.0.99(VM2)とし、TCP ポート80に適用されます。このルールにはロギングが有効化されています。 - ルール B: グローバル ネットワーク ファイアウォール ポリシーの上り(内向き)許可ルールには、送信元が
10.10.0.99(VM1)があり、TCP ポート80に適用されます。このルールにはロギングが有効化されています。
ファイアウォール ポリシー ルールを作成するには、ファイアウォール ポリシー ルールのタスクをご覧ください。
VM1 が TCP ポート 80 で VM2 に接続しようとしているシナリオでは、次のようになります。
- VM1 が
10.20.0.99に接続すると、ファイアウォールは VM1 の観点からルール A のログエントリを生成します。ALLOWルールであるため、接続は 1 回だけ記録され、繰り返されません。 - VM2 が
10.10.0.99からの受信接続を許可すると、ファイアウォールは VM2 の観点からルール B のログエントリを生成します。
VM1 は次のファイアウォール ログレコードを報告します。
| フィールド | 値 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
許可 |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = ALLOW destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
VM2 は次のファイアウォール ログレコードを報告します。
| フィールド | 値 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
許可 |
rule_details |
reference = "network:example-net/firewallPolicy:67890" priority = 10 action = ALLOW source_range = 10.10.0.99/32 ip_port_info = tcp:80 direction = ingress |
インターネット上り(内向き)ルールの例
この例では、トラフィックは外部リソースから example-net VPC ネットワーク内の VM インスタンスに流れます。このネットワークは example-proj プロジェクトにあります。
- インターネット上のシステムには、IP アドレス
203.0.113.114が割り当てられています。 - VM1 は
west-subnet(us-west1リージョン)内のゾーンus-west1-aにあり、IP アドレス10.10.0.99が割り当てられています。 - ルール C: 上り(内向き)許可のファイアウォール ポリシー ルールの送信元は任意の IP アドレス(
0.0.0.0/0)で、TCP ポート80に適用されます。このルールにはロギングが有効化されています。 - ルール D: 下り(外向き)拒否のファイアウォール ポリシー ルールの宛先は任意の IP アドレス(
0.0.0.0/0)で、すべてのプロトコルに適用されます。このルールにはロギングが有効化されています。
ファイアウォール ポリシー ルールを作成するには、ファイアウォール ポリシー ルールのタスクをご覧ください。
IP アドレス 203.0.113.114 が割り当てられたシステムが、VM1 に TCP ポート 80 で接続しようとしているシナリオでは、次のようになります。
- VM1 は
203.0.113.114からのトラフィックを受け入れるため、ルール C のログエントリを生成します。 - Cloud Next Generation Firewall ポリシー ルールはステートフルです。つまり、上り(内向き)ファイアウォール ルールで VM インスタンスへのトラフィックが許可されている場合、下り(外向き)の戻りトラフィックは自動的に許可されます。この場合、ルール C で内向きトラフィックが許可されているため、VM1 はルール D にかかわらず
203.0.113.114に応答トラフィックを送信できます。 - 接続トラッキングでは、下り(外向き)ファイアウォール ルールに関係なく、応答トラフィックが許可され、ロギングは行われません。したがって、ファイアウォールはルール D を考慮せず、下り(外向き)ログエントリを生成しません。
VM1 は次のファイアウォール ログレコードを報告します。
| フィールド | 値 |
|---|---|
connection |
src_ip=203.0.113.114 src_port=[EPHEMERAL_PORT] dest_ip=10.10.0.99 dest_port=80 protocol=6 |
disposition |
許可 |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = ALLOW source_range = 0.0.0.0/0 ip_port_info = tcp:80 direction = ingress |
remote_location |
continent country region city |
高度な検査の例
この例では、Cloud NGFW ファイアウォール ポリシーは apply_security_profile_group アクションを使用して、パケットの詳細な検査のためにトラフィックをインターセプトします。
- インターネット上のシステムには、IP アドレス
203.0.113.114が割り当てられています。 - VM1 は
west-subnet(us-west1リージョン)内のゾーンus-west1-aにあり、IP アドレス10.10.0.99が割り当てられています。 - ルール E: アクションが
apply_security_profile_groupに設定された外向きファイアウォール ポリシールール。このルールにはロギングが有効化されています。
高度な検査用のファイアウォール ポリシー ルールを作成するには、セキュリティ プロファイルの概要をご覧ください。
VM1 がルール E に一致するトラフィックを送信するとします。この場合、次のようになります。
apply_security_profile_groupアクションはセッションベースのロギングを使用します。これは、標準のallowルールまたはdenyルールによって生成される接続ベースのログとは異なります。Cloud NGFW は、ルールに一致する初回セッションに対して単一のファイアウォール ルール ログエントリを生成し、トラフィックが正常にインターセプトされてファイアウォール エンドポイントにリダイレクトされたことを確認します。複数の接続が同じセッションの一部として識別された場合でも、Cloud NGFW はこの高レベルのログを生成します。
VM1 は次のファイアウォール ログレコードを報告します。
| フィールド | 値 |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=203.0.113.114 dest_port=80 protocol=6 |
disposition |
INTERCEPTED |
rule_details |
reference = "network:example-net/firewallPolicy:12345" priority = 10 action = APPLY_SECURITY_PROFILE_GROUP apply_security_profile_fallback_action = UNSPECIFIED destination_range = 0.0.0.0/0 direction = egress |