コンテンツに移動
セキュリティ & アイデンティティ

新しい階層型ファイアウォール ポリシーによる大規模なクラウド ファイアウォールの管理

2021年3月16日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Google_Cloud_security.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2021 年 3 月 4 日に、Google Cloud blog に投稿されたものの抄訳です。

以前にこちらのブログ投稿でお伝えした、階層型ファイアウォールが一般提供が開始されました。Google Cloud の階層型ファイアウォール ポリシーは新しくて柔軟な複数レベルの制御を提供するため、プロジェクト内のよりきめ細かな制御をプロジェクト オーナーに安全に任せることができる一方、組織およびフォルダレベルでは集中制御のメリットを得ることが可能です。

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

階層型ファイアウォールを使うと、GCP リソース階層組織レベルとフォルダレベルでファイアウォール ルールを適用できます。これにより、階層内のさまざまなレベルのセキュリティ管理者が多数のプロジェクトにわたって一貫したファイアウォール ルールを定義およびデプロイできるので、そのルールを現在存在するプロジェクトと今後作成されるプロジェクト内のすべての VM に適用できるようになります。

また、特に重要なファイアウォール ルールを 1 か所で管理できるため、プロジェクト レベルの管理者は組織全体のポリシーの変更に対応する必要がなくなります。

ファイアウォールの管理とは、セキュリティとアプリケーションごとのニーズのバランスを取ることです。このサービスは、組織レベルとフォルダレベルのセキュリティ管理者がきめ細かさを設定したうえで、プロジェクト レベルとネットワーク レベルの管理者に制御を委任できる機能を備えた設計になっています。柔軟性を最大限に高めるために、組織レベルとフォルダレベルの管理者が特定のネットワークに対する例外を作成できる機能も用意されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Hierarchical_firewall_policies_yTyGqXt.max-800x800.jpg

IAM 要件

Cloud Identity and Access Management(IAM)を使用すると、特定のリソースに対するアクションの実行を、承認を受けたユーザーのみに許可できます。これは、Google Cloud リソースを集約して可視化し、管理するうえで役立ちます。階層型ファイアウォール管理には、主に 3 つの IAM ロールが含まれています。

  • compute.orgSecurityResourceAdmin は、リソース階層内のフォルダまたは組織にポリシーを関連付けることができるユーザーを制御します。

  • compute.orgFirewallPolicyAdmin はセキュリティ ポリシーの作成と変更ができるユーザーを制御します。

  • compute.orgFirewallPolicyUser はセキュリティ ポリシーの表示と使用ができるユーザーを制御します。

IAM の詳細については、Cloud Identity and Access Management(IAM)をご確認ください。

組織のファイアウォール ポリシー

VPC ファイアウォール ルールはネットワークや VPC に直接関連付けられていますが、階層型ファイアウォールは組織のセキュリティ ポリシー リソースで定義されています。このポリシー リソースはファイアウォール ルールのコンテナとしてのみ機能します。組織のセキュリティ ポリシーで定義されたルールは、ポリシーが階層内のノードに関連付けられるまで適用されません。これによって、適用できるユースケースがさらに増えます。たとえば、管理者がファイアウォール ポリシーを十分にテストしてから会社全体に適用する場合、ファイアウォール ポリシーを階層の下位ノードでテストして、十分に検証したら階層内の上位ノードに関連付けることができます。ポリシーを削除する必要がある場合は、関連付けを削除するだけで済みます。相互に関連する複数のルールを同時に適用する必要がある場合、ファイアウォール ポリシー構造を使えば、VPC ファイアウォール ルールではできなかったルールの一括更新を簡単に行えます。

組織の 1 つのセキュリティ ポリシー インスタンスを複数のフォルダに関連付けることで、組織のセキュリティ ポリシーのルールへの変更を現在関連付けられているすべてのノードに適用できます。一方、階層ノードには、常に 1 つの組織セキュリティ ポリシーしか関連付けることができません。

https://storage.googleapis.com/gweb-cloudblog-publish/images/single_organization_security_policy.max-1100x1100.jpg

ルールの評価方法

階層型ファイアウォールは、VPC ファイアウォールと同様に VM レベルで適用されますが、従来のファイアウォールのようにエッジには適用されません。階層型ファイアウォールはファイアウォール ポリシーとして設定され、VPC ファイアウォールの前に評価される一連のルールが含まれています。これは一連のルールチェーンと考えることができ、各ルールチェーンが適用される GCP リソース階層レベルに従って順番に評価されます。したがって、組織レベルで適用されるルールは階層の下位レベルに適用される子フォルダやルールよりも優先されるため、階層の上位レベルで設定されたファイアウォール ポリシーは、常に階層の下位レベルよりも優先されます。つまり、評価プロセスの一部として、ファイアウォール ポリシー内のファイアウォール ルールが一致した場合、アクションが実行され、ルール アクションが「go to next」でない限り、階層の下位レベルのファイアウォール ポリシー(VPC ファイアウォールを含む)は無視されます。

まず、組織レベルのセキュリティ ポリシーに含まれるファイアウォール ルールが評価され、次に階層で定義したそれぞれのフォルダ セキュリティ ポリシー、最後に VPC ネットワーク ファイアウォール ルールが評価されます。

各ポリシー内のファイアウォール ルールは、現在定義されているのと同じ方法で、指定した優先度に従って評価されます。

  • 組織のセキュリティ ポリシーで定義されたルールが一致すると、ルールで定義されたアクション(「allow」、「deny」、「go to next」)が実行されます。アクションが「go-to-next-level」の場合、ファイアウォール評価は同じポリシー内の残りのルールをスキップし、階層の次のレベルで定義されたファイアウォール ルールに直接移動します。

  • その後、階層で定義されたすべてのフォルダ セキュリティ ポリシーに同じロジックが適用されます。フォルダのセキュリティ ポリシーで定義されたルールが一致すると、ルールで定義されたアクション(「allow」、「deny」、「go to next」)が実行されます。

  • 組織のセキュリティ ポリシーで定義されたルールに一致するものがない場合、階層の次のレベルが評価されます。特定の VM に適用されるファイアウォール ルールに一致するものがない場合、デフォルトおよび暗黙のファイアウォール ルールが適用されます。

階層型ファイアウォール向けの新しい属性

階層型ファイアウォールの導入に伴い、2 つの追加属性を使用できるターゲット リソースを取り入れています。追加属性の一つはターゲット ネットワークです。これにより、管理者は特定のルールをどの VPC ネットワークに適用するかをきめ細かく制御できるため、指定したネットワーク内の VM のみにファイアウォール ルールを制限するか、その VPC の例外を作成できます。さらに、ターゲット サービス アカウントのオプションもサポートされており、管理者は特定のファイアウォール ルールが適用される VM のターゲット グループも定義できます。ソース サービス アカウントとネットワーク タグは、階層型ファイアウォール ポリシー ルールではサポートされていませんのでご注意ください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/New_attributes_for_hierarchical_firewalls.max-600x600.jpg

効果的なファイアウォール ポリシーとロギング

プロジェクト レベルの管理者はネットワーク ファイアウォールを管理しますが、通常はフォルダや組織に関連付けられているファイアウォール ポリシーを確認する権限がないため、特にトラブルシューティングが必要な場合に問題が生じる可能性があります。このニーズに対応するために get-effective-firewalls API が用意されています。この API により、ユーザーはインスタンスやネットワークに適用されるすべてのファイアウォール ルールを確認できます。さらに、VPC レベルで行うのと同様に、組織レベルやフォルダレベルでファイアウォール ルールのアクティビティをログに記録するオプションがあります。詳細については、ドキュメントをご確認ください。

重要ポイント

階層型ファイアウォールを使用すると、VPC レベルのファイアウォール ルールに加えて、組織レベルとフォルダレベルでルールを設定できます。階層型ファイアウォール ポリシーを活用する主なメリットは管理の容易性、一貫性、信頼性です。これにより、定義したスコープ内のすべてのネットワークに中央のルールセットを自動的に適用できるため、複数の環境の管理をより簡単かつ効果的に行えます。

まず、階層型ファイアウォール ポリシーを階層の下位レベルに作成することをおすすめします。動作に問題がなければ、関連付けを上位レベルに変更してもかまいません。

ただし、組織レベルのファイアウォール ポリシーは慎重に設定する必要があります。組織は階層の最上位レベルであるため、このレベルに追加したファイアウォール ポリシーは組織全体(参照先の組織に属するすべてのプロジェクトと VPC)に影響します。ファイアウォール ルールの設定に誤りがあると、組織全体に障害が発生したり、想定外のトラフィックが許可されたりする可能性があるため、組織レベルでルールを定義する際には綿密に行うことが大切です。

階層型ファイアウォールの詳細については、ドキュメントをご参照ください。また、Google Cloud がネットワーク セキュリティのインテリジェントな自動化をどのように進めているかについては、最近のブログ投稿をご確認ください。クラウド セキュリティの詳細については、Google Cloud Security Talks をご視聴ください。

-ネットワーキング スペシャリスト Albert Colas Prunera

-プロダクト マネージャー Tracy Jiang

投稿先