Quantcast
Channel: Good mind
Viewing all articles
Browse latest Browse all 511

AWS WAF Full Logging 환경 설정하기

$
0
0

https://medium.com/@eunsu.shin/aws-waf-full-logging-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-ddaf506548e3


본 문서는 AWS WAF 에서 제공하는 Full Logging 을 설정하는 방법을 설명하기 위한 내용을 다룹니다.

AWS WAF Full Logging 을 사용하기 위해서는 아래와 같은 내용이 설정되어야 합니다.

  1. Full Log 저장을 위한 S3 Bucket.
  • WAF 가 ALB/API Gateway 에 사용된 경우에는 S3 Bucket 을 WAF 와 동일한 Region 에 생성하면 되지만 CloudFront 에 WAF 를 사용하는 경우에는 S3 Bucket 은 반드시 North Virginia Region 으로 선택되어야 합니다.

2. WAF 로부터 Log Stream 을 S3 로 전달하기위한 Kinesis Firehose

  • S3 Bucket 과 마찬가지로 WAF 가 ALB/API Gateway 에 사용된 경우에는 Kinesis Firehose를 WAF 와 동일한 Region 에 생성하면 되지만 CloudFront 에 WAF 를 사용하는 경우에는 Kinesis Firehose는 반드시 North Virginia Region 으로 선택되어야 합니다.
  • Kinesis Firehose 의 이름은 반드시 “aws-waf-logs-” 로 시작하는 이름이어야 합니다.

3. Kinesis 에서 Log 전달 과정에서 사용할 Role

4. AWS WAF 에서 Full Log 활성화

설정 방법

  1. Amazon Kinesis 설정
  • : Kinesis Firehose 설정을 위하여 AWS Console 화면에서 Kinesis 메뉴로 이동한 후 “Get Started” 버튼을 클릭합니다.

아래와 같은 화면에서 Firehose Stream 생성을 위하여 “Create Delivery Stream” 버튼을 클릭합니다.

Delivery Stream 생성을 위하여 아래와 같이 임의의 이름을 입력합니다. 단, 반드시 “aws-waf-logs-” 로 시작하는 이름이어야 합니다.

“Choose Source” 메뉴에서는 Source 를 “Direct PUT or other sources” 를 선택합니다.

“Process records” 메뉴에서는 “Record Transformation” 을 “Disabled” 로 선택하고 “Record format conversion 도 “Disabled” 로 선택합니다.

이후 “Next” 버튼을 클릭합니다.

아래와 같은 화면에서 “Select Destination” 을 “Amazon S3” 로 선택합니다.

WAF 의 Log Message 를 수신할 S3 Destination 을 사전에 설정해 둔 S3 Bucket 으로 선택합니다.

이후 “Next” 버튼을 클릭합니다.

다음 화면에서 “Configure Settings” 의 “Buffer Interval” 을 60초로 수정합니다.

S3 로 저장되는 Log Message 를 Firehose 에서 압축하여 전달하도록 “S3 Compression” 옵션을 “GZIP” 으로 선택하고 “IAM Role” 에는 Kinesis Firehose 를 위한 IAM Role 을 선택합니다.

*사전에 IAM Role 을 생성하지 않은 경우에는 “Create new or choose” 버튼을 클릭한 후 생성하실 수 있습니다.

“Next” 버튼을 클릭합니다.

Kinesis Firehose 생성을 위한 설정 사항을 확인한 후 “Create delivery stream” 버튼을 클릭합니다.

정상적으로 진행이 되면 Amazon Kinesis 메뉴 중 Data Firehose 세부 항목에 아래와 같이 Delivery Stream 이 생성된 것을 확인하실 수 있습니다.

WAF 메뉴로 이동하여 Full Log 를 활성화할 WEB ACL 을 선택한 후 화면 우측의 “Logging” 메뉴에서 “Enable Logging” 버튼을 클릭합니다.

다음 화면에서 아래와 같이 이전 단계에서 생성하였던 Kinesis Firehose 를 선택한 후 “Create” 버튼을 클릭합니다.

AWS WAF 의 Full Logging 설정이 정상적으로 완료되고 해당 웹 사이트에 접속하여 트래픽을 생성하면 아래와 같이 Log Message 를 수신하는 S3 Bucket 에 Log Message 가 압축 파일 형태로 저장되는 것을 확인하실 수 있습니다.

감사합니다.


Viewing all articles
Browse latest Browse all 511

Trending Articles