G-gen の杉村です。Google Cloud(旧称 GCP)の VPC では、備え付きのファイアウォール機能である Cloud Next Generation Firewall(Cloud NGFW)が利用できます。そのうち ファイアウォールポリシー (Firewall policies)で利用可能な Cloud NGFW Standard の通信制御機能について解説します。
概要
Cloud NGFW Standard とは
Cloud NGFW Standard とは、Google Cloud の VPC ネットワークで利用可能なファイアウォールである、Cloud Next Generation Firewall(以下、Cloud NGFW)の有償機能です。
Cloud NGFW には無償の Essentials と、有償の Standard、および Enterprise の3ティアが存在します。Essentials は IP アドレスやプロトコル、ポート番号などの L3/L4 レベルの制御のみを提供し、Standard では FQDN ベースの制御や地理情報に基づいた制御など、高度なルールが利用可能です。Enterprise は、IPS(侵入防止サービス)を提供します。
- 参考 : Cloud NGFW の概要
Cloud NGFW Standard や Essentials、Enterprise を含めた全体の体系については、以下の記事をご参照ください。
利用可能な制御機能
Cloud NGFW Standard では、以下の制御オブジェクトが利用可能です。
- 参考 : ファイアウォール ポリシールール
No | 名称 | 概要 |
---|---|---|
1 | FQDN オブジェクト | FQDN (fully qualified domain name) を基にフィルタリング |
2 | 位置情報オブジェクト | 接続元/先の地理的情報をもとにフィルタリング |
3 | 脅威インテリジェンス(Google Cloud Threat Intelligence) | Google が持つ脅威インテリジェンスをもとにフィルタリング |
ルールの適用
Cloud NGFW Standard のルールは、ファイアウォールポリシーでのみ利用可能です。
ファイアウォールポリシーとは、通信制御ルールをまとめるためのグルーピング機能であり、複数のプロジェクトや複数の VPC ネットワークに適用可能です。ファイアウォールポリシーには、階層型ファイアウォールポリシー、グローバルネットワークファイアウォールポリシー、リージョンネットワークファイアウォールポリシー」の3種類があります。
Google Cloud の VPC ネットワークにおいては、ファイアウォールポリシーの他に、単一 VPC ネットワークでのみ利用可能な VPC ファイアウォールルールも存在していますが、こちらでは Cloud NGFW Standard の機能は利用できず、無償で L3/L4 レイヤの制御を提供する Cloud NGFW Essentials のみが利用できます。
ファイアウォールポリシーや VPC ファイアウォールルールの解説は、以下の記事も参照してください。
料金
Cloud NGFW Standard ルールを使用したファイアウォールポリシーがインターネットと VM 間で発生したトラフィックを評価すると、$0.018/GB の料金が発生します(2025年4月現在)。課金対象は以下のトラフィックです。
- インターネットから VM への通信
- VM からインターネットへの通信
反対に、以下のトラフィックは課金対象になりません。
- インターネットと VM 間の通信のうち、プロキシ型の Cloud Load Balancing で中継される通信
- Google Cloud 内に閉じる通信
詳細は、以下の公式料金表を参照してください。
FQDN オブジェクト
概要
FQDN オブジェクトを使うと、アクセス先やアクセス先として FQDN(ドメイン名)を指定できます。
FQDN とは Fully Qualified Domain Name の略であり、www.google.com
や g-gen.co.jp
などのいわゆる「ドメイン名」と呼ばれるものを指します。厳密な定義では、www
というホスト名と google.com
というドメイン名をつなげて、末尾に .
をつけるのが、FQDN の正式なフォーマットです。
FQDN オブジェクトを使うことで、VM から指定の FQDN へのアクセス、または指定の FQDN から VM へのアクセスを禁止したり、許可したりできます。
ユースケース
当機能を使うことで、例えば「g-gen.co.jp
へのアクセスを禁止する」や、「update.microsoft.com
などいくつかのドメインへのアクセスを許可し、それ以外への外向きアクセスは全て禁止する」などのルールが作成可能です。
仕組み
FQDN オブジェクト機能は、パケットのどの部分を見て FQDN を判断しているかという点で注意が必要です。
一般的なファイアウォール製品で URL フィルタリングを行う場合、HTTP ヘッダの HOST ヘッダや、CONNECT メソッドの URI などを読み取って、これをもとにフィルタリングを行います。つまり、L7(アプリケーション層)の情報をもとにしてフィルタリングをするのが一般的です。
一方で VPC ファイアウォールポリシーの FQDN オブジェクトでは、以下のような方法で FQDN を IP アドレスに変換したうえで、IP アドレスベースでフィルタリングを行います。
- FQDN を Cloud DNS により IP アドレスへ名前解決
- その IP アドレスをファイアウォールが保持(定期的に更新)
- 保持した IP アドレスをもとにフィルタリング
つまり、HTTP リクエスト等に含まれる URI の情報を見ているわけではなく、あくまで IP ヘッダに含まれる IP アドレスをもとにフィルタリングをしていることになります。
このことから、以下のようなことも起こります。
例えば 1.1.1.1
という IP アドレスに名前解決される hoge.example.com
があるとします。しかしこの IP アドレスには別名があり、fuga.example.com
も 1.1.1.1
に名前解決されるとします。
この場合、hoge.example.com
だけをフィルタリング対象としてファイアウォールポリシーに登録した場合でも、fuga.example.com
にはアクセスできなくなります。IP アドレスが同じだからです。また 1.1.1.1
という IP アドレスを直接指定してアクセスしようとしても、同様にアクセスは拒否されます。
その他の仕様
名前解決順序
Cloud DNS による名前解決は、そのファイアウォールポリシーが適用されている VPC の名前解決順序に依存します。
- 参考 : 名前解決順序
たとえば VPC A に Cloud DNS の限定公開ゾーン(Private Zone)example.com
が紐付けられており、この Zone では www.example.com
が 10.0.0.10
という A レコードとして登録されているとします。この場合、ファイアウォールポリシーでフィルタリングされる IP アドレスは 10.0.0.10
になります。
このとき仮に、www.example.com
がパブリックで名前解決できる FQDN だとしても、VPC の名前解決順序の仕様として限定公開ゾーンが優先されるため、こちらがフィルタリング対象の IP アドレスとなります。
利用できないドメイン
*.example.com
などアスタリスクを含むドメイン、すなわちワイルドカードドメインは利用できません。
また .org
などトップレベルドメインも指定できません。
位置情報オブジェクト
概要
位置情報オブジェクトでは、アクセス元やアクセス先の、地理的情報に基づいてフィルタリングを行うルールを作成できます。
位置情報オブジェクトは、Google が管理するデータベースに基づいて、地域情報と IP アドレスのマッピングから地理的情報を取得します。
ルール内で地域を指定するには、US、FR、JP のような、ISO 3166-1 alpha-2 コードを使います。
ユースケース
位置情報オブジェクトは、ファイアウォールポリシーのルール内で、アクセス元としてもアクセス先としても利用できるため、特定地域から VM に入ってくるアクセスを拒否(許可)したり、VM から特定地域へ向けて出ていくアクセスを拒否(許可)したりできます。
ただし、あくまで IP アドレスの登録情報により国を判別しているので、必ずしも100%の精度で地域を特定できるわけでは無いことに留意してください。
仕組み
地理情報の判断は、IP アドレスと国コードのマッピングデータベースに基づきます。データベースは Google によって管理されています。
IP アドレスの所有権が移動した場合などに、Google のデータベースへの反映が遅れる場合もあるため、IP アドレスが常に正しい地理情報と紐付いていることは保証されないことに注意が必要です。
脅威インテリジェンス(Google Cloud Threat Intelligence)
概要
脅威インテリジェンス(Google Cloud Threat Intelligence)では、Google が持つ脅威インテリジェンス情報に基づいて、パケットをフィルタリングすることができます。
Google の持つ情報をもとに、以下のような IP アドレスをフィルタリングして拒否したり、許可することができます。以下から、利用したい項目のみを選択的に使用できます。
No | 名称 | 説明 |
---|---|---|
1 | iplist-tor-exit-nodes | Tor の出口ノード(exit node)として知られている IP アドレス |
2 | iplist-known-malicious-ips | 既知の悪意ある IP アドレス |
3 | iplist-search-engines-crawlers | サーチエンジンのクローラー(bot)の IP アドレス |
4 | iplist-public-clouds-aws / iplist-public-clouds-azure / iplist-public-clouds-gcp / iplist-public-clouds-google-services |
Amazon Web Services (AWS) / Microsoft Azure / Google Cloud の IP アドレス / Google サービスの IP アドレス |
5 | iplist-public-clouds | No. 5 のすべてを包含 |
6 | iplist-vpn-providers | 評価の低い VPN プロバイダに属する IP アドレス |
7 | iplist-anon-proxies | 公開の匿名プロキシに属する IP アドレス |
8 | iplist-crypto-miners | 暗号通貨マイニングサイトに属する IP アドレス |
ユースケース
例として、以下のような設定が可能です。
- 悪用されている既知の IP アドレスから、VM への上り(Ingress)通信を拒否
- VM から、悪用されている既知の IP アドレスへの下り(Egress)通信を拒否
- Tor から VM への上り(Ingress)通信を拒否
仕組み
脅威インテリジェンスの IP アドレスリストは、Google によって管理されているため、ブラックボックスです。対象となっている IP アドレス範囲は、IPv4、IPv6、またはその両方の場合もあります。
また当機能は、パケットの振る舞いを見てブロックするわけではなく、あくまで IP アドレス情報に基づいてパケットをフィルタリングする機能です。当機能を使ったとしても、未知の IP アドレスからの攻撃を防げるわけではない点に留意が必要です。あくまで、既知の攻撃元からの侵害の可能性を下げるものであることを、理解して利用してください。
杉村 勇馬 (記事一覧)
執行役員 CTO / クラウドソリューション部 部長
元警察官という経歴を持つ現 IT エンジニア。クラウド管理・運用やネットワークに知見。AWS 認定資格および Google Cloud 認定資格はすべて取得。X(旧 Twitter)では Google Cloud や Google Workspace のアップデート情報をつぶやいています。
Follow @y_sugi_it