ファイアウォール ポリシー

ファイアウォール ポリシーを使用すると、複数のファイアウォール ルールをグループ化して、一度にまとめて更新できます。これらのルールは、Identity and Access Management(IAM)のロールで効率的に制御できます。Virtual Private Cloud(VPC)ファイアウォール ルールと同様に、これらのポリシーには接続を明示的に拒否または許可できるルールが含まれています。

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

階層型ファイアウォール ポリシーを使用すると、ルールを 1 つのポリシー オブジェクトにまとめて、1 つ以上のプロジェクトの複数の VPC ネットワークに適用できます。階層型ファイアウォール ポリシーは、組織全体または個々のフォルダに関連付けることができます。

階層型ファイアウォール ポリシーの仕様と詳細については、階層型ファイアウォール ポリシーをご覧ください。

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

グローバル ネットワーク ファイアウォール ポリシーを使用すると、すべてのリージョン(グローバル)に適用されるポリシー オブジェクトにルールをまとめることができます。ファイアウォール ポリシーは、VPC ネットワークに関連付けられるまで有効になりません。グローバル ネットワーク ファイアウォール ポリシーをネットワークに関連付けるには、ポリシーをネットワークに関連付けるをご覧ください。グローバル ネットワーク ファイアウォール ポリシーを VPC ネットワークに関連付けると、ポリシーのルールは VPC ネットワーク内のリソースに適用できます。ネットワーク ファイアウォール ポリシーは VPC ネットワークにのみ関連付けることができます。

グローバル ネットワーク ファイアウォール ポリシーの仕様と詳細については、グローバル ネットワーク ファイアウォール ポリシーをご覧ください。

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

リージョン ネットワーク ファイアウォール ポリシーを使用すると、特定のリージョンに適用されるポリシー オブジェクトにルールをまとめることができます。リージョン ネットワーク ファイアウォール ポリシーは、同じリージョンの VPC ネットワークに関連付けられるまで有効になりません。リージョン ネットワーク ファイアウォール ポリシーをネットワークに関連付けるには、ポリシーをネットワークに関連付けるをご覧ください。リージョン ネットワーク ファイアウォール ポリシーを VPC ネットワークに関連付けると、ポリシーのルールは、VPC ネットワークのそのリージョン内のリソースに適用されます。

リージョン ファイアウォール ポリシーの仕様と詳細については、リージョン ネットワーク ファイアウォール ポリシーをご覧ください。

ネットワークにファイアウォール ポリシーとルールを適用する

通常の VPC ネットワークは、階層型ファイアウォール ポリシー、グローバル ネットワーク ファイアウォール ポリシー、リージョン ネットワーク ファイアウォール ポリシー、VPC ファイアウォール ルールのファイアウォール ルールをサポートしています。すべてのファイアウォール ルールは、Andromeda ネットワーク仮想化スタックの一部としてプログラムされます。

RoCE VPC ネットワークについては、このセクションではなく、RoCE VPC ネットワーク用の Cloud NGFW をご覧ください。

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

各通常の VPC ネットワークには、グローバル ネットワーク ファイアウォール ポリシーとリージョン ネットワーク ファイアウォール ポリシーのルールが評価されるタイミングを制御するネットワーク ファイアウォール ポリシーの適用順序があります。

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

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

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

  • 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
    

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

特定のパケットについて、Cloud NGFW はトラフィックの方向に基づいて次のルールを評価します。

  • ターゲット リソースがパケットを受信した場合の上り(内向き)ファイアウォール ルール。
  • ターゲット リソースがパケットを送信する場合の下り(外向き)ファイアウォール ルール。

Cloud NGFW は、特定の順序でファイアウォール ルールを評価します。順序は、ネットワーク ファイアウォール ポリシーの適用順序(AFTER_CLASSIC_FIREWALL または BEFORE_CLASSIC_FIREWALL)によって異なります。

AFTER_CLASSIC_FIREWALL 適用順序でのルールの評価順序

AFTER_CLASSIC_FIREWALL ネットワーク ファイアウォール ポリシーの適用順序では、Cloud NGFW は階層型ファイアウォール ポリシーのルールを評価した後、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. VPC ファイアウォール ルール

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

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

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

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

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

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

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

    トラフィックに一致する VPC ファイアウォール ルールがない場合、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. 暗黙のファイアウォール ルール

    Cloud NGFW は、トラフィックに一致するすべてのルールに明示的な goto_next アクションがある場合、または暗黙的な goto_next アクションに従ってルール評価が続行された場合に、次の暗黙的なファイアウォール ルールを適用します。

    • 暗黙の下り(外向き)許可
    • 暗黙の上り(内向き)拒否

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

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

BEFORE_CLASSIC_FIREWALL 適用順序でのルールの評価順序

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

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

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

    Cloud NGFW は、ターゲット リソースのリージョンと VPC ネットワークに関連付けられているリージョン ネットワーク ファイアウォール ポリシーのルールを評価します。同じリージョンとネットワークに複数のポリシーが関連付けられている場合は、関連付けの優先度が最も高いポリシーが最初に評価されます。

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

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

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

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

    リージョン ネットワーク ファイアウォール ポリシーでは、最大で 1 つのルールがトラフィックと一致します。ファイアウォール ルールの一致したときのアクションは、次のいずれかになります。

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

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

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

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

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

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

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

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

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

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

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

  5. 暗黙のファイアウォール ルール

    Cloud NGFW は、トラフィックに一致するすべてのルールに明示的な goto_next アクションがある場合、または暗黙的な goto_next アクションに従ってルール評価が続行された場合に、次の暗黙的なファイアウォール ルールを適用します。

    • 暗黙の下り(外向き)許可
    • 暗黙の上り(内向き)拒否

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

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

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

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

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

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

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

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

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

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

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

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

事前定義ルール

階層型ファイアウォール ポリシー、グローバル ネットワーク ファイアウォール ポリシー、またはリージョン ネットワーク ファイアウォール ポリシーを作成すると、Cloud NGFW は事前定義されたルールをポリシーに追加します。Cloud NGFW がポリシーに追加する事前定義ルールは、ポリシーの作成方法によって異なります。

Google Cloud コンソールを使用してファイアウォール ポリシーを作成すると、Cloud NGFW は新しいポリシーに次のルールを追加します。

  1. プライベート IPv4 範囲の goto-next ルール
  2. 事前定義された Google Threat Intelligence の拒否ルール
  3. 事前定義された位置情報拒否ルール
  4. 優先度が最も低い goto-next ルール

Google Cloud CLI または API を使用してファイアウォール ポリシーを作成した場合、Cloud NGFW は優先度が最も低い goto-next ルールのみをポリシーに追加します。

新しいファイアウォール ポリシーの事前定義ルールはすべて、意図的に低い優先度(大きな優先度の数値)を使用するため、優先度の高いルールを作成することで、それらをオーバーライドできます。優先度が最も低い goto-next ルールを除き、事前定義ルールをカスタマイズすることもできます。

プライベート IPv4 範囲の goto-next ルール

  • 宛先 IPv4 範囲が 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16、優先度が 1000、アクションが goto_next の下り(外向き)ルール。

  • 送信元 IPv4 範囲が 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16、優先度が 1001、アクションが goto_next の上り(内向き)ルール。

事前定義された Google Threat Intelligence の拒否ルール

  • 送信元の Google Threat Intelligence リストが iplist-tor-exit-nodes、優先度が 1002、アクションが deny の上り(内向き)ルール。

  • 送信元の Google Threat Intelligence リストが iplist-known-malicious-ips、優先度が 1003、アクションが deny の上り(内向き)ルール。

  • 宛先の Google 脅威インテリジェンス リストが iplist-known-malicious-ips、優先度が 1004、アクションが deny の下り(外向き)ルール。

Google Threat Intelligence の詳細については、ファイアウォール ポリシールールの Google Threat Intelligence をご覧ください。

事前定義された位置情報拒否ルール

  • 送信元の位置情報が CUIRKPSYXCXD、優先度が 1005、アクションが deny の上り(内向き)ツール。

位置情報について詳しくは、位置情報オブジェクトをご覧ください。

優先度が最も低い goto-next ルール

次のルールは変更または削除できません。

  • 宛先 IPv6 範囲が ::/0、優先度が 2147483644、アクションが goto_next の下り(外向き)ルール。

  • 送信元 IPv6 範囲が ::/0、優先度が 2147483645、アクションが goto_next の上り(内向き)ルール。

  • 宛先 IPv4 範囲が 0.0.0.0/0、優先度が 2147483646、アクションが goto_next の下り(外向き)ルール。

  • 送信元 IPv4 範囲が 0.0.0.0/0、優先度が 2147483647、アクションが goto_next の上り(内向き)ルール。

次のステップ