

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

# クイックスタート: 侵入テストを実行する
<a name="quickstart"></a>

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

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

## 前提条件
<a name="_prerequisites"></a>

開始する前に、以下の準備が整っていることを確認します。
+ AWS セキュリティエージェントをセットアップするアクセス許可を持つ AWS マネジメントコンソールへのアクセス。
+ テストするアプリケーションをホストするライブターゲットドメイン。
+ 所有権を検証できるように、そのドメインの DNS レコード、または同じ AWS アカウントの Route 53 ホストゾーンを追加する機能。
+ (オプション) アプリケーションのソースコードリポジトリ (GitHub、GitLab、または Bitbucket)。エージェントにコンテキストを提供します。

## ステップ 1: AWS コンソールで AWS セキュリティエージェントを設定する
<a name="_step_1_set_up_aws_security_agent_in_the_aws_console"></a>

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

1. [AWS マネジメントコンソールで AWS セキュリティエージェント](https://console.aws.amazon.com/securityagent/)に移動します。

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

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

1. ユーザー**アクセス設定で IAM のみ**のアクセスを選択します。 **
   + このクイックスタートでは、ユーザーが AWS コンソールから直接ウェブアプリケーションにアクセスできるようにする IAM アイデンティティセンターでのシングルサインオン (SSO) の有効化については説明していません。
   + AWS マネジメントコンソール を使用しないユーザーがペネトレーションテストを開始できるようにするには、IAM Identity Center 統合を有効にします。詳細については、「[ユーザーに AWS Security Agent ウェブアプリへのアクセスを許可する](grant-user-access.md)」を参照してください。

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

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

## ステップ 2: ペネトレーションテストを有効にしてドメインを検証する
<a name="_step_2_enable_penetration_testing_and_verify_your_domain"></a>

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

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

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

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

1.  **ドメインの検証** - **ターゲットドメインテーブルの各ドメイン**の所有権を検証します。AWS セキュリティエージェントは、検証済みドメインに対してのみテストを実行します。コピーする詳細な手順と正確な値については、「」を参照してください[ペネトレーションテスト用のアプリケーションドメインを有効にする](enable-test-domain.md)。
   +  **同じ AWS アカウントの Route 53 ドメイン** - ドメインを選択し、**ワンクリック検証**を選択します。AWS セキュリティエージェントは DNS レコードを作成し、検証を完了します。
   +  **DNS TXT レコード (他の DNS プロバイダー)** - **ターゲットドメイン**テーブルで、**レコード名**と**レコード値**をコピーし、DNS プロバイダーで TXT レコードとして追加してから、ドメインを選択して**検証**を選択します。DNS の変更が反映されるまでに時間がかかる場合があるため、検証がすぐに完了しない場合があります。
   +  **HTTP ルート** - ウェブサーバー`.well-known/aws/securityagent-domain-verification.json`で にファイルを作成し、 形式で検証トークンを追加し`{"tokens": ["<token>"]}`、ドメインを選択して**検証**を選択します。

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

## ステップ 3: ソースコードを接続する (オプション)
<a name="_step_3_connect_source_code_optional"></a>

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

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

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

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

## ステップ 4: 侵入テストを作成して実行する
<a name="_step_4_create_and_run_a_penetration_test"></a>

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

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

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

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

   1. **Pentest 名**を入力します。

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

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

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

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

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

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

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

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

## ステップ 5: 侵入テストの結果を確認する
<a name="_step_5_review_penetration_test_findings"></a>

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

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

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

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

詳細については、「[侵入テストを作成する](perform-penetration-test.md)」および「[ペネトレーションテストの結果を確認する](review-penetration-findings.md)」を参照してください。