트레일에 대한 인사이트 이벤트 로깅 - AWS CloudTrail

트레일에 대한 인사이트 이벤트 로깅

AWS CloudTrail Insights은 AWS 사용자가 CloudTrail 관리 이벤트를 지속적으로 분석하여 write API 호출과 관련된 비정상적인 활동을 식별하고 이에 대응할 수 있도록 지원합니다.

Insights events은 CloudTrail가 계정에서 비정상적인 write 관리 API 활동을 감지할 때 로깅됩니다. CloudTrail Insights를 활성화하고 CloudTrail에서 비정상적인 활동을 감지하면 트레일에 대한 대상 S3 버킷으로 Insights events이 전송됩니다. CloudTrail 콘솔에서 Insights events을 볼 때 인사이트 유형 및 인시던트 기간을 볼 수도 있습니다. CloudTrail 트레일에서 캡처된 다른 유형의 이벤트와 달리, Insights events은 계정 API 사용량 변화가 계정의 일반적인 사용 패턴과 크게 다르다는 것을 CloudTrail가 감지한 경우에만 로깅됩니다.

CloudTrail Insights은 CloudTrail write 관리 이벤트를 지속적으로 모니터링하고 수학적 모델을 사용하여 계정에 대한 API 및 서비스 이벤트 활동의 정상적인 수준을 결정합니다. CloudTrail Insights는 일반적인 패턴을 벗어난 동작을 식별하고 Insights events를 생성하여 이러한 이벤트를 트레일에 대해 선택한 대상 S3 버킷의 /CloudTrail-Insight 폴더에 전달합니다. 또한 CloudTrail의 AWS Management 콘솔에서 Insights events을 액세스하고 볼 수 있습니다 . 콘솔에서 Insights events을 액세스하고 보는 방법과 AWS CLI을 사용하는 방법에 대한 자세한 내용은 이 안내서의 CloudTrail Insights 이벤트 보기 단원을 참조하십시오.

기본적으로 트레일은 모든 관리 이벤트를 로깅하지만 데이터 이벤트 또는 Insights events은 포함하지 않습니다. 데이터 및 Insights events에는 추가 요금이 적용됩니다. 자세한 내용은 AWS CloudTrail 요금을 참조하십시오.

계정에 이벤트가 발생하면 CloudTrail은 이벤트가 추적에 대한 설정과 일치하는지를 평가합니다. 추적 설정과 일치하는 이벤트만 Amazon S3 버킷 및 Amazon CloudWatch Logs 로그 그룹으로 전송됩니다.

인사이트 이해

CloudTrail Insights을 사용하면 Insights events을 발생하여 AWS 계정에서 비정상적인 API 활동을 감지하는 데 도움이 될 수 있습니다. CloudTrail Insights는 API 호출 볼륨의 일반 패턴을 추적하고 볼륨이 정상 패턴을 벗어날 때 Insights events를 생성합니다. Insights events은 write 관리 API에 대해 생성됩니다.

트레일에서 처음으로 CloudTrail Insights을 활성화한 후 비정상적인 활동이 감지될 경우 CloudTrail에서 첫 번째 인사이트 이벤트를 전달하는 데 최대 36시간이 걸릴 수 있습니다. CloudTrail Insights은 전역이 아닌 단일 리전에서 발생하는 쓰기 관리 이벤트를 분석합니다. 지원 관리 이벤트가 생성될 때 CloudTrail Insights 이벤트는 동일한 리전에서 생성됩니다.

다음 그림에 Insights events의 예가 나와 있습니다. 대시보드 또는 Insights(인사이트) 페이지에서 인사이트 이벤트 이름을 선택하여 인사이트 이벤트에 대한 세부 정보 페이지를 엽니다. 인사이트 이벤트의 세부 정보 페이지에는 Insights events가 하나 이상 로깅되기 전후의 일정 기간 동안 발생한 API 호출 볼륨에 대한 그래프가 표시됩니다. 그래프에서 Insights events는 세로 막대로 강조 표시되고 막대의 너비는 인사이트 이벤트의 시작 및 종료 시간을 보여줍니다.

이 예에서 세로 강조 표시 밴드는 계정의 AWS 시스템 관리자 UpdateInstanceInformation API 호출 수가 비정상적으로 표시됩니다. 강조 표시된 영역에서 UpdateInstanceInformation 호출 수가 계정의 정상 범위(분당 100.4건) 이상으로 증가했기 때문에 CloudTrail는 비정상적인 활동을 감지했을 때 인사이트 이벤트를 로깅했습니다. 인사이트 이벤트에는 오후 1시 37분에 875건에 달하는 UpdateInstanceInformation 호출이 수행되었다고 기록되었습니다. 이는 해당 계정에서 예상한 것보다 분당 약 775건 더 많이 해당 API를 호출했다는 의미입니다. 이 예제에서 그래프의 시간 범위는 1시간(오후 1:10)입니다. PDT는 2019년 11월 1일 오후 2시 10분입니다. PDT는 2019년 11월 1일입니다. 이 이벤트의 시작 시간은 오후 1:37입니다. PDT는 2019년 11월 1일, 종료 시간은 오후 1시 38분입니다. PDT.

왼쪽 열에는 주제 API와 관련이 있으며 인사이트 이벤트 유형이 동일한 Insights events이 나열되어 있습니다.


                인사이트 이벤트로 로깅된 비정상적인 API 활동을 보여주는 CloudTrail Insights 세부 정보 페이지입니다.

CloudTrail events(CloudTrail events이벤트) 탭에서 CloudTrail에서 분석된 관련 이벤트를 보고 비정상적인 활동이 발생했는지 확인합니다. 관련 API의 이름이기도 한 인사이트 이벤트 이름에 대해 필터가 이미 적용되어 있습니다. CloudTrail events(CloudTrail 이벤트) 탭에는 인사이트 이벤트의 시작 시간과 종료 시간 사이에 발생한 제목 API와 관련된 CloudTrail 관리 이벤트가 표시됩니다. 이러한 이벤트는 인사이트 이벤트의 발생 가능한 원인과 비정상적인 API 활동의 원인을 파악하기 위해 심층 분석을 수행하는 데 도움이 됩니다.

트레일에서 CloudTrail Insights을 비활성화하거나 트레일에서 로깅을 중지하는 경우(CloudTrail Insights를 비활성화), Insights events은 대상 S3 버킷에 저장되거나 인사이트를 활성화한 이전 날짜로 콘솔의 Insights(인사이트) 페이지에 표시되었을 수 있습니다.

AWS Management 콘솔을 사용하여 인사이트 이벤트 로깅

기존 트레일에서 인사이트 이벤트 모음을 활성화합니다. 기본적으로 인사이트 이벤트 모음은 활성화되어 있지 않습니다.

  1. CloudTrail 콘솔의 Trails(트레일) 페이지로 이동하여 트레일을 선택합니다.

  2. Insights events에서 연필 아이콘을 선택합니다.

  3. Log Insights events(Insights events 로깅)에서 를 선택합니다. [Save]를 선택하여 변경 사항을 저장합니다.

비정상적인 활동이 감지되면 CloudTrail이 첫 번째 Insights events를 전달하는 데 최대 36 시간이 걸릴 수 있습니다.

AWS Command Line Interface을 사용하여 인사이트 이벤트 로깅

AWS CLI를 사용하여 Insights events을 로깅하도록 트레일을 구성할 수 있습니다.

트레일이 Insights events을 로깅, 중인지 확인하려면 get-insight-selectors 명령을 실행합니다.

aws cloudtrail get-insight-selectors --trail-name TrailName

다음 결과는 트레일의 기본 설정을 보여줍니다. 기본적으로 트레일은 Insights events을 로깅하지 않습니다. 인사이트 이벤트 모음이 활성화되지 않았기 때문에 InsightType 속성 값이 비어 있고 인사이트 이벤트 선택기가 지정되지 않습니다.

{ "InsightSelectors": [ { "InsightType": "" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName" }

Insights events을 로깅하도록 트레일을 구성하려면 put-insight-selectors 명령을 실행합니다. 다음 예제에서는 Insights events을 포함하도록 트레일을 구성하는 방법을 보여 줍니다. 이 릴리스에서는 ApiCallRateInsight가 유일한 인사이트 선택기입니다.

aws cloudtrail put-insight-selectors --trail-name TrailName --insight-selectors '[{"InsightType": "ApiCallRateInsight"}]'

다음 결과는 트레일에 대해 구성된 인사이트 이벤트 선택기를 보여줍니다.

{ "InsightSelectors": [ { "InsightType": "ApiCallRateInsight" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/TrailName" }

AWS SDK를 사용하여 이벤트 로깅

GetInsightSelector 작업을 실행하여 트레일이 트레일에 대해 Insights events를 로깅 중인지 확인합니다. PutInsightSelectors 작업을 사용해 Insights events을 로깅하도록 트레일을 구성할 수 있습니다. 자세한 내용은 AWS CloudTrail API Reference 단원을 참조하십시오.

Amazon CloudWatch Logs로 이벤트 전송

CloudTrail은 CloudWatch Logs으로 Insights events를 전송하도록 지원합니다 . CloudWatch Logs 로그 그룹으로 Insights events를 전송하도록 트레일을 구성하면 CloudTrail Insights은 트레일에 지정된 이벤트만 전송합니다. 예를 들어, 로그 관리 및 Insights events에 대한 트레일을 구성하면 트레일은 CloudWatch Logs 로그 그룹에 관리 및 Insights events을 제공합니다. CloudWatch 콘솔 또는 API를 사용하여 CloudWatch 이벤트을 구성하려면 CloudWatch 콘솔의 규칙 생성 페이지에서 AWS Insight via CloudTrail 이벤트 유형을 선택합니다. 자세한 내용은 를 사용하여 로그 파일 모니터링 단원을 참조하십시오.