🌏

はじめてのGoogle Cloud Armor

2022/12/20に公開

はじめてのGoogle Cloud Armor

こんにちは。Google Cloudのカスタマーエンジニアの大嶋です。

この記事は Google Cloud Japan Advent Calendar 2022 の「今から始める Google Cloud」編の20日目の記事です。

本記事ではタイトルの通り、Google CloudのCloud Armorの基礎的な内容をご紹介したいと思います。「今から始める Google Cloud」ということで、これから Google Cloud を利用する、あるいは利用してみたいユーザーを対象にした入門向けの内容になります。初歩的な説明となりますが、少しでもGoogle Cloud Armorについて興味を持っていただけたらと思います。
公式ドキュメントはこちら

Google Cloud Armorとは?

Google Cloudがマネージドサービスとして提供する WAF(Webアプリケーションファイアウォール)となります。Google Cloud のロードバランサである Cloud Load Balancing の背後に展開した Web アプリケーションに対する分散型サービス拒否(DDoS)攻撃やクロスサイト スクリプティング(XSS)、そしてSQL インジェクション(SQLi)などの脅威を検知して防御する仕組み
IPアドレスによる通信制限、Open Web Application Security Project (OWASP)のModSecurityに基づいたWAFルール等のセキュリティ機能を有効化することができます。また、どのような攻撃が行われたのかをテレメトリとして収集し分析することも可能です。

Google Cloud Armor DDoS防御とWAF

Google Cloud Armorのようなクラウド型WAFを導入する企業も増えており、各社のメリット・デメリットを説明する記事も多々ありますが、ここで特記したいのは、Google Cloud Armorは、Google 検索、Gmail、YouTube といったインターネットサービスを長年守ってきたGoogleの生きた経験と技術をもとに開発されたサービスであるいう点です。また、2022年6 月1 日、Google Cloud Armor をご利用のお客様において、ピーク時で毎秒 4,600 万リクエストに達するHTTPS DDoS 攻撃の標的になりましたが、Cloud Armor により攻撃はブロックされ、問題なくサービスを継続することが出来ました。リンク

こうした事実だけでもかなりの説得力があると思うのですが皆様はいかがでしょうか?

Google Cloud Armorの仕組み

次にGoogle Cloud Armorの仕組みについて簡単にご紹介したいと思います。

Google Cloud Armorは、Google Cloudのロードバランサの付加機能として提供しており、Google Cloud Armorを有効化することで、上述した様々なセキュリティ機能を各種ロードバランサと組み合わせて利用することが可能となります。また、以下の図のようにこれらのセキュリティ機能はCloud Edge内で処理され、且つ受信トラフィックの送信元にできるだけ近いPoP内で許可または拒否をするため、各種攻撃によるGoogle Cloudネットワークへの侵入やロードバランサの内側にあるインスタンスのリソース消費を防ぐことが可能です。

ネットワーク エッジでの Google Cloud Armor ポリシー

また、Google Cloud Armor セキュリティ ポリシーは、グローバル外部 HTTP(S) ロードバランサ、グローバル外部 HTTP(S) ロードバランサ(従来版)、外部 TCP プロキシ ロードバランサ、外部 SSL プロキシ ロードバランサのバックエンドサービスとして設定します。Google Cloud Armorのセキュリティポリシーに関する詳細はこちらをご参照ください。

Google Cloud Armor の料金

Google Cloud Armorの料金は、スタンダード ティアとプラスティアの2種類があります。
料金については、こちらからご確認頂けます。

Google Cloud Armor の主な機能4つ

Google Cloud Armorにはさまざまな機能がありますが、その中から以下の4つをご紹介致します。

  • 適応型保護
    異常なアクティビティの検知とアラート、潜在的攻撃を記録するシグネチャの生成、カスタムGoogle Cloud Armor WAFルールの生成による機械学習モデル等を使用し、大量のレイヤ7DDoS攻撃を自動に検知します。
    利用シナリオはこちら

  • Google Cloud Armor Managed Protection
    分散型サービス拒否(DDoS)攻撃やその他のインターネット脅威からウェブ アプリケーションとサービスを保護するマネージド アプリケーション保護サービスです。Managed Protection は、Google Cloud、オンプレミス、その他のインフラストラクチャ プロバイダにデプロイされたアプリケーションも保護することが可能です。Google Cloud Armor には Standard と Managed Protection Plus の 2 つの選択肢があります。
    利用シナリオはこちら

  • bot 管理 (reCPATCHA Enterprise とのネイティブ統合)
    ボットによるスパム投稿などを防ぐ企業向けのセキュリティ対策機能 reCAPTCHA Enterpriseとのネイティブ統合により、アプリを botから自動的に保護し不正行為を阻止します。
    利用シナリオはこちら

  • 名前付き IP アドレスリスト
    名前付き IP アドレスリストは、異なる名前ごとにグループ化された IP アドレスのリストを意味します。例えば、あるプロバイダに provider-a という名前の {ip1, ip2, ip3....ip_N_} IPアドレスリストがある場合、provider-a リスト内の全 IP アドレスは許可し、リスト外の IP アドレスを除外するセキュリティルールを作成できます。また、許可されたサードパーティパートナーの IPアドレスに対し許可リストを作成し、同パートナーから到達するトラフィックのみをロードバランサとその後ろにあるインスタンスにアクセスできるよう制限することが可能です。
    利用シナリオはこちら

はじめの一歩: Google Cloud Skills Boostを使ってGoogle Cloud Armorのハンズオンラボをやってみる

ここまで読んで頂いた方の中には、概要説明より「触ってみないと分からない」「実際にGoogle Cloud Armorを設定してみたい」と思われた方もいらっしゃるのではないでしょうか。

でもGoogle Cloudを利用できるアカウントをもっていない、もしくは持っているけど設定方法がイマイチわからないと思われた方もいらっしゃるかと思います。そんなときに活用頂きたいのがGoogle Cloud Skills Boostの「ラボ」コースです。

Google Cloud Skills Boostは、Google Cloud が直接管理し提供する、オンライン学習やスキル開発、そして認定資格取得のために最適なプラットフォームなのですが、700 以上のハンズオンラボシナリオをオンラインでお試しいただけるサービスとなっています。

Google Cloud Skills Boostですが、アカウントを登録してから30日間は無償でご利用頂けます。ご利用には、こちらのページ右上にある「参加」の青いボタンをクリックし、以下のようにEメールアドレスとともにアカウント登録を行います。その後、noreply@cloudskillsboost.google のアドレスより確認メールとログインURLが届きますので確認後、URLからログインします。

Google Cloud Skills Boost アカウント登録

アカウント登録後、Google Cloud Skills Boostにログインし、以下のようにカタログメニューから、Cloud Armorと入力してCloud Armorのラボコースを検索します。

私がおすすめしたいGoogle Cloud Armorのラボは、こちらの「HTTP Load Balancer with Cloud Armor」です。

こちらのラボは、これからGoogle Cloudを利用する方にも始めやすい所要時間1時間のラボ設定となっています。設定内容は、HTTP ロードバランサを設定からインスタンスグループの構築、ロードバランサ設定をテストした後、Cloud Armor を設定して特定のアドレスから HTTP ロードバランサにアクセスできないようブラックリストを登録するというシナリオとなっています。
このラボを選択すると以下の画面となります。

もし英語表記となっている場合は、右上の言語設定から日本語に変更が可能です。つぎに、画像左上の「ラボを開始」ボタンをクリックすると、以下の「クレジットを購入」画面が表示されます。

え!有償なの?と思われた方もいらっしゃいますよね。でも大丈夫です。トライアルの開始から30日間は無償でお試し頂けます。ただ、30日の無償トライアル期間が終了すると自動で課金に切り替わりますのでトライアルを開始したら、忘れないうちにサブスクリプションをキャンセルしたほうが良いかもしれません。ちなみに、30日の無償利用期間が終了する前にキャンセルしたとしても期間終了日まではご利用頂けますし、一旦キャンセルしてもその後クレジットを購入してサブスクリプションを再開することも可能です。

画面サンプルは割愛していますが次の画面でクレジットカードを登録し、無償トライアルを開始します。

次に、念のため無償トライアルのサブスクリプションのキャンセル画面もご紹介しておきます。
サブスクリプションメニューをクリックし、自分のプロフィールアイコンをクリックすると以下のような画面が表示されます。

つづけて以下の画像を参考に無償トライアルのサブスクリプションのキャンセルを行います。

これで安心して30日間じっくり学習を続けることができますね。あとは、以下の画像のように左側に表示されているOpen Cloud Console ボタンをクリックして指示されたユーザ名とパスワードでコンソールにログインしてみましょう。

ログインすると分かりますが、実際のコンソールと同じ環境で設定できますし、ラボのシナリオに記載されている詳細な設定手順とともにロードバランサやCloud Armorの設定を進めることができます。はじめてCloud Armorを設定する方でも難なく設定を完了頂けるのではないかと思います。

ラボを進めるにつれて、HTTPロードバランサに対する負荷テストや、 Cloud Armor のセキュリティポリシーを設定してブラックリストに登録したIPアドレスからのアクセスをブロックし、その通信ログを確認するという実際の業務にもつながるシナリオでGoogle Cloud Armorの動作について確認することが可能です。

最後に


今回は初めてGoogle Cloudを利用する、またはこれからGoogle Cloud Armorを設定してみる方向けの内容として、Google Cloud Armor の概要説明と最短でキャッチアップ頂ける方法としてGoogle Cloud Skills Boostのラボについてご紹介しました。

Google Cloud Armor を含めたGoogle Cloudネットワークサービスも日々進化しており、新しいサービスのリリースや機能更新が頻繁に行われています。今回はGoogle Cloud Armorのラボをご紹介しましたが、他にもハイブリッドネットワーク接続やファイアウォール設定などのネットワークサービスのラボがたくさんありますので、この年末年始のお休みの間、他のラボもトライされてはいかがでしょうか。

それでは皆様良い年末年始を。

Google Cloud Japan

Discussion