ファイアウォール ポリシーとルールの評価順序

各通常の Virtual Private Cloud(VPC)ネットワークには、Cloud NGFW がファイアウォール ポリシー ルールを評価する順序を決定するネットワーク ファイアウォール ポリシーの適用順序があります。

ネットワーク ファイアウォール ポリシーの適用順序

VPC ネットワークでは、次のいずれかのネットワーク ファイアウォール ポリシーの適用順序を使用できます。

  • AFTER_CLASSIC_FIREWALL(デフォルト): Cloud NGFW は、ファイアウォール ポリシーとルールを次の順序で評価します。

    1. 階層型ファイアウォール ポリシー
    2. リージョン システムのファイアウォール ポリシー数
    3. VPC ファイアウォール ルール
    4. グローバル ネットワーク ファイアウォール ポリシー
    5. リージョン ネットワーク ファイアウォール ポリシー
    6. 暗黙的なアクション
  • BEFORE_CLASSIC_FIREWALL: Cloud NGFW は、次の順序でファイアウォール ポリシーとルールを評価します。

    1. 階層型ファイアウォール ポリシー
    2. リージョン システムのファイアウォール ポリシー数
    3. グローバル ネットワーク ファイアウォール ポリシー
    4. リージョン ネットワーク ファイアウォール ポリシー
    5. VPC ファイアウォール ルール
    6. 暗黙的なアクション

ネットワーク ファイアウォール ポリシーの適用順序を変更するには、次のいずれかを行います。

  • networks.patch メソッドを使用して、VPC ネットワークの networkFirewallPolicyEnforcementOrder 属性を設定します。

  • --network-firewall-policy-enforcement-order フラグを指定して gcloud compute networks update コマンドを使用します。

    次に例を示します。

    gcloud compute networks update VPC_NETWORK_NAME \
        --network-firewall-policy-enforcement-order=ENFORCEMENT_ORDER
    

ファイアウォール ルールの評価プロセス

このセクションでは、通常の VPC ネットワークのターゲット リソースに適用されるルールを Cloud NGFW が評価する順序について説明します。

各ファイアウォール ルールは、トラフィックの方向に基づいて、上り(内向き)ルールまたは下り(外向き)ルールのいずれかになります。

  • 上り(内向き)ルールは、ターゲット リソースが受信する新しい接続のパケットに適用されます。上り(内向き)ルールでサポートされているターゲット リソースは次のとおりです。

    • 仮想マシン(VM)インスタンスのネットワーク インターフェース。

    • 内部アプリケーション ロードバランサと内部プロキシ ネットワーク ロードバランサで使用されるマネージド Envoy プロキシ(プレビュー)。

  • 下り(外向き)ルールは、ターゲット VM ネットワーク インターフェースが送信する新しい接続のパケットに適用されます。

Cloud NGFW は、他のファイアウォール ルールを評価する前に、階層型ファイアウォール ポリシーとリージョン システム ファイアウォール ポリシーのルールを常に評価します。Cloud NGFW が他のファイアウォール ルールを評価する順序は、ネットワーク ファイアウォール ポリシーの適用順序を選択することで制御できます。ネットワーク ファイアウォール ポリシーの適用順序は、AFTER_CLASSIC_FIREWALL または BEFORE_CLASSIC_FIREWALL のいずれかになります。

AFTER_CLASSIC_FIREWALL ネットワーク ファイアウォール ポリシーの適用順序

ネットワーク ファイアウォール ポリシーの適用順序が AFTER_CLASSIC_FIREWALL の場合、Cloud NGFW は VPC ファイアウォール ルールを評価した後、グローバル ネットワーク ファイアウォール ポリシーとリージョン ネットワーク ファイアウォール ポリシーのルールを評価します。これがデフォルトの評価順序です。

AFTER_CLASSIC_FIREWALL 適用順序を使用する通常の VPC ネットワークでは、ファイアウォール ルールの完全な評価順序は次のとおりです。

  1. 階層型ファイアウォール ポリシー

    Cloud NGFW は、階層型ファイアウォール ポリシーを次の順序で評価します。

    1. ターゲット リソースを含む組織に関連付けられている階層型ファイアウォール ポリシー。
    2. フォルダの祖先に関連付けられた階層型ファイアウォール ポリシー。最上位のフォルダから、ターゲット リソースのプロジェクトを含むフォルダまで。

    Cloud NGFW は、各階層型ファイアウォール ポリシーのルールを評価するときに、次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    階層型ファイアウォール ポリシーでは、トラフィックに一致するルールは最大で 1 つです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • apply_security_profile_group: ルールは、構成されたファイアウォール エンドポイントにトラフィックを転送し、すべてのルール評価を停止します。パケットを許可するかどうかは、セキュリティ プロファイル グループの構成済みのセキュリティ プロファイルによって異なります。
    • goto_next: ルール評価は次のいずれかに続きます。
      • ターゲット リソースに近いフォルダの祖先に関連付けられた階層型ファイアウォール ポリシー(存在する場合)。
      • すべての階層型ファイアウォール ポリシーが評価された場合の、評価順序の次のステップ。

    階層型ファイアウォール ポリシーのルールがトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価は次のいずれかに継続されます。

    • ターゲット リソースに近いフォルダの祖先に関連付けられた階層型ファイアウォール ポリシー(存在する場合)。
    • すべての階層型ファイアウォール ポリシーが評価された場合の、評価順序の次のステップ。

  2. リージョン システムのファイアウォール ポリシー

    リージョン システム ファイアウォール ポリシールールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    リージョン システム ファイアウォール ポリシーでは、トラフィックに一致するルールは 1 つだけです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • goto_next: ルールの評価が続行されます。
      • 関連付けの優先度が次に高いリージョン システム ファイアウォール ポリシー(存在する場合)。
      • すべてのリージョン システム ファイアウォール ポリシーが評価された場合の評価順序の次のステップ。

    リージョン システム ファイアウォール ポリシーのルールがトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価は次のいずれかに継続されます。

    • 関連付けの優先度が次に高いリージョン システム ファイアウォール ポリシー(存在する場合)。
    • すべてのリージョン システム ファイアウォール ポリシーが評価された場合の評価順序の次のステップ。

  3. VPC ファイアウォール ルール

    VPC ファイアウォール ルールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    1 つまたは 2 つの VPC ファイアウォール ルールがトラフィックと一致する場合、ファイアウォール ルールの一致時のアクションは次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。

    2 つのルールが一致する場合、優先度は同じでアクションは異なる必要があります。この場合、Cloud NGFW は deny VPC ファイアウォール ルールを適用し、allow VPC ファイアウォール ルールを無視します。

    トラフィックに一致する VPC ファイアウォール ルールがない場合、Cloud NGFW は暗黙的な goto_next アクションを使用して、評価順序の次のステップに進みます。

  4. グローバル ネットワーク ファイアウォール ポリシー

    グローバル ネットワーク ファイアウォール ポリシーのルールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    グローバル ネットワーク ファイアウォール ポリシーでは、トラフィックに一致するルールは 1 つだけです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • apply_security_profile_group: ルールは、構成されたファイアウォール エンドポイントにトラフィックを転送し、すべてのルール評価を停止します。パケットを許可するかどうかは、セキュリティ プロファイル グループの構成済みのセキュリティ プロファイルによって異なります。
    • goto_next: ルールの評価は、評価順序のリージョン ネットワーク ファイアウォール ポリシーのステップに進みます。

    グローバル ネットワーク ファイアウォール ポリシーのルールがトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価順序のリージョン ネットワーク ファイアウォール ポリシーのステップに評価が続行されます。

  5. リージョン ネットワーク ファイアウォール ポリシー

    Cloud NGFW は、ターゲット リソースのリージョンと VPC ネットワークに関連付けられているリージョン ネットワーク ファイアウォール ポリシーのルールを評価します。

    リージョン ネットワーク ファイアウォール ポリシーのルールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    リージョン ネットワーク ファイアウォール ポリシーでは、トラフィックに一致するルールは 1 つだけです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • goto_next: ルールの評価は、評価順序の次のステップに進みます。

    リージョン ネットワーク ファイアウォール ポリシーのどのルールもトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価は評価順序の次のステップに進みます。

  6. 最後のステップ - 暗黙的なアクション

    ファイアウォール ルールの評価が、明示的または暗黙的な goto_next アクションに従って前のすべてのステップを通過した場合、Cloud NGFW は暗黙的なアクションを適用します。暗黙的なアクションは、トラフィックの方向によって異なります。

    • 上り(内向き)トラフィックの場合、暗黙的なアクションはターゲット リソースにも依存します。

      • ターゲット リソースが VM インスタンスのネットワーク インターフェースの場合、暗黙的な上り(内向き)アクションは deny です。

      • ターゲット リソースが内部アプリケーション ロードバランサまたは内部プロキシ ネットワーク ロードバランサの転送ルールの場合、暗黙的な上り(内向き)アクションは allow です。

    • 下り(外向き)トラフィックの場合、暗黙的なアクションは allow です。

AFTER_CLASSIC_FIREWALL

次の図は、AFTER_CLASSIC_FIREWALL ネットワーク ファイアウォール ポリシーの適用順序を示しています。

ファイアウォール ルールの解決フロー。
図 1. ネットワーク ファイアウォール ポリシーの適用順序が AFTER_CLASSIC_FIREWALL の場合のファイアウォール ルールの解決フロー(クリックして拡大)。

BEFORE_CLASSIC_FIREWALL ネットワーク ファイアウォール ポリシーの適用順序

ネットワーク ファイアウォール ポリシーの適用順序が BEFORE_CLASSIC_FIREWALL の場合、Cloud NGFW は VPC ファイアウォール ルールを評価する前に、グローバル ネットワーク ファイアウォール ポリシーとリージョン ネットワーク ファイアウォール ポリシーのルールを評価します。

BEFORE_CLASSIC_FIREWALL 適用順序を使用する通常の VPC ネットワークでは、ファイアウォール ルールの完全な評価順序は次のとおりです。

  1. 階層型ファイアウォール ポリシー

    Cloud NGFW は、階層型ファイアウォール ポリシーを次の順序で評価します。

    1. ターゲット リソースを含む組織に関連付けられている階層型ファイアウォール ポリシー。
    2. フォルダの祖先に関連付けられた階層型ファイアウォール ポリシー。最上位のフォルダから、ターゲット リソースのプロジェクトを含むフォルダまで。

    Cloud NGFW は、各階層型ファイアウォール ポリシーのルールを評価するときに、次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    階層型ファイアウォール ポリシーでは、トラフィックに一致するルールは最大で 1 つです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • apply_security_profile_group: ルールは、構成されたファイアウォール エンドポイントにトラフィックを転送し、すべてのルール評価を停止します。パケットを許可するかどうかは、セキュリティ プロファイル グループの構成済みのセキュリティ プロファイルによって異なります。
    • goto_next: ルール評価は次のいずれかに続きます。
      • ターゲット リソースに近いフォルダの祖先に関連付けられた階層型ファイアウォール ポリシー(存在する場合)。
      • すべての階層型ファイアウォール ポリシーが評価された場合の、評価順序の次のステップ。

    階層型ファイアウォール ポリシーのルールがトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価は次のいずれかに継続されます。

    • ターゲット リソースに近いフォルダの祖先に関連付けられた階層型ファイアウォール ポリシー(存在する場合)。
    • すべての階層型ファイアウォール ポリシーが評価された場合の、評価順序の次のステップ。

  2. リージョン システムのファイアウォール ポリシー

    リージョン システム ファイアウォール ポリシールールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    リージョン システム ファイアウォール ポリシーでは、トラフィックに一致するルールは 1 つだけです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • goto_next: ルールの評価が続行されます。
      • 関連付けの優先度が次に高いリージョン システム ファイアウォール ポリシー(存在する場合)。
      • すべてのリージョン システム ファイアウォール ポリシーが評価された場合の評価順序の次のステップ。

    リージョン システム ファイアウォール ポリシーのルールがトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価は次のいずれかに継続されます。

    • 関連付けの優先度が次に高いリージョン システム ファイアウォール ポリシー(存在する場合)。
    • すべてのリージョン システム ファイアウォール ポリシーが評価された場合の評価順序の次のステップ。

  3. グローバル ネットワーク ファイアウォール ポリシー

    グローバル ネットワーク ファイアウォール ポリシーのルールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    グローバル ネットワーク ファイアウォール ポリシーでは、トラフィックに一致するルールは 1 つだけです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • apply_security_profile_group: ルールは、構成されたファイアウォール エンドポイントにトラフィックを転送し、すべてのルール評価を停止します。パケットを許可するかどうかは、セキュリティ プロファイル グループの構成済みのセキュリティ プロファイルによって異なります。
    • goto_next: ルールの評価は、評価順序のリージョン ネットワーク ファイアウォール ポリシーのステップに進みます。

    グローバル ネットワーク ファイアウォール ポリシーのルールがトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価順序のリージョン ネットワーク ファイアウォール ポリシーのステップに評価が続行されます。

  4. リージョン ネットワーク ファイアウォール ポリシー

    Cloud NGFW は、ターゲット リソースのリージョンと VPC ネットワークに関連付けられているリージョン ネットワーク ファイアウォール ポリシーのルールを評価します。

    リージョン ネットワーク ファイアウォール ポリシーのルールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    リージョン ネットワーク ファイアウォール ポリシーでは、トラフィックに一致するルールは 1 つだけです。ファイアウォール ルールの一致時のアクションは、次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • goto_next: ルールの評価は、評価順序の次のステップに進みます。

    リージョン ネットワーク ファイアウォール ポリシーのどのルールもトラフィックと一致しない場合、Cloud NGFW は暗黙的な goto_next アクションを使用します。このアクションにより、評価は評価順序の次のステップに進みます。

  5. VPC ファイアウォール ルール

    VPC ファイアウォール ルールを評価するとき、Cloud NGFW は次の手順を実行します。

    1. ターゲットがターゲット リソースと一致しないルールはすべて無視します。
    2. パケットの方向と一致しないルールはすべて無視します。
    3. 残りのルールを優先度の高い順に評価します。

      評価は、次のいずれかの条件が満たされると停止します。

      • ターゲット リソースに適用されるルールがトラフィックに一致する。
      • ターゲット リソースに適用されるルールで、トラフィックに一致するものがない。

    1 つまたは 2 つの VPC ファイアウォール ルールがトラフィックと一致する場合、ファイアウォール ルールの一致したときのアクションは次のいずれかになります。

    • allow: ルールがトラフィックを許可し、すべてのルール評価が停止します。
    • deny: ルールがトラフィックを拒否し、すべてのルール評価が停止します。

    2 つのルールが一致する場合、優先度は同じでアクションは異なる必要があります。この場合、Cloud NGFW は deny VPC ファイアウォール ルールを適用し、allow VPC ファイアウォール ルールを無視します。

    トラフィックに一致する VPC ファイアウォール ルールがない場合、Cloud NGFW は暗黙的な goto_next アクションを使用して、評価順序の次のステップに進みます。

  6. 最後のステップ - 暗黙的なアクション

    ファイアウォール ルールの評価が、明示的または暗黙的な goto_next アクションに従って前のすべてのステップを通過した場合、Cloud NGFW は暗黙的なアクションを適用します。暗黙的なアクションは、トラフィックの方向によって異なります。

    • 上り(内向き)トラフィックの場合、暗黙的なアクションはターゲット リソースにも依存します。

      • ターゲット リソースが VM インスタンスのネットワーク インターフェースの場合、暗黙的な上り(内向き)アクションは deny です。

      • ターゲット リソースが内部アプリケーション ロードバランサまたは内部プロキシ ネットワーク ロードバランサの転送ルールの場合、暗黙的な上り(内向き)アクションは allow です。

    • 下り(外向き)トラフィックの場合、暗黙的なアクションは allow です。

BEFORE_CLASSIC_FIREWALL

次の図は、BEFORE_CLASSIC_FIREWALL ネットワーク ファイアウォール ポリシーの適用順序を示しています。

ファイアウォール ルールの解決フロー。
図 2. ネットワーク ファイアウォール ポリシーの適用順序が BEFORE_CLASSIC_FIREWALL の場合のファイアウォール ルールの解決フロー(クリックして拡大)。

有効になっているファイアウォール ルール

階層型ファイアウォール ポリシー ルール、VPC ファイアウォール ルール、グローバルおよびリージョン ネットワーク ファイアウォール ポリシールールによって接続が制御されます。個々のネットワークまたは VM インターフェースに影響するすべてのファイアウォール ルールを確認すると役に立つ場合があります。

ネットワークで有効なファイアウォール ルール

VPC ネットワークに適用されているすべてのファイアウォール ルールを表示できます。このリストには、次のすべてのルールが含まれます。

  • 階層型ファイアウォール ポリシーから継承されたルール
  • VPC ファイアウォール ルール
  • グローバルおよびリージョン ネットワーク ファイアウォール ポリシーから適用されるルール

インスタンスで有効になっているファイアウォール ルール

VM のネットワーク インターフェースに適用されているすべてのファイアウォール ルールを表示できます。このリストには、次のすべてのルールが含まれます。

  • 階層型ファイアウォール ポリシーから継承されたルール
  • インターフェースの VPC ファイアウォールから適用されるルール
  • グローバルおよびリージョン ネットワーク ファイアウォール ポリシーから適用されるルール

ルールは、組織レベルから VPC ネットワークの順に並べられます。ここでは、VM インターフェースに適用されるルールのみが表示され、他のポリシーのルールは表示されません。

リージョン内で有効なファイアウォール ポリシーのルールを確認するには、ネットワークで有効なリージョン ファイアウォール ポリシーを取得するをご覧ください。

次のステップ