

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 빠른 시작: 침투 테스트 실행
<a name="quickstart"></a>

이 빠른 시작은 AWS Security Agent를 사용하여 첫 번째 침투 테스트(펜테스트)를 실행하는 방법을 안내합니다. 침투 테스트는 확인된 대상 도메인에 대해 배포된 애플리케이션을 연습하고 심각도 등급 및 지원 증거가 있는 보안 조사 결과를 반환합니다. 공개적으로 액세스할 수 있는 애플리케이션을 다룹니다. 프라이빗 VPC에서 호스팅되는 애플리케이션을 테스트하려면 섹션을 참조하세요[침투 테스트 활성화](enable-penetration-test.md).

**참고**  
AWS Security Agent를 설정하고 테스트 범위를 정의하려면 AWS Management Console에 대한 액세스 권한이 필요하며, 침투 테스트를 생성하고 실행하려면 웹 애플리케이션에 대한 액세스 권한이 필요합니다.

## 사전 조건
<a name="_prerequisites"></a>

시작하기 전에, 다음 사항을 확인해야 합니다.
+ AWS Security Agent를 설정할 수 있는 권한이 있는 AWS Management Console에 액세스합니다.
+ 테스트하려는 애플리케이션을 호스팅하는 라이브 대상 도메인입니다.
+ 소유권을 확인할 수 있도록 해당 도메인에 대한 DNS 레코드 또는 동일한 AWS 계정의 Route 53 호스팅 영역을 추가하는 기능입니다.
+ (선택 사항) 에이전트에게 더 많은 컨텍스트를 제공하기 위한 애플리케이션의 소스 코드 리포지토리(GitHub, GitLab 또는 Bitbucket).

## 1단계: AWS 콘솔에서 AWS Security Agent 설정
<a name="_step_1_set_up_aws_security_agent_in_the_aws_console"></a>

AWS Security Agent를 아직 설정하지 않은 경우 초기 설정을 완료합니다.

1. [AWS Management Console에서 AWS Security Agent](https://console.aws.amazon.com/securityagent/)로 이동합니다.

1. **AWS Security Agent 설정을** 선택합니다.

1. 에이전트 스페이스를 생성합니다. 에이전트 공간은 여러 사용자가 사용할 수 있으며 테스트하려는 모든 애플리케이션에 고유해야 합니다. 이름 및 설명을 입력합니다. 이름은 침투 테스트하려는 애플리케이션을 식별해야 합니다.

1. 사용자 **액세스 구성에서 IAM 전용** 액세스를 선택합니다. ** 
   + 이 빠른 시작은 사용자가 AWS 콘솔에서 직접 웹 애플리케이션에 액세스할 수 있도록 하는 IAM Identity Center를 통한 Single Sign-On(SSO) 활성화를 다루지 않습니다.
   + AWS Management Console이 없는 사용자가 침투 테스트를 시작하도록 하려면 IAM Identity Center 통합을 활성화합니다. 자세한 내용은 [사용자에게 AWS Security Agent 웹 앱에 대한 액세스 권한 부여](grant-user-access.md)을 참조하세요.

1. **AWS Security Agent 설정을** 선택합니다.

**참고**  
설정을 선택하면 AWS Security Agent는 에이전트 스페이스를 생성하고 사용자가 침투 테스트, 코드 검토, 위협 모델 및 설계 검토를 실행할 수 있는 웹 애플리케이션을 설정합니다.

## 2단계: 침투 테스트 활성화 및 도메인 확인
<a name="_step_2_enable_penetration_testing_and_verify_your_domain"></a>

**참고**  
AWS 콘솔에서 테스트할 수 있는 항목의 범위를 정의합니다. 그런 다음 사용자는 웹 애플리케이션에서 해당 범위 내에서 특정 침투 테스트를 실행합니다.

1. 왼쪽 사이드바에서 **에이전트 공간을** 선택한 다음 1단계에서 생성한 에이전트 공간을 선택합니다.

1. **침투 테스트** 탭을 선택한 다음 **침투 테스트 설정을** 선택하여 마법사를 엽니다.

1.  **도메인 구성** - 테스트할 대상 도메인을 입력하고 확인 방법, **DNS TXT 레코드** 또는 **HTTP 경로를** 선택합니다. 도메인은 라이브 상태여야 하며 테스트하려는 애플리케이션을 호스팅해야 합니다. **다음**을 선택합니다.

1.  **도메인 확인** - **대상 도메인 테이블에서 각 도메인**의 소유권을 확인합니다. AWS Security Agent는 확인된 도메인에 대해서만 테스트를 실행합니다. 자세한 단계와 복사할 정확한 값은 섹션을 참조하세요[침투 테스트를 위한 애플리케이션 도메인 활성화](enable-test-domain.md).
   +  **동일한 AWS 계정의 Route 53 도메인** - 도메인을 선택하고 **원클릭 확인을** 선택합니다. AWS Security Agent가 DNS 레코드를 생성하고 확인을 완료합니다.
   +  **DNS TXT 레코드(기타 DNS 공급자)** - **대상 도메인** 테이블에서 **레코드 이름** 및 **레코드 값을** 복사하고 DNS 공급자와 함께 TXT 레코드로 추가한 다음 도메인을 선택하고 **확인을** 선택합니다. DNS 변경 사항이 전파되는 데 시간이 걸릴 수 있으므로 확인이 즉시 완료되지 않을 수 있습니다.
   +  **HTTP 경로** - 웹 서버에서 `.well-known/aws/securityagent-domain-verification.json`에 파일을 생성하고 형식의 확인 토큰을 추가한 `{"tokens": ["<token>"]}`다음 도메인을 선택하고 **확인을** 선택합니다.

1. (선택 사항) **추가 기능 구성** - CloudWatch 로그 그룹 및 자격 증명과 같은 선택적 리소스를 추가합니다. **서비스 액세스** 섹션은 미리 구성되어 있습니다. AWS Security Agent는 기존 IAM 역할을 선택하지 않는 한 필요한 권한이 있는 서비스 역할을 생성합니다.

## 3단계: 소스 코드 연결(선택 사항)
<a name="_step_3_connect_source_code_optional"></a>

소스 코드 공급자를 연결하면 애플리케이션에 대한 AWS Security Agent 컨텍스트가 제공되고 침투 테스트 적용 범위가 개선됩니다. 이 단계는 선택 사항입니다.

1. **침투 테스트** 탭에서 페이지 상단의 **침투 테스트를 위한 소스 코드 공급자 연결** 배너에서 **추가**를 선택합니다.

1. 공급자를 등록하고 연결한 다음 침투 테스트에 사용할 리포지토리를 선택합니다.

전체 통합 흐름은 [ GitHub 리포지토리에 AWS Security Agent 연결](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**에서 에이전트가 로그인 및 탐색을 위해 연결해야 하지만 대상 도메인 외부의 자격 증명 공급자, CDNs 또는 APIs와 같이 공격해서는 안 되는 도메인을 추가합니다. AWS Security Agent는 이러한 도메인에 도달할 수 있지만 테스트하지는 않습니다. 대상 도메인만 공격됩니다.

   1. **네트워킹 구성 규칙을** 검토하여 테스트 중에 트래픽을 수신할 수 있는 엔드포인트와 수신할 수 없는 엔드포인트를 확인합니다.

   1. **권한**에서 **서비스 역할을** 선택하고 선택적으로 **CloudWatch 로그 그룹을** 선택합니다. **다음**을 선택합니다.

1. (선택 사항) **VPC 리소스** - 대상이 공개적으로 연결할 수 없는 프라이빗 네트워크에 있는 경우 VPC를 구성합니다. [침투 테스트 활성화](enable-penetration-test.md)을(를) 참조하세요.

1. (선택 사항) **인증 리소스** - 에이전트가 인증된 비공개 경로에 도달할 수 있도록 자격 증명을 제공합니다. 로그인 뒤의 적용 범위를 넓히고 취약성을 표시하려면 이를 추가하는 것이 좋습니다.

1. (선택 사항) **추가 구성** - 파일, GitHub 리포지토리 또는 S3 소스와 같은 애플리케이션 컨텍스트를 추가하여 결과 품질을 개선합니다. 자동 코드 수정을 활성화하고 여기에서 다른 실행 옵션을 설정할 수도 있습니다.

1. 지금 테스트를 시작하려면 **생성 및 실행**을 선택하고, 저장하고 나중에 실행하려면 **pentest 생성을** 선택합니다.

## 5단계: 침투 테스트 결과 검토
<a name="_step_5_review_penetration_test_findings"></a>

1. 침투 테스트를 완료하는 데 몇 시간이 걸릴 수 있습니다. 대부분의는 애플리케이션의 크기와 복잡성에 따라 16시간 이내에 완료됩니다.

1. 실행은 테스트 시작 전에 설정을 검증하는 **Preflight** 단계로 시작됩니다. 즉, 로깅 인프라를 설정하고, 대상 엔드포인트에 연결할 수 있는지 확인하고, 테스트 환경을 준비합니다. 사전 검사가 실패하면(예: 해결할 수 없는 대상 도메인) 테스트가 시작되기 전에 실행이 중지됩니다. **Preflight** 탭을 열어 실패한 검사를 확인하고 해결한 다음 새 실행을 시작합니다.

1. 실행이 완료되면 실행을 열고 **실행 개요**, **로그** 및 **결과** 탭을 검토합니다.

1. **조사 결과** 탭에서 조사 결과를 선택하여 설명, 심각도, 위험 유형 및 근거 증거를 확인합니다.

자세한 내용은 [침투 테스트 생성](perform-penetration-test.md) 및 [침투 테스트 결과 검토](review-penetration-findings.md) 섹션을 참조하세요.