템플릿을 사용하여 경보 생성 - AWS CloudTrail

템플릿을 사용하여 경보 생성

CloudWatch 로그 그룹으로 로그 파일을 전송하도록 추적을 구성한 후 CloudWatch 지표 필터와 경보를 생성하여 로그 파일의 이벤트를 모니터링할 수 있습니다. 예를 들어 Amazon EC2 RunInstances 작업 등의 이벤트를 지정하여 해당 이벤트가 계정에서 발생할 때 CloudWatch가 알림을 전송하도록 합니다. 필터와 경보를 별도로 생성하거나 AWS CloudFormation 템플릿을 사용하여 필터와 경보를 모두 한 번에 정의할 수 있습니다.

예제 CloudFormation 템플릿을 있는 그대로 또는 참조로 사용하여 고유한 템플릿을 생성할 수 있습니다.

예제 CloudFormation 템플릿

CloudFormation 템플릿에는 미리 정의된 CloudWatch 지표 필터와 경보가 있으므로 특정 보안 관련 API 호출이 AWS 계정에서 발생할 때 이메일 알림을 수신할 수 있습니다.

이 템플릿은 다음 위치의 zip 파일 CloudWatch_Alarms_for_CloudTrail_API_Activity.zip에서 제공됩니다.

템플릿은 다음 리소스 유형에 대한 생성, 삭제, 업데이트 작업을 모니터링하는 지표 필터를 정의합니다.

  • Amazon EC2 인스턴스

  • IAM 정책

  • 인터넷 게이트웨이

  • 네트워크 ACL

  • 보안 그룹

API 호출이 계정에서 발생하면 지표 필터가 해당 API 호출을 모니터링합니다. API 호출이 지정한 임계값을 초과하는 경우 경보가 트리거되고 CloudWatch가 이메일 알림을 전송합니다.

기본적으로 템플릿에 있는 대부분의 필터는 5분 이내에 모니터링되는 이벤트 하나가 발생할 경우 경보를 트리거합니다. 자체 요구 사항에 맞게 이러한 경보 임계값을 수정할 수 있습니다. 예를 들어, 10분 안에 3개의 이벤트에 대해 모니터링할 수 있습니다. 변경하려면 템플릿을 편집하거나 템플릿을 업로드한 후 CloudWatch 콘솔에서 임계값을 지정합니다.

참고

CloudTrail은 일반적으로 5분마다 로그 파일을 전송하므로 경보 시간을 5분 이상으로 지정합니다.

템플릿의 지표 필터와 경보, 이메일 알림을 트리거하는 API 호출을 보려면 CloudFormation 템플릿 콘텐츠를 참조하십시오.

템플릿을 사용하여 CloudFormation 스택 생성

CloudFormation 스택이란 하나의 단위로 프로비저닝 및 업데이트하는 관련 리소스의 모음입니다. 다음 절차는 스택을 생성하고 알림을 수신하는 이메일 주소를 검증하는 방법을 설명합니다.

템플릿을 사용하여 CloudFormation 스택을 생성하려면

  1. CloudWatch Logs 로그 그룹으로 로그 파일을 전송하도록 추적을 구성합니다. CloudWatch Logs로 이벤트 전송 단원을 참조하십시오.

  2. CloudFormation 템플릿 CloudWatch_Alarms_for_CloudTrail_API_Activity.zip을 다운로드합니다.

  3. https://console.aws.amazon.com/cloudformation에서 AWS CloudFormation 콘솔을 엽니다.

  4. [Create Stack]을 선택합니다.

    
                        콘솔에서 AWS CloudFormation 스택을 생성합니다.
  5. [Select Template] 페이지에서 [Name]의 경우 스택 이름을 입력합니다. 다음 예에는 CloudWatchAlarmsForCloudTrail가 사용됩니다.

    
                         AWS CloudFormation 콘솔에서 템플릿을 선택합니다.
  6. Source의 경우 Upload a template to Amazon S3를 선택합니다.

    
                         AWS CloudFormation 콘솔에 템플릿을 업로드합니다.
  7. Choose File을 선택한 다음 다운로드한 AWS CloudFormation 템플릿을 선택합니다.

  8. [Next]를 선택합니다.

  9. [Specify Parameters] 페이지에서 [Email]의 경우 알림을 수신할 이메일 주소를 입력합니다.

  10. LogGroupName의 경우 CloudWatch Logs로 로그 파일을 전송하도록 추적을 구성했을 때 지정한 로그 그룹의 이름을 입력합니다.

    
                         AWS CloudFormation 스택에 대한 이메일 주소와 로그 그룹 이름을 지정합니다.
  11. [Next]를 선택합니다.

  12. [Options]에서 태그를 만들거나 다른 고급 옵션을 구성할 수 있습니다. 이는 필수는 아닙니다.

    
                         AWS CloudFormation 스택에 대한 추가 옵션을 지정합니다.
  13. [Next]를 선택합니다.

  14. [Review] 페이지에서 설정이 올바른지 확인합니다.

    
                         AWS CloudFormation 스택을 생성하기 전에 검토합니다.
  15. Create를 선택합니다. 스택이 몇 분 내에 생성됩니다.

    
                         AWS CloudFormation 스택이 생성됩니다.
  16. 스택이 생성된 후 지정한 주소로 이메일을 받게 됩니다.

  17. 이메일에서 [Confirm subscription]을 선택합니다. 템플릿에서 지정한 경보가 트리거될 때 이메일 알림을 수신합니다.

    
                        이메일에서 구독을 확인합니다.

    다음의 알림 예는 API 호출이 지표 경보를 트리거한 IAM 정책을 변경했을 때 전송된 것입니다.

    
                        다음 이메일 알림 예를 참조하십시오.

CloudFormation 템플릿 콘텐츠

다음 표에서는 템플릿의 지표 필터와 경보, 해당 필터와 경보의 용도 및 이메일 알림을 트리거하는 API 호출을 보여 줍니다. 나열된 필터에 대한 API 호출이 하나 이상 계정에서 발생한 경우 알림이 트리거됩니다.

CloudWatch 콘솔에서 지표 필터 및 경보 정의를 검토할 수 있습니다.

Amazon S3 버킷 이벤트
지표 필터 및 경보 모니터링 및 알림 전송 대상: 알림을 트리거하는 하나 이상의 API 작업:

S3BucketChangesMetricFilter

S3BucketChangesAlarm

버킷 정책, 수명 주기, 복제 또는 ACL을 변경하는 API 호출.

PutBucketAcl

DeleteBucketPolicy

PutBucketPolicy

DeleteBucketLifecycle

PutBucketLifecycle

DeleteBucketReplication

PutBucketReplication

DeleteBucketCors

PutBucketCors

네트워크 이벤트
지표 필터 및 경보 모니터링 및 알림 전송 대상: 알림을 트리거하는 하나 이상의 API 작업:

SecurityGroupChangesMetricFilter

SecurityGroupChangesAlarm

보안 그룹을 생성, 업데이트 및 삭제하는 API 호출.

CreateSecurityGroup

DeleteSecurityGroup

AuthorizeSecurityGroupEgress

RevokeSecurityGroupEgress

AuthorizeSecurityGroupIngress

RevokeSecurityGroupIngress

NetworkAclChangesMetricFilter

NetworkAclChangesAlarm

네트워크 ACL을 생성, 업데이트 및 삭제하는 API 호출.

CreateNetworkAcl

DeleteNetworkAcl

CreateNetworkAclEntry

DeleteNetworkAclEntry

ReplaceNetworkAclAssociation

ReplaceNetworkAclEntry

GatewayChangesMetricFilter

GatewayChangesAlarm

고객 및 인터넷 게이트웨이를 생성, 업데이트 및 삭제하는 API 호출.

CreateCustomerGateway

DeleteCustomerGateway

AttachInternetGateway

CreateInternetGateway

DeleteInternetGateway

DetachInternetGateway

VpcChangesMetricFilter

VpcChangesAlarm

VPC(Virtual Private Cloud), VPC 피어링 연결, ClassicLink를 사용하여 기존 EC2 인스턴스에 VPC 연결을 생성, 업데이트 및 삭제하는 API 호출.

CreateVpc

DeleteVpc

ModifyVpcAttribute

AcceptVpcPeeringConnection

CreateVpcPeeringConnection

DeleteVpcPeeringConnection

RejectVpcPeeringConnection

AttachClassicLinkVpc

DetachClassicLinkVpc

DisableVpcClassicLink

EnableVpcClassicLink

Amazon EC2 이벤트
지표 필터 및 경보 모니터링 및 알림 전송 대상: 알림을 트리거하는 하나 이상의 API 작업:

EC2InstanceChangesMetricFilter

EC2InstanceChangesAlarm

EC2 인스턴스의 생성, 종료, 시작, 중지 및 재부팅.

RebootInstances

RunInstances

StartInstances

StopInstances

TerminateInstances

EC2LargeInstanceChangesMetricFilter

EC2LargeInstanceChangesAlarm

4x 및 8x 대형 EC2 인스턴스의 생성, 종료, 시작, 중지 및 재부팅.

하나 이상의 API 작업:

RebootInstances

RunInstances

StartInstances

StopInstances

TerminateInstances

하나 이상의 인스턴스 유형:

instancetype=*.4xlarge

instancetype=*.8xlarge

CloudTrail 및 IAM 이벤트
지표 필터 및 경보 모니터링 및 알림 전송 대상: 알림을 트리거하는 하나 이상의 API 작업:

CloudTrailChangesMetricFilter

CloudTrailChangesAlarm

추적 생성, 삭제 및 업데이트 추적에 대한 로깅 시작 및 중지 발생.

CreateTrail

DeleteTrail

StartLogging

StopLogging

UpdateTrail

ConsoleSignInFailuresMetricFilter

ConsoleSignInFailuresAlarm

콘솔 로그인 실패

eventName 확장하는 데 ConsoleLogin

errorMessage는 "Failed authentication"

AuthorizationFailuresMetricFilter

AuthorizationFailuresAlarm

권한 부여 실패

오류 코드가 발생하는 API 호출: AccessDenied

또는

*UnauthorizedOperation.

IAMPolicyChangesMetricFilter

IAMPolicyChangesAlarm

IAM 정책에 대한 변경 사항

AttachGroupPolicy

DeleteGroupPolicy

DetachGroupPolicy

PutGroupPolicy

CreatePolicy

DeletePolicy

CreatePolicyVersion

DeletePolicyVersion

AttachRolePolicy

DeleteRolePolicy

DetachRolePolicy

PutRolePolicy

AttachUserPolicy

DeleteUserPolicy

DetachUserPolicy

PutUserPolicy