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

ファイアウォール ポリシー ルールの評価順序によって、ネットワーク ポリシー全体でルールを評価する優先順位と順序が決まります。 Cloud de Confiance by S3NS ルール評価の順序を理解すると、効果的なセキュリティ境界を構成し、意図しないアクセスを防ぎ、トラフィック フローのトラブルシューティングを行うことができます。このドキュメントでは、 Cloud de Confiance by S3NS が Virtual Private Cloud(VPC)ネットワーク全体でファイアウォール ルールを評価する方法について説明します。

このドキュメントは、ネットワーク セキュリティとファイアウォール ポリシーを構成してトラブルシューティングを行うネットワーク管理者、セキュリティ エンジニア、セキュリティ アーキテクトを対象としています。

Cloud de Confiance by S3NS は、クラシック VPC ファイアウォール ルールに対するルールの評価方法を制御する 2 つのネットワーク ファイアウォール ポリシー適用順序をサポートしています。

  • AFTER_CLASSIC_FIREWALL(デフォルト): グローバル ネットワーク ファイアウォール ポリシーとリージョン ネットワーク ファイアウォール ポリシーを評価する前に、従来の VPC ファイアウォール ルールを評価します。

  • BEFORE_CLASSIC_FIREWALL: クラシック VPC ファイアウォール ルールを評価する前に、グローバル ネットワーク ファイアウォール ポリシーとリージョン ネットワーク ファイアウォール ポリシーを評価します。

このドキュメントを読む前に、階層型ファイアウォール ポリシーリージョン ネットワーク ファイアウォール ポリシーグローバル ネットワーク ファイアウォール ポリシーVirtual Private Cloud(VPC)ファイアウォール ルールについて理解しておく必要があります。

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

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: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • 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: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • 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. 最後のステップ - 暗黙的なアクション

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

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

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

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

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

AFTER_CLASSIC_FIREWALL

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

ファイアウォール ルールの解決フロー。
図 1. ファイアウォール ルールの解決フロー(クリックして拡大)。

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: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • 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: ルールがトラフィックを拒否し、すべてのルール評価が停止します。
    • 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. 最後のステップ - 暗黙的なアクション

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

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

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

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

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

BEFORE_CLASSIC_FIREWALL

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

ファイアウォール ルールの解決フロー。
図 2. ファイアウォール ルールの解決フロー(クリックして拡大)。

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

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

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

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

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

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

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

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

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

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

次のステップ