ゼロからわかる!GCPのネットワークセキュリティの全体像

ゼロからわかる!GCPのネットワークセキュリティの全体像

GCP

投稿日:2020/06/17 | 最終更新日:2020/09/10

Googleが開催するイベントのGoogle Cloud Dayでは、Google Cloudの最新ソリューションを学ぶことができます。今年はCOVID-19の影響もあり、リモートでの開催となりました。この記事では数あるセッションの中から、セキュリティに関連するセッションを取り上げ、GCPのネットワークセキュリティについてご紹介します。

この記事でご紹介するセッション

この記事ではGoogle Cloud Dayで公開された下記のセッションを参考に、GCPのネットワークセキュリティの考え方についてご紹介していきます。

  • Life of a packet: Google Cloud ネットワークのセキュリティ

取り上げる主な Google Cloud 製品 / サービスは以下になります。

  • Compute Engine
  • Cloud Armor
  • Cloud Load Balancing
  • Cloud CDN

GCPのネットワークセキュリティ

セキュリティには、様々なレイヤーが存在します。GCPでは、

  • サーバー等の物理的なセキュリティ
  • 社員教育等の組織的なセキュリティ
  • セキュリティに対する研究による脆弱性の発見
  • データを保護するためのセキュリティ
  • インシデントに対する対応

など、多種多様な観点からクラウド環境におけるセキュリティを考えています。

今回はその中でもネットワークセキュリティに絞ってご紹介していきます。

ネットワークセキュリティ概要

ネットワークセキュリティー概要
上図は、この記事でご紹介する範囲の全容になります。GCPのネットワークにはGFE(Google Front End)という入り口からアクセスします。そのGFEを経由してその中のVPCや、各種APIのサービスにパケットは流れていきますが、それらの振る舞いはロギングのサービスやPacket Mirroringにより監視することができます。

Google Front End

Google_Front_End
Googleに関するネットワークは基本的に全てGFE(Google Front End)と呼ばれるPoPを経由して通信が行われます。GFEが責任分界点となり、GFEより先はGoogle内部のネットワークに入ることになります。

ちなみに、GCPではVMに直接アクセスする場合にはVPCファイアウォール等の機能を利用して直接アクセスすることも可能です。しかし、こちら側の通信はデフォルトでの暗号化等には対応していないので注意が必要です。

GCPのエッジPoP

GCPエッジPoP
Googleでは、全世界に物理的なネットワーク網を敷設しています。それらは物理的なケーブルで接続されており、データセンターに入る口としてエッジPoPというアクセスポイントが用意されています。先程のGFE(Google Front End)はエッジPoPの中に存在しています。

GCPでは、これらの物理的なネットワーク網を利用し、各地域のサービスにプライベートネットワーク経由でアクセスすることができるため、非常に強固なセキュリティを担保することができるようになっています。

転送データの暗号化

転送データの暗号化
前述の通りGFE(Google Front End)よりも先はGoogle内のネットワークですが、逆に言えばGFEに入る前は通常のインターネットであり、Googleが管理することはできません。そこでGCPでは、GFEを経由する通信は全てTLSにより暗号化するように設計されています。これによりGFEに入るまでの通信がセキュアであることを担保しています。

また、暗号化の終端はGFEにあるロードバランサーで行われます。その先の通信はGoogleの内部のネットワークになりますので、Googleの認証を行い、暗号化するかどうかはその都度状況に応じて選択することになります。

Cloud Load Balancing

GFE(Google Front End)を通ると、次はエッジPoP内のCloud Load BalancingやCloud Armorといったネットワークサービスを経由します。まずは非常に特徴的なCloud Load Balancingからご紹介します。

シームレスにリージョン拡張が可能

シームレスにリージョン拡張
GCPのロードバランサーであるCloud Load Balancingで最も特徴的なのは、グローバルであるということです。これは、ただ単に全地域のユーザーが利用できるということではなく、全地域で一意なIPアドレスが割り当てられ、各地域のユーザーがそのIPアドレスにアクセスすることで、最も近いエッジPoPに自動的にルーティングされる設計になっています。
さらに、リージョンが増えた時はCloud Load Balancingの設定を変更するだけで同じように利用することができ、システムの地理的な拡張を容易に行うことが可能です。

Cross-region failover

Cross_region_failover
また、リージョンに障害が起きた場合、GCPのエッジPoPを経由して自動的に別リージョンに切り替えを行うため、リージョン間のフェイルオーバーを簡単に実現することができます。

ロードバランシングのデータモデル

GCPのロードバランサーがどのようなデータフローでパケットを転送しているのか、簡単に解説します。
データモデル

  1. インターネットから目的のIPアドレスにアクセスをします。
  2. 最寄りのエッジPoPでIPアドレスやプロトコル、ポート等を元にルーティングを行います。
  3. パス等に応じてアプリケーションレイヤのルーティングを行います。また、HTTPSの終端を行います。
  4. VMの負荷の状況の監視や、ヘルスチェックを行います。
  5. ヘルスチェックの状態に基づいて、Managed instance groupによって管理されているVMに到達します。
  6. それぞれのVMに対してファイアウォールルールによりネットワークのアクセス制御を行います。

Google Cloud Armor

Google_Cloud_Armor_logo
エッジPoPの中ではCloud Load Balancingに加えて、Google Cloud Armorという追加機能を利用することができます。Google Cloud Armorは様々な攻撃からアプリケーションを守るWAFのような役割を持つサービスです。

Google Cloud Armorの機能

Google_Cloud_Armor_機能
Google Cloud Armorでは、DDoS攻撃に対する防御や、IPアドレスによる通信制限、OWASP( Open Web Application Security Project )のModSecurityに基づいたWAFルール等のセキュリティ機能を有効化することができます。また、防御するだけではなく、どのような攻撃が行われたのかをテレメトリとして収集し、分析することが可能です。収集したデータは、GoogleのCSCC(Cloud Security Command Center)というセキュリティセンターに情報を集約することが可能です。

DDoS防御、WAF

DDoS_WAF
Google Cloud Armorは、ロードバランサーの付加機能として利用します。Google Cloud Armorを有効化することで、上述した様々な機能がロードバランサー上で実現されます。

また、これらのセキュリティ機能は全てエッジPoP内で処理されるため、ユーザーのリソースに負荷がかかることなく各種の攻撃を吸収することができることになります。

セキュリティポリシーの設定

セキュリティーポリシー
Google Cloud Armorではセキュリティポリシーというものを設定することができます。各セキュリティポリシーにはルールを設定することができ、番号順にルールの確認が行われ、条件に合致する場合にアクション(許可、拒否)が実行されます。作成したポリシーを各バックエンドのサービスに紐付けることで適用することができます。

GCPにおけるVPC

VPCセキュリティー
GCPでは、VPC(Virtual Private Cloud)と呼ばれる仮想上のプライベートネットワークを作成することでVMのネットワークセキュリティを保護しています。様々なクラウドベンダーでVPCと呼ばれるサービスは展開されていますが、GCPが非常に特徴的なのは、リージョンをまたがりグローバルで1つのVPCを作成することです。そのVPCの中にVMをデプロイする各リージョンごとのサブネットを用意します。そのため、リージョン間の通信においてはルーティング等をユーザー側で気にする必要はなく、Google内部のネットワーク経由で、プライベートIPアドレスにより相互に通信を行うことができます。

VPC Network Peering

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のサービスへアクセスすることが可能で、その中にはGmailやGoogleドライブも含まれます。しかし、下記のサービスはAPIサービスではないため、別の方式でアクセスする必要があります。

  • App Engine Memcache
  • Filestore
  • Memorystore
  • Cloud SQL

ロギングの機能

ロギング機能
VPCのロギングでは、2種類の機能を利用することができます。

VPCフローログという機能は、VMインスタンスによって送受信されたネットワークフローの記録することができます。全てのネットワークフローではなく、サンプリングされた記録であることに注意が必要です。VPCフローログはサブネット毎に有効化、無効化を設定することができ、有効化されているサブネット上にある全てのVMからデータを収集します。

ファイアウォールルールロギングでは、ファイアウォールルールが適用された全てのアクセスログを収集する機能です。ファイアウォールルールが意図したとおりに正常に稼働しているかどうかや、ファイアウォールの効果について検証することができます。

Packet Mirroring

Packet_Mirroring
また、GCPではPacket Mirroringというサービスを提供しています。このサービスでは、指定したインスタンスのNICを流れるトラフィックを全てクローンし、別のVMに転送することが可能です。ネットワークのトラブルシューティングや、IDS、IPSでのセキュリティ監視に利用することが想定されます。

VPC Service Controls

VPC_Service_Control
VPC Service Controlsとは、ネットワークの境界を設定することができるサービスです。非常に強力なセキュリティの境界を構築し、境界をまたがるデータの移動は完全に制御されます。

従来の考え方では防げない攻撃

VPCでは守れない
GCPではVMのネットワークセキュリティをVPCを活用することで担保しています。しかし、VPCの考え方では下記のようなインシデントに対応することができません。

  1. IAMポリシーが誤って設定されており、本来公開されてはいけないファイルが公開されてしまった
  2. 認証情報が漏洩し、インターネットから機密データにアクセスされてしまった
  3. 内部犯によるデータコピー
  4. 意図しないサービスへの転送

VPC Service Controlsによる防御

VPC防御
そこで必要となるのがプロジェクトやIAMから独立したネットワークの境界を設定する仕組みです。VPC Service Controlsで境界を作成することで、境界内のサービスには自由に通信することができますが、境界を越える通信に関してはデフォルトで全てブロックされます。この境界設定はIAMの管理権限やプロジェクトオーナーの権限では変更することができません。

ファイアウォールとの違い

ファイアウォールはVMに対する通信の制御を行いますが、VPC Service Controlsでは各種APIの通信に対する制御を行います。これにより、GCP内のサービス同士での信頼性を担保し、データ漏洩のリスクを軽減することが可能です。

まとめ


この記事では、GCPのネットワークセキュリティの全体像についてご紹介しました。

VMのネットワークセキュリティは基本的にはVPCによって管理されていますが、エッジPoPにおける通信の保護やAPIサービスへの境界設定など、多層的な防御を行うことが可能です。



弊社トップゲートでは、 GCP 、または G Suite 導入をご検討をされているお客様へ「Google Meet で無料個別相談会」を実施いたします。導入前に懸念点を解決したい方、そもそも導入した方がいいのかをお聞きしたい方はお気軽にお申し込みください!

お申込みはこちら

メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
GCP、G Suite、TOPGATEの最新情報満載!

メルマガ登録はこちら

記事を探す

GCP のメリットを最大限に活用しよう!

GCP・G Suite のご相談・
お見積り依頼はお気軽に
TEL.03-5840-8815
お問合せフォーム TEL.03-5840-8815