Google Cloud のネットワークとアプリケーションのセキュリティ
Google Cloud Japan Team
※この投稿は米国時間 2022 年 7 月 7 日に、Google Cloud blog に投稿されたものの抄訳です。
Google は、自社のデータセンター同士を接続する世界最大級のバックボーン ネットワークを所有し、運用しています。Google のネットワークに到達したトラフィックはそれ以降公衆インターネットを通過しないため、攻撃、傍受、操作される危険が少なくなります。データは転送中に暗号化され、大規模なネットワークによりサービス拒否攻撃からの堅牢な防御を提供します。こうしたネットワーク固有のセキュリティに加え、ネットワーク ベースの脅威や攻撃からアプリケーションをさらに保護するためのサービスも利用できます。詳しく見てみましょう。
アプリケーションのセキュリティ
ウェブサイト、ウェブ アプリケーション、API ベースのサービスを構築する際には、次のようなさまざまな攻撃からの保護を検討する必要があります。
bot 攻撃 - 「ロボット」/ スクリプトによる攻撃。サイトをダウンさせたり、不正行為に使用される可能性があります。
分散型サービス拒否(DDoS)攻撃 - 計画外のアプリケーション ダウンタイムを引き起こす恐れがあります。
認証情報の窃取 - ユーザー名とパスワードを狙ったフィッシングや、漏洩した認証情報を使ったシステムまたはアカウントへの不正アクセスなど、さまざまな形態があります。
アプリケーション詐欺 - 不正な行為者が盗んだ ID や偽の ID を使って商品(チケットや限定販売品など)を購入したり、クレジット カードや銀行のローンに申し込んだりするなど、さまざまな形態があります。
API 攻撃 - 組織の API を標的にした DDoS 攻撃、bot または不正な行為者による API を利用した 機密情報の取得や他の不正なアクティビティの実行などが含まれます。
Cloud Load Balancing
HTTP(S) ロード バランシングを使用する場合、プロキシベースのレイヤ 7 ロードバランサを使うことで、単一の外部 IP アドレスの背後でサービスを実行し、スケーリングできるようになります。レイヤ 3 やレイヤ 4 のボリューム型の DDoS 攻撃やプロトコル DDoS 攻撃に対しても、オペレーション規模が大きいため、自動防御を提供できます。また、SSL オフロード機能により、SSL 証明書と復号を一元管理し、ロード バランシング レイヤとバックエンド レイヤの間で最高レベルのセキュリティを実現できます。Google Cloud のウェブアプリと API の保護(WAAP)ソリューションを使用することで、インターネットに接続されるアプリケーションを攻撃から保護できます。WAAP は、Cloud Armor、Apigee、reCAPTCHA Enterprise と組み合わせることで、多くの一般的脅威の軽減に役立ちます。それぞれを詳しく見ていきましょう。
DDoS 対策とウェブ アプリケーション ファイアウォール: Cloud Armor
Cloud Armor は Cloud Load Balancing と連動し、インフラストラクチャへの DDoS 攻撃を軽減するのに役立ちます。L7 パラメータ(リクエスト ヘッダー、Cookie、クエリ文字列など)の位置情報またはホストで受信ウェブ リクエストをフィルタリングします。Cloud Armor の各セキュリティ ポリシーは、受信リクエストの IP アドレス、IP 範囲、リージョン コード、またはリクエスト ヘッダーなどの条件に基づいてトラフィックをフィルタリングする一連のルールで構成されています。
また、本格的なウェブ アプリケーション ファイアウォール(WAF)でもある Cloud Armor には、ModSecurity Core Rule Set の事前構成されたルールが組み込まれており、SQL インジェクションやクロスサイト スクリプティングといった一般的なウェブ攻撃や脆弱性攻撃を阻止できます。すべての判断は、Cloud Logging と Monitoring のダッシュボードに記録され、許可、拒否、またはプレビューされたトラフィックを詳細に表示します。
reCAPTCHA Enterprise で bot 攻撃や不正行為から保護
reCAPTCHA Enterprise は、不正行為や bot 攻撃からの保護を提供するエンタープライズ向けクラウド サービスです。これは、すでにウェブ上の何百万ものサイトを保護している reCAPTCHA サービスにおける Google の学習成果を活用したものです。このシステムは、ブラウザの JavaScript クライアントやアプリの SDK から多数のシグナルを読み取って、サイトごとに人間と bot のアクティビティを学習します。これはヘッドレス(あらゆるウェブサイトのバックエンドで動作可能)で、画像を使った問題への回答をユーザーに要求しません。このシステムは、リスクスコアを提供し、リスクに応じて、2 つ目の要素の入力を求めたり、完全ブロックまたはリダイレクトしたり、人を介入させたりするなどの段階的なアクションを可能にします。
Apigee の API セキュリティ
Apigee API 管理プラットフォームでは、開発と運用の両方の観点で、API のライフサイクル全体を単一ポイントから管理できます。このプラットフォームは、API リクエストを精査し、API トラフィックの保護、スケーリング、調整、制御、モニタリングを行います。すぐに利用できる Apigee ポリシーを使用することで、トラフィックの制御、パフォーマンスの向上、セキュリティの適用といった機能で API を拡張できます。その際、コードの記述やバックエンド サービスの変更は不要です。
API 関連のセキュリティ構築には時間がかかり、高度な専門知識が要求されますが、Apigee のセキュリティ ポリシーなら、開発者は OAuth、API キー検証、およびその他の脅威保護機能を使用して API へのアクセスを制御できます。Apigee は、API リクエストの構造を理解することで、有効なリクエストと無効なリクエストをより正確に識別できるポジティブ セキュリティ モデルを提供しています。
API トラフィックを割り当てにより制限することで、不正使用防止や DDoS 攻撃への防御が可能です。たとえば、商品カタログの検索クエリとは別に、アカウントの登録や購入手続きなどに対してレート制限を適用できます。
サンプル ウェブ アプリケーションと API セキュリティ アーキテクチャ
以下は、これらのコンポーネントを含む可能性のあるサンプル ウェブ アプリケーションと API セキュリティのアーキテクチャです。
ユーザーがウェブサイトやモバイルアプリにログインしようとすると、reCAPTCHA トークンが取得されます。
reCAPTCHA Enterprise では、受信したリクエストのトークンを解読し、Cloud Armor で許可または拒否の判断を適用します。
Cloud Armor がリクエストを許可すると、ロードバランサに転送されます。
次に、ロードバランサは Apigee API ゲートウェイを中央に配置してリクエストを各バックエンドに送信し、クライアントの認証情報と割り当てに基づいて API 呼び出しを許可 / 拒否またはルーティングします。
以上、Google Cloud のネットワークとアプリケーションのセキュリティのツールキットの概要をご紹介しました。WAAP ソリューションの詳細については、ソリューション ページをご覧ください。
#GCPSketchnote をさらにご覧になるには、GitHub リポジトリをフォローしてください。同様のクラウド コンテンツについては、Twitter で @pvergadia をフォローしてください。thecloudgirl.dev もぜひご覧ください。
- Google、デベロッパー アドボケイト Reto Meier
- Google、デベロッパー アドボケイト リード Priyanka Vergadia