

**에 대한 새로운 콘솔 환경 소개 AWS WAF**

이제 업데이트된 환경을 사용하여 콘솔의 모든 위치에서 AWS WAF 기능에 액세스할 수 있습니다. 자세한 내용은 [콘솔 작업을 참조하세요](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html).

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

# Shield Advanced 공격 흐름 로그
<a name="ddos-flow-logs"></a>

흐름 로그를 사용하면 Shield Advanced 보호 리소스의 네트워크 인터페이스로 이동하는 트래픽에 대한 정보를 캡처할 수 있습니다. 흐름 로그 데이터는 Amazon S3, Amazon CloudWatch Logs 또는 Amazon Data Firehose에 게시되며, 흐름 로그를 활성화한 후 데이터를 검색하고 볼 수 있습니다.

**참고**  
를 사용할 때는 미국 동부(버지니아 북부) 리전의 Shield Advanced에서 보호되는 리소스에 대한 CloudWatch 지표 및 로그를 콘솔에서 확인해야 합니다 AWS CLI. 를 사용하는 경우 다음 파라미터를 포함하여 명령의 미국 동부(버지니아 북부) 리전을 AWS CLI지정합니다. `--region us-east-1` 

**참고**  
CloudWatch Logs 요금은 로그가 Amazon S3에 직접 게시되더라도 흐름 로그를 사용할 때 적용됩니다. 자세한 내용은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)의 로그 탭에서 판매 로그를 참조하세요.

## Amazon S3에 흐름 로그 게시 활성화
<a name="ddos-flow-logs-enable"></a>

Amazon S3에 흐름 로그를 게시하려면 로그 전송 작업 및 Shield 서비스에 대한 IAM 권한을 구성해야 합니다.

### 흐름 로그를 게시하기 위한 IAM 권한
<a name="ddos-flow-logs-iam-permissions"></a>

IAM 역할이나 사용자와 같은 IAM 보안 주체는 Amazon S3 버킷에 흐름 로그를 게시할 수 있는 충분한 권한이 있어야 합니다. IAM 정책에는 다음의 권한이 포함되어야 합니다.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadWriteAccessForLogDeliveryActions",
            "Effect": "Allow",
            "Action": [
                "logs:GetDelivery",
                "logs:GetDeliverySource",
                "logs:PutDeliveryDestination",
                "logs:GetDeliveryDestinationPolicy",
                "logs:DeleteDeliverySource",
                "logs:PutDeliveryDestinationPolicy",
                "logs:CreateDelivery",
                "logs:GetDeliveryDestination",
                "logs:PutDeliverySource",
                "logs:DeleteDeliveryDestination",
                "logs:DeleteDeliveryDestinationPolicy",
                "logs:DeleteDelivery",
                "logs:UpdateDeliveryConfiguration"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:{{accountID}}:delivery:*",
                "arn:aws:logs:us-east-1:{{accountID}}:delivery-source:*",
                "arn:aws:logs:us-east-1:{{accountID}}:delivery-destination:*"
            ]
        },
        {
            "Sid": "ListAccessForLogDeliveryActions",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeDeliveryDestinations",
                "logs:DescribeDeliverySources",
                "logs:DescribeDeliveries",
                "logs:DescribeConfigurationTemplates"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUpdatesToResourcePolicyS3",
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketPolicy",
                "s3:GetBucketPolicy"
            ],
            "Resource": "arn:aws:s3:::{{bucket-name}}"
        }
    ]
}
```

앞의 정책에서 {{accountID}}를 AWS 계정 ID로 바꾸고 {{bucket-name}}을 Amazon S3 버킷 이름으로 바꿉니다.

### Shield 서비스별 권한
<a name="ddos-flow-logs-shield-permissions"></a>

대상별 권한 외에도 에서는 리소스에서 로그를 전송할 수 있는 명시적 권한 부여가 AWS Shield 필요합니다. 이를 통해 추가 보안 계층이 제공됩니다. Shield는 로그를 벤딩하는 보호 리소스에 대한 `AllowVendedLogDeliveryForResource` 작업을 승인합니다.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ServiceLevelAccessForLogDelivery",
            "Effect": "Allow",
            "Action": [
                "shield:AllowVendedLogDeliveryForResource"
            ],
            "Resource": "arn:aws:shield::{{accountID}}:protection/*"
        }
    ]
}
```

{{accountID}}를 AWS 계정 ID로 바꿉니다.

## 흐름 로그 전송을 활성화하려면
<a name="ddos-flow-logs-delivery"></a>

작업 로그 전송은 세 가지 요소로 구성됩니다. 다음 절차에 따라를 사용하여 각 요소를 구성합니다 AWS CLI.

1. 로그를 전송하는 리소스를 나타내는 논리적 객체인 `DeliverySource`를 생성합니다. 다음 명령을 실행합니다.

   ```
   aws logs put-delivery-source \
     --name {{delivery-source-name}} \
     --resource-arn "arn:aws:shield::{{accountID}}:protection/{{protectionID}}" \
     --log-type FLOW_LOGS \
     --region us-east-1
   ```

   {{delivery-source-name}}을 전송 소스의 이름으로, {{accountID}}를 AWS 계정 ID로, {{protectionID}}를 Shield Advanced 보호 ID로 바꿉니다.

   이 명령을 실행하는 사용자에게 서비스 수준 권한이 있는지 확인합니다`shield:AllowVendedLogDeliveryForResource`.

1. 실제 전송 대상을 나타내는 논리적 객체`DeliveryDestination`인를 생성합니다. 다음 명령을 실행합니다.

   ```
   aws logs put-delivery-destination \
     --name {{delivery-destination-name}} \
     --output-format json \
     --delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::{{bucket-name}}" \
     --region us-east-1
   ```

   {{delivery-destination-name}}을 전송 대상의 이름으로 바꾸고 {{bucket-name}}을 Amazon S3 버킷의 이름으로 바꿉니다.

1. 전송 소스를 전송 대상에 `Delivery`연결하는를 생성합니다. 다음 명령을 실행합니다.

   ```
   aws logs create-delivery \
     --delivery-source-name {{delivery-source-name-from-step1}} \
     --delivery-destination-arn "{{arn-returned-in-step2}}" \
     --region us-east-1
   ```

   {{delivery-source-name-from-step1}}을 1단계의 전송 소스 이름으로 바꾸고 {{arn-returned-in-step2}}를 2단계에서 반환된 ARN으로 바꿉니다.

## 흐름 로그 파일
<a name="ddos-flow-logs-files"></a>

Shield 보호의 흐름 로그는 공격 중에 5분 간격으로 Amazon S3 버킷에 게시됩니다. 로그 파일은 5분마다 작성되며 각 로그 파일에는 이전 5분 동안 기록된 IP 주소 트래픽에 대한 흐름 로그 레코드가 포함됩니다.

로그 파일의 최대 크기는 75MB입니다. 로그 파일이 5분 이내에 파일 크기 한도에 도달하는 경우, 흐름 로그에 흐름 로그 레코드 추가를 중단하고 Amazon S3 버킷에 게시한 다음 새 로그 파일을 생성합니다.

로그 파일은 압축됩니다. Amazon S3 콘솔을 사용해 파일을 열면 Amazon S3에서 로그 레코드의 압축을 해제하고 이를 표시합니다. 로그 파일을 다운로드하는 경우, 압축을 해제해야 레코드를 볼 수 있습니다.

단일 로그 파일에는 여러 레코드와 함께 인터리브 항목이 포함되어 있습니다. 보호를 위한 모든 로그 파일을 보려면 보호 이름, 리전 및 계정 ID로 집계된 항목을 찾습니다.

## 흐름 로그 레코드 구문
<a name="ddos-flow-logs-record-syntax"></a>

흐름 로그 레코드는 다음 필드가 있는 공백으로 구분된 문자열입니다.


| 필드 | 설명 | 
| --- | --- | 
| version | 흐름 로그 버전 번호입니다. | 
| protection\_arn | AWS Shield Advanced에서 보호되는 리소스를 식별하는 보호 ARN입니다. | 
| srcaddr | 패킷의 소스 IP 주소입니다. | 
| dstaddr | 패킷의 대상 IP 주소입니다. | 
| srcport | 패킷의 소스 포트입니다. | 
| dstport | 패킷의 대상 포트입니다. | 
| protocol | 패킷의 프로토콜입니다. | 
| packets | 집계 기간 내의 패킷 수입니다. | 
| bytes | 집계 기간 내 바이트 수입니다. | 
| starttime | 집계 기간 시작 시간입니다. | 
| endtime | 집계 기간 종료 시간입니다. | 
| action | Shield Advanced에서 수행한 작업입니다. | 
| tcp\_flags | 패킷의 TCP 플래그 필드입니다. | 
| sampling\_rate | 패킷 처리 중에 사용되는 샘플링 속도입니다. | 
| location | AWS 수신 위치입니다. | 
| srccountry | 수신 트래픽 국가를 나타내는 2자 국가 코드입니다. | 