チェックポイント
Deploy sample App Engine application
/ 100
Web Security Scanner: Qwik Start
GSP112
概要
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 コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
タスク 1. スキャンするアプリを事前に用意する
このラボでは、Hello World サンプル アプリケーションをデプロイして Security Scanner を実行します。
- Cloud Shell で次のコマンドを実行し、Hello World サンプル アプリケーションのリポジトリのクローンを作成します。
- 次に、サンプルコードを含むディレクトリに移動します。
- 以下のコマンドを実行し、
itsdangerous==2.0.1
、Jinja2==3.0.3
、werkzeug==2.0.1
を requirements.txt ファイルに追加します。
ファイルは以下のようになります。
- ファイルを保存して(Ctrl+O キー、Enter キーの順に押す)、nano を終了します(Ctrl+X キーを押す)。
itsdangerous==2.0.1
パッケージを requirements.txt ファイルに追加することで、信頼できない環境にデータを渡し、再び安全に取り戻せます。タスク 2. アプリをテストする
- アプリの
app.yaml
構成ファイルがある hello_world ディレクトリから、次のコマンドを使用してローカルの開発用サーバーを起動します。
- ローカルの開発用サーバーが起動し、ポート 8080 でリクエストを待機します。Cloud Shell の [ウェブでプレビュー] ボタンをクリックし、[ポート 8080 でプレビュー] を選択します。
- Ctrl+C キーを押してローカルアプリを停止し、コマンドラインに戻ります。
タスク 3. アプリをデプロイする
このラボでは、
- アプリケーションのルート ディレクトリ(
hello_world
)で次のコマンドを実行して、アプリを App Engine にデプロイします。
-
リージョンの選択を求められますので、近いリージョンの番号を選択します。
-
ラボにアプリが作成されると、続行するかどうか尋ねられます。[Y] をクリックして続行します。
アプリのデプロイが開始します。
タスク 4. アプリを表示する
- ブラウザでアプリを起動するには、次のコマンドを実行します。
Cloud Shell 内のリンクを使用するか、http://[YOUR_PROJECT_ID].uc.r.appspot.com
にアクセスしてアプリを表示します。この URL が脆弱性スキャンの対象になり、次のステップでスキャン パラメータに追加されます。
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。
タスク 5. スキャンを実行する
スキャンは直ちに実行されるのではなく、まずキューに追加されて後で実行されます。その時点の負荷によっては、スキャンが実行されるまでに数時間かかることがあります。これらのフォームの設定について詳しくは、Web Security Scanner の使用をご覧ください。
-
ナビゲーション メニュー > [API とサービス] > [ライブラリ] を開きます。
-
[API とサービスを検索] に「Web Security Scanner」と入力します。
-
[API を有効にする] をクリックして、Web Security Scanner API を有効にします。
-
ナビゲーション メニューで [セキュリティ] > [Web Security Scanner] を選択します。
-
[新しいスキャン] をクリックします。
-
[
開始 URL 1
] に、スキャンするアプリケーションの URL を入力します。 -
[保存] をクリックして、スキャンを作成します。
-
[実行] をクリックしてスキャンを開始します。
スキャンがキューに追加され、進行状況がステータスバーに表示されます。スキャンが完了すると、スキャンの概要ページに結果のセクションが表示されます。次の画像は、脆弱性が検出されない場合のスキャン結果を示しています。
これで、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 の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。