ゼロからわかる!GCPのネットワークセキュリティの全体像
- Cloud
- セキュリティ
- ネットワーク
- 脆弱性
Googleが開催するイベントのGoogle Cloud Dayでは、Google Cloud(GCP)の最新ソリューションを学ぶことができます。今年はCOVID-19の影響もあり、リモートでの開催となりました。この記事では数あるセッションの中から、セキュリティに関連するセッションを取り上げ、GCPのネットワークセキュリティについてご紹介します。
目次
この記事でご紹介するセッション
この記事ではGoogle Cloud Dayで公開された下記のセッションを参考に、Google Cloud(GCP)のネットワークセキュリティの考え方についてご紹介していきます。
- Life of a packet: Google Cloud ネットワークのセキュリティ
取り上げる主な Google Cloud 製品 / サービスは以下になります。
- Compute Engine
- Cloud Armor
- Cloud Load Balancing
- Cloud CDN
GCPのネットワークセキュリティ
セキュリティには、様々なレイヤーが存在します。Google Cloud(GCP)では、
- サーバー等の物理的なセキュリティ
- 社員教育等の組織的なセキュリティ
- セキュリティに対する研究による脆弱性の発見
- データを保護するためのセキュリティ
- インシデントに対する対応
など、多種多様な観点からクラウド環境におけるセキュリティを考えています。
今回はその中でもネットワークセキュリティに絞ってご紹介していきます。
ネットワークセキュリティ概要
上図は、この記事でご紹介する範囲の全容になります。Google Cloud(GCP)のネットワークにはGFE(Google Front End)という入り口からアクセスします。そのGFEを経由してその中のVPCや、各種APIのサービスにパケットは流れていきますが、それらの振る舞いはロギングのサービスやPacket Mirroringにより監視することができます。
Google Front End
Googleに関するネットワークは基本的に全てGFE(Google Front End)と呼ばれるPoPを経由して通信が行われます。GFEが責任分界点となり、GFEより先はGoogle内部のネットワークに入ることになります。
ちなみに、Google Cloud(GCP)ではVMに直接アクセスする場合にはVPCファイアウォール等の機能を利用して直接アクセスすることも可能です。しかし、こちら側の通信はデフォルトでの暗号化等には対応していないので注意が必要です。
GCPのエッジPoP
Googleでは、全世界に物理的なネットワーク網を敷設しています。それらは物理的なケーブルで接続されており、データセンターに入る口としてエッジPoPというアクセスポイントが用意されています。先程のGFE(Google Front End)はエッジPoPの中に存在しています。
GCPでは、これらの物理的なネットワーク網を利用し、各地域のサービスにプライベートネットワーク経由でアクセスすることができるため、非常に強固なセキュリティを担保することができるようになっています。
転送データの暗号化
前述の通りGFE(Google Front End)よりも先はGoogle内のネットワークですが、逆に言えばGFEに入る前は通常のインターネットであり、Googleが管理することはできません。そこでGoogle Cloud(GCP)では、GFEを経由する通信は全てTLSにより暗号化するように設計されています。これによりGFEに入るまでの通信がセキュアであることを担保しています。
また、暗号化の終端はGFEにあるロードバランサーで行われます。その先の通信はGoogleの内部のネットワークになりますので、Googleの認証を行い、暗号化するかどうかはその都度状況に応じて選択することになります。
Cloud Load Balancing
GFE(Google Front End)を通ると、次はエッジPoP内のCloud Load BalancingやCloud Armorといったネットワークサービスを経由します。まずは非常に特徴的なCloud Load Balancingからご紹介します。
シームレスにリージョン拡張が可能
Google Cloud(GCP)のロードバランサーであるCloud Load Balancingで最も特徴的なのは、グローバルであるということです。これは、ただ単に全地域のユーザーが利用できるということではなく、全地域で一意なIPアドレスが割り当てられ、各地域のユーザーがそのIPアドレスにアクセスすることで、最も近いエッジPoPに自動的にルーティングされる設計になっています。
さらに、リージョンが増えた時はCloud Load Balancingの設定を変更するだけで同じように利用することができ、システムの地理的な拡張を容易に行うことが可能です。
Cross-region failover
また、リージョンに障害が起きた場合、Google Cloud(GCP)のエッジPoPを経由して自動的に別リージョンに切り替えを行うため、リージョン間のフェイルオーバーを簡単に実現することができます。
ロードバランシングのデータモデル
Google Cloud(GCP)のロードバランサーがどのようなデータフローでパケットを転送しているのか、簡単に解説します。
- インターネットから目的のIPアドレスにアクセスをします。
- 最寄りのエッジPoPでIPアドレスやプロトコル、ポート等を元にルーティングを行います。
- パス等に応じてアプリケーションレイヤのルーティングを行います。また、HTTPSの終端を行います。
- VMの負荷の状況の監視や、ヘルスチェックを行います。
- ヘルスチェックの状態に基づいて、Managed instance groupによって管理されているVMに到達します。
- それぞれのVMに対してファイアウォールルールによりネットワークのアクセス制御を行います。
Google Cloud Armor
エッジPoPの中ではCloud Load Balancingに加えて、Google Cloud Armorという追加機能を利用することができます。Google Cloud Armorは様々な攻撃からアプリケーションを守るWAFのような役割を持つサービスです。
Google Cloud Armorの機能
Google Cloud Armorでは、DDoS攻撃に対する防御や、IPアドレスによる通信制限、OWASP( Open Web Application Security Project )のModSecurityに基づいたWAFルール等のセキュリティ機能を有効化することができます。また、防御するだけではなく、どのような攻撃が行われたのかをテレメトリとして収集し、分析することが可能です。収集したデータは、GoogleのCSCC(Cloud Security Command Center)というセキュリティセンターに情報を集約することが可能です。
DDoS防御、WAF
Google Cloud Armorは、ロードバランサーの付加機能として利用します。Google Cloud Armorを有効化することで、上述した様々な機能がロードバランサー上で実現されます。
また、これらのセキュリティ機能は全てエッジPoP内で処理されるため、ユーザーのリソースに負荷がかかることなく各種の攻撃を吸収することができることになります。
セキュリティポリシーの設定
Google Cloud Armorではセキュリティポリシーというものを設定することができます。各セキュリティポリシーにはルールを設定することができ、番号順にルールの確認が行われ、条件に合致する場合にアクション(許可、拒否)が実行されます。作成したポリシーを各バックエンドのサービスに紐付けることで適用することができます。
GCPにおけるVPC
Google Cloud(GCP)では、VPC(Virtual Private Cloud)と呼ばれる仮想上のプライベートネットワークを作成することでVMのネットワークセキュリティを保護しています。様々なクラウドベンダーでVPCと呼ばれるサービスは展開されていますが、Google Cloud(GCP)が非常に特徴的なのは、リージョンをまたがりグローバルで1つのVPCを作成することです。そのVPCの中にVMをデプロイする各リージョンごとのサブネットを用意します。そのため、リージョン間の通信においてはルーティング等をユーザー側で気にする必要はなく、Google内部のネットワーク経由で、プライベートIPアドレスにより相互に通信を行うことができます。
VPC Network Peering
GCPでは基本的に1つのVPCを作成することになりますが、例えばネットワークの権限管理の観点でVPCを分けたりなど、複数のVPCを利用したい場合もあると思います。その場合に活用できるのがVPC Network Peeringという機能です。ピアリングを行うことにより、プライベートIPアドレス経由で他のVPCと接続することができるようになります。
ファイアウォールルール
VPCではファイアウォールを設定し、VPCネットワークに対するアクセス制御を行うことが可能です。受信トラフィックと送信トラフィックのそれぞれのルールを作成します。また各VMにはタグの設定が可能です。タグを利用してルールの適用を行うことで、インスタンス毎のルール設定を容易に行うことができます。
各種Google Serviceへのプライベートアクセス
VPC内にあるVMからGoogleの各種APIにアクセスする際には、通常はグローバルIPで通信が行われます。しかし、プライベートアクセス機能を有効にすることでプライベートIPで通信することが可能となります。
プライベートアクセスではほぼ全てのGoogle Cloud(GCP)のサービスへアクセスすることが可能で、その中にはGmailやGoogleドライブも含まれます。しかし、下記のサービスはAPIサービスではないため、別の方式でアクセスする必要があります。
- App Engine Memcache
- Filestore
- Memorystore
- Cloud SQL
ロギングの機能
VPCのロギングでは、2種類の機能を利用することができます。
VPCフローログという機能は、VMインスタンスによって送受信されたネットワークフローの記録することができます。全てのネットワークフローではなく、サンプリングされた記録であることに注意が必要です。VPCフローログはサブネット毎に有効化、無効化を設定することができ、有効化されているサブネット上にある全てのVMからデータを収集します。
ファイアウォールルールロギングでは、ファイアウォールルールが適用された全てのアクセスログを収集する機能です。ファイアウォールルールが意図したとおりに正常に稼働しているかどうかや、ファイアウォールの効果について検証することができます。
Packet Mirroring
また、Google Cloud(GCP)ではPacket Mirroringというサービスを提供しています。このサービスでは、指定したインスタンスのNICを流れるトラフィックを全てクローンし、別のVMに転送することが可能です。ネットワークのトラブルシューティングや、IDS、IPSでのセキュリティ監視に利用することが想定されます。
VPC Service Controls
VPC Service Controlsとは、ネットワークの境界を設定することができるサービスです。非常に強力なセキュリティの境界を構築し、境界をまたがるデータの移動は完全に制御されます。
従来の考え方では防げない攻撃
Google Cloud(GCP)ではVMのネットワークセキュリティをVPCを活用することで担保しています。しかし、VPCの考え方では下記のようなインシデントに対応することができません。
- IAMポリシーが誤って設定されており、本来公開されてはいけないファイルが公開されてしまった
- 認証情報が漏洩し、インターネットから機密データにアクセスされてしまった
- 内部犯によるデータコピー
- 意図しないサービスへの転送
VPC Service Controlsによる防御
そこで必要となるのがプロジェクトやIAMから独立したネットワークの境界を設定する仕組みです。VPC Service Controlsで境界を作成することで、境界内のサービスには自由に通信することができますが、境界を越える通信に関してはデフォルトで全てブロックされます。この境界設定はIAMの管理権限やプロジェクトオーナーの権限では変更することができません。
ファイアウォールとの違い
ファイアウォールはVMに対する通信の制御を行いますが、VPC Service Controlsでは各種APIの通信に対する制御を行います。これにより、Google Cloud(GCP)内のサービス同士での信頼性を担保し、データ漏洩のリスクを軽減することが可能です。
まとめ
この記事では、Google Cloud(GCP)のネットワークセキュリティの全体像についてご紹介しました。
VMのネットワークセキュリティは基本的にはVPCによって管理されていますが、エッジPoPにおける通信の保護やAPIサービスへの境界設定など、多層的な防御を行うことが可能です。
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
お問合せはこちら
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!