View a markdown version of this page

クイックスタート: 侵入テストを実行する - AWS セキュリティエージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クイックスタート: 侵入テストを実行する

このクイックスタートでは、AWS セキュリティエージェントで最初のペネトレーションテスト (ペンテスト) を実行する手順を説明します。ペネトレーションテストでは、デプロイされたアプリケーションを検証済みターゲットドメインに対して演習し、セキュリティ検出結果を返します。各検出結果には、重要度評価と証拠が示されます。パブリックにアクセス可能なアプリケーションについて説明します。プライベート VPC でホストされているアプリケーションをテストするには、「」を参照してくださいペネトレーションテストを有効にする

注記

AWS セキュリティエージェントをセットアップしてテストスコープを定義するには AWS マネジメントコンソールにアクセスし、ペネトレーションテストを作成して実行するにはウェブアプリケーションにアクセスする必要があります。

前提条件

開始する前に、以下の準備が整っていることを確認します。

  • AWS セキュリティエージェントをセットアップするアクセス許可を持つ AWS マネジメントコンソールへのアクセス。

  • テストするアプリケーションをホストするライブターゲットドメイン。

  • 所有権を検証できるように、そのドメインの DNS レコード、または同じ AWS アカウントの Route 53 ホストゾーンを追加する機能。

  • (オプション) アプリケーションのソースコードリポジトリ (GitHub、GitLab、または Bitbucket)。エージェントにコンテキストを提供します。

ステップ 1: AWS コンソールで AWS セキュリティエージェントを設定する

AWS セキュリティエージェントをまだセットアップしていない場合は、初期設定を完了します。

  1. AWS マネジメントコンソールで AWS セキュリティエージェントに移動します。

  2. AWS セキュリティエージェントのセットアップ を選択します。

  3. エージェントスペースを作成します。エージェントスペースは複数のユーザーが使用でき、テストするすべてのアプリケーションに固有である必要があります。名前と説明を入力します。名前は、ペネトレーションテストするアプリケーションを識別する必要があります。

  4. ユーザーアクセス設定で IAM のみのアクセスを選択します。

    • このクイックスタートでは、ユーザーが AWS コンソールから直接ウェブアプリケーションにアクセスできるようにする IAM アイデンティティセンターでのシングルサインオン (SSO) の有効化については説明していません。

    • AWS マネジメントコンソール を使用しないユーザーがペネトレーションテストを開始できるようにするには、IAM Identity Center 統合を有効にします。詳細については、「ユーザーに AWS Security Agent ウェブアプリへのアクセスを許可する」を参照してください。

  5. AWS セキュリティエージェントのセットアップ を選択します。

注記

セットアップを選択すると、AWS セキュリティエージェントはエージェントスペースを作成し、ユーザーが侵入テスト、コードレビュー、脅威モデル、設計レビューを実行できるウェブアプリケーションを確立します。

ステップ 2: ペネトレーションテストを有効にしてドメインを検証する

注記

AWS コンソールでは、テストできる範囲を定義します。その後、ユーザーはウェブアプリケーションからその範囲内で特定の侵入テストを実行します。

  1. 左側のサイドバーから、エージェントスペースを選択し、ステップ 1 で作成したエージェントスペースを選択します。

  2. ペネトレーションテストタブを選択し、ペネトレーションテストの設定を選択してウィザードを開きます。

  3. ドメインの設定 - テストするターゲットドメインを入力し、検証方法、DNS TXT レコード、または HTTP ルートを選択します。ドメインはライブで、テストするアプリケーションをホストする必要があります。[次へ] を選択します。

  4. ドメインの検証 - ターゲットドメインテーブルの各ドメインの所有権を検証します。AWS セキュリティエージェントは、検証済みドメインに対してのみテストを実行します。コピーする詳細な手順と正確な値については、「」を参照してくださいペネトレーションテスト用のアプリケーションドメインを有効にする

    • 同じ AWS アカウントの Route 53 ドメイン - ドメインを選択し、ワンクリック検証を選択します。AWS セキュリティエージェントは DNS レコードを作成し、検証を完了します。

    • DNS TXT レコード (他の DNS プロバイダー) - ターゲットドメインテーブルで、レコード名レコード値をコピーし、DNS プロバイダーで TXT レコードとして追加してから、ドメインを選択して検証を選択します。DNS の変更が反映されるまでに時間がかかる場合があるため、検証がすぐに完了しない場合があります。

    • HTTP ルート - ウェブサーバー.well-known/aws/securityagent-domain-verification.jsonで にファイルを作成し、 形式で検証トークンを追加し{"tokens": ["<token>"]}、ドメインを選択して検証を選択します。

  5. (オプション) 追加機能を設定する - CloudWatch ロググループや認証情報などのオプションリソースを追加します。サービスアクセスセクションは事前設定されています。AWS セキュリティエージェントは、既存の IAM ロールを選択しない限り、必要なアクセス許可を持つサービスロールを作成します。

ステップ 3: ソースコードを接続する (オプション)

ソースコードプロバイダーを接続すると、AWS セキュリティエージェントにアプリケーションに関するコンテキストが提供され、ペネトレーションテストのカバレッジが向上します。この手順は省略可能です。

  1. 侵入テストタブで、ページ上部の侵入テストバナーのソースコードプロバイダーを接続する追加を選択します。

  2. プロバイダーを登録して接続し、ペネトレーションテストに使用できるリポジトリを選択します。

完全な統合フローについては、「AWS セキュリティエージェントを GitHub リポジトリに接続する」またはプロバイダーの接続トピックを参照してください。

ステップ 4: 侵入テストを作成して実行する

注記

AWS Security Agent ウェブアプリケーションでペネトレーションテストを作成して実行します。本番環境に近いテスト環境に対してテストを実行することをお勧めします。

  1. ウェブアプリケーションを起動します。ウェブアプリケーションタブを選択し、管理者アクセスを選択します。

  2. 左側のサイドバーで、ペネトレーションテストを選択し、ペネトレーションテストを作成します

  3. 侵入テストの詳細 - テストスコープとログソースを設定します。

    1. Pentest 名を入力します。

    2. ターゲット URLs で、テストする検証済みドメイン ( など) を選択または入力しますhttps://example.com。検証済みドメインのみがテストでき、サブドメインは自動的にカバーされます。

    3. (オプション) アクセス可能な URLs で、エージェントがログインとナビゲーションのために到達する必要があるが、ターゲットドメイン外の ID プロバイダー、CDNs、APIsなど、攻撃すべきではないドメインを追加します。AWS セキュリティエージェントはこれらのドメインに到達できますが、テストは行いません。ターゲットドメインのみが攻撃されます。

    4. ネットワーク設定ルールを確認して、テスト中にトラフィックを受信できるエンドポイントと受信できないエンドポイントを確認します。

    5. アクセス許可で、サービスロールを選択し、オプションで CloudWatch ロググループを選択します。[次へ] を選択します。

  4. (オプション) VPC リソース - ターゲットがパブリックにアクセスできないプライベートネットワーク上にある場合は、VPC を設定します。「ペネトレーションテストを有効にする」を参照してください。

  5. (オプション) 認証リソース - エージェントが認証された非公開のパスに到達できるように認証情報を提供します。これらを追加してカバレッジを広げ、ログインの背後にある脆弱性を明らかにすることをお勧めします。

  6. (オプション) 追加設定 - ファイル、GitHub リポジトリ、S3 ソースなどのアプリケーションコンテキストを追加して、検出結果の品質を向上させます。自動コード修復を有効にし、ここで他の実行オプションを設定することもできます。

  7. Create and execute を選択して今すぐテストを開始するか、Create pentest を選択して保存し、後で実行します。

ステップ 5: 侵入テストの結果を確認する

  1. ペネトレーションテストが完了するまでに数時間かかる場合があります。ほとんどは、アプリケーションのサイズと複雑さに応じて、16 時間以内に完了します。

  2. 実行は、テストを開始する前にセットアップを検証するプリフライトフェーズから始まります。ロギングインフラストラクチャを設定し、ターゲットエンドポイントに到達可能かどうかをチェックし、テスト環境を準備します。プリフライトチェックが失敗した場合 (解決できないターゲットドメインなど)、テストを開始する前に実行が停止します。プリフライトタブを開いて、失敗したチェックを確認し、解決して、新しい実行を開始します。

  3. 実行が完了したら、実行を開き、実行の概要ログ結果タブを確認します。

  4. 検出結果タブで、検出結果を選択して、その説明、重要度、リスクタイプ、および補足証拠を表示します。

詳細については、「侵入テストを作成する」および「ペネトレーションテストの結果を確認する」を参照してください。