arrow_back

Web Security Scanner: Qwik Start

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Web Security Scanner: Qwik Start

Lab 45分 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP112

Google Cloud セルフペース ラボ

概要

Security Command Center の組み込みサービスの一つである Web Security Scanner は、Google App Engine、Google Kubernetes Engine(GKE)、Compute Engine の各ウェブ アプリケーションにおけるセキュリティの脆弱性を特定します。このサービスは、アプリケーションをクロールして、開始 URL の範囲内にあるすべてのリンクをたどり、できる限り多くのユーザー入力とイベント ハンドラを実行します。

Web Security Scanner は、既存の安全な設計プロセスと開発プロセスを補完することを目的としています。誤検出があるとデベロッパーの注意がそがれるため、あまり多くの情報が報告されないようになっています。また信頼度が低いアラートは表示されません。Web Security Scanner は、人によるセキュリティ レビューに代わるものではなく、アプリケーションにセキュリティの欠陥がないことを保証するものでもありません。

設定

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

タスク 1. スキャンするアプリを事前に用意する

このラボでは、Hello World サンプル アプリケーションをデプロイして Security Scanner を実行します。

  1. Cloud Shell で次のコマンドを実行し、Hello World サンプル アプリケーションのリポジトリのクローンを作成します。
gsutil -m cp -r gs://spls/gsp067/python-docs-samples .
  1. 次に、サンプルコードを含むディレクトリに移動します。
cd python-docs-samples/appengine/standard_python3/hello_world
  1. 以下のコマンドを実行し、itsdangerous==2.0.1Jinja2==3.0.3werkzeug==2.0.1requirements.txt ファイルに追加します。
nano requirements.txt

ファイルは以下のようになります。

Flask==1.1.2 itsdangerous==2.0.1 Jinja2==3.0.3 werkzeug==2.0.1
  1. ファイルを保存して(Ctrl+O キー、Enter キーの順に押す)、nano を終了します(Ctrl+X キーを押す)。
注: itsdangerous==2.0.1 パッケージを requirements.txt ファイルに追加することで、信頼できない環境にデータを渡し、再び安全に取り戻せます。

タスク 2. アプリをテストする

  1. アプリの app.yaml 構成ファイルがある hello_world ディレクトリから、次のコマンドを使用してローカルの開発用サーバーを起動します。
dev_appserver.py app.yaml
  1. ローカルの開発用サーバーが起動し、ポート 8080 でリクエストを待機します。Cloud Shell の [ウェブでプレビュー] ボタンをクリックし、[ポート 8080 でプレビュー] を選択します。

[ポート 8080 でプレビュー] がハイライト表示されている、展開された [ウェブでプレビュー] メニュー

注: ウェブ プレビュー アイコンが表示されない場合は、左上のナビゲーション メニューを閉じます。
  1. Ctrl+C キーを押してローカルアプリを停止し、コマンドラインに戻ります。

タスク 3. アプリをデプロイする

このラボでは、 をApp Engine のリージョンとして使用します。

  1. アプリケーションのルート ディレクトリ(hello_world)で次のコマンドを実行して、アプリを App Engine にデプロイします。
gcloud app deploy
  1. リージョンの選択を求められますので、近いリージョンの番号を選択します。

  2. ラボにアプリが作成されると、続行するかどうか尋ねられます。[Y] をクリックして続行します。

アプリのデプロイが開始します。

タスク 4. アプリを表示する

  • ブラウザでアプリを起動するには、次のコマンドを実行します。
gcloud app browse

Cloud Shell 内のリンクを使用するか、http://[YOUR_PROJECT_ID].uc.r.appspot.com にアクセスしてアプリを表示します。この URL が脆弱性スキャンの対象になり、次のステップでスキャン パラメータに追加されます。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

サンプル App Engine アプリケーションをデプロイする。

タスク 5. スキャンを実行する

スキャンは直ちに実行されるのではなく、まずキューに追加されて後で実行されます。その時点の負荷によっては、スキャンが実行されるまでに数時間かかることがあります。これらのフォームの設定について詳しくは、Web Security Scanner の使用をご覧ください。

  1. ナビゲーション メニュー > [API とサービス] > [ライブラリ] を開きます。

  2. [API とサービスを検索] に「Web Security Scanner」と入力します。

  3. [API を有効にする] をクリックして、Web Security Scanner API を有効にします。

  4. ナビゲーション メニューで [セキュリティ] > [Web Security Scanner] を選択します。

  5. [新しいスキャン] をクリックします。

  6. [開始 URL 1] に、スキャンするアプリケーションの URL を入力します。

  7. [保存] をクリックして、スキャンを作成します。

  8. [実行] をクリックしてスキャンを開始します。

[実行] ボタンが表示された Web Security Scanner ページ

スキャンがキューに追加され、進行状況がステータスバーに表示されます。スキャンが完了すると、スキャンの概要ページに結果のセクションが表示されます。次の画像は、脆弱性が検出されない場合のスキャン結果を示しています。

スキャンで検出された URL の数が予想外に少なかったことを示すメッセージが表示された [結果] タブ

注: スキャンの完了まで 4~5 分かかる場合があります。出力されない場合はページを更新してみてください。

これで、Web Security Scanner を使用したスキャンが完了しましたが、1 つの URL をスキャンするだけでは十分でないことを示す警告が表示されます。このラボは簡単な例を示すことを目的としていますが、本番環境では多数の URL をスキャンする必要があります。

タスク 6. 理解度を確認する

以下の選択問題に取り組み、今回のラボで学習した内容の理解を深めましょう。正解を目指して頑張ってください。

お疲れさまでした

クエストを完了する

このセルフペース ラボは、「Baseline: Deploy & Develop」および「Security & Identity Fundamentals」のクエストの一部です。クエストとは学習プログラムを構成する一連のラボのことで、完了すると成果が認められてバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、このラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なすべてのクエストについては、Google Cloud Skills Boost カタログをご覧ください。

次のステップと詳細情報

このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部でもあります。ラボカタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2023 年 8 月 29 日

ラボの最終テスト日: 2023 年 8 月 29 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。