AWS CloudTrail Events to Monitor and Alert On
A list of CloudTrail events, grouped by service, that can indicate a security event in your AWS account and are worth considering for alerts.
Which AWS CloudTrail events should you alert on? This list is grouped by event source, and every event on it can indicate a security event: someone disabling logging, creating credentials, opening up access, or exfiltrating data. It started from 4n6ir's Expediate project (no longer online), and we've since corrected and extended it.
Not all of these will make sense for your environment, and some will cause alert fatigue depending on your use case. Use this as a starting point and reference, but think through the implementation. Consider also using existing monitoring and alerting tools like the AWS Security Survival Kit instead of reinventing the wheel. For how to wire up alerts with EventBridge and SNS, see AWS Security Monitoring, Logging, and Alerting.
Two things to know before you build rules from this list:
- Some services log versioned event names. Lambda, for example, logs
CreateFunctionasCreateFunction20150331, so use prefix matching in EventBridge ({"prefix": "CreateFunction"}) instead of exact names. - Data events, like S3
RestoreObject, only show up if you've enabled data events on your trail.
Tip: Some of these events fire constantly during normal use. For example, CloudShell's
GetFileDownloadUrls: here's how to filter it out of an EventBridge rule.
cloudshell.amazonaws.com
CreateEnvironmentCreateSessionDeleteEnvironmentGetEnvironmentStatusGetFileDownloadUrlsGetFileUploadUrlsPutCredentialsStartEnvironmentStopEnvironment
cloudtrail.amazonaws.com
DeleteEventDataStoreDeleteTrailPutEventSelectorsStopEventDataStoreIngestionStopLoggingUpdateEventDataStoreUpdateTrail
config.amazonaws.com
DeleteConfigurationRecorderDeleteDeliveryChannelStopConfigurationRecorder
connect.amazonaws.com
CreateInstance
ec2.amazonaws.com
CreateDefaultVpcCreateImageCreateInstanceExportTaskCreateKeyPairCreateVpcDeleteFlowLogsDeleteVpcDescribeInstanceAttributeDisableEbsEncryptionByDefaultDisableImageBlockPublicAccessDisableSerialConsoleAccessDisableSnapshotBlockPublicAccessEnableEbsEncryptionByDefaultEnableImageBlockPublicAccessEnableSerialConsoleAccessEnableSnapshotBlockPublicAccessGetPasswordDataModifyInstanceAttributeModifySnapshotAttributeSharedSnapshotCopyInitiatedSharedSnapshotVolumeCreated
ecr.amazonaws.com
CreateRepositoryGetAuthorizationToken
ecs.amazonaws.com
RegisterTaskDefinitionRunTask
eks.amazonaws.com
CreateClusterDeleteCluster
elasticache.amazonaws.com
ModifyCacheClusterModifyReplicationGroup
elasticfilesystem.amazonaws.com
DeleteFileSystemDeleteMountTarget
glue.amazonaws.com
CreateSessionCreateDevEndpoint(legacy)DeleteDevEndpointUpdateDevEndpoint
guardduty.amazonaws.com
CreateFilterCreateIPSetCreateThreatIntelSetDeleteDetectorDeleteMembersDisassociateFromAdministratorAccountDisassociateMembersUpdateDetectorUpdateFilterUpdateThreatIntelSet
iam.amazonaws.com
AddUserToGroupAttachGroupPolicyAttachUserPolicyChangePasswordCreateAccessKeyCreateLoginProfileCreateUserCreateVirtualMFADeviceDeactivateMFADeviceDeleteAccessKeyDeleteUserDeleteUserPolicyDeleteVirtualMFADeviceDetachGroupPolicyDetachUserPolicyEnableMFADevicePutUserPolicyResyncMFADeviceUpdateAccessKeyUpdateGroupUpdateLoginProfileUpdateSAMLProviderUpdateUser
kms.amazonaws.com
DisableKeyPutKeyPolicyScheduleKeyDeletion
lambda.amazonaws.com
AddLayerVersionPermissionAddPermission(logged asAddPermission20150331v2)CreateFunction(logged asCreateFunction20150331)GetLayerVersionPolicyPublishLayerVersion(logged asPublishLayerVersion20181031)UpdateFunctionCode(logged asUpdateFunctionCode20150331v2)UpdateFunctionConfiguration(logged asUpdateFunctionConfiguration20150331v2)
macie2.amazonaws.com
DisableMacie
organizations.amazonaws.com
LeaveOrganization
rds.amazonaws.com
ModifyDBInstanceRestoreDBInstanceFromDBSnapshot
rolesanywhere.amazonaws.com
CreateProfileCreateTrustAnchor
route53domains.amazonaws.com
DisableDomainTransferLockTransferDomainToAnotherAwsAccount
s3.amazonaws.com
DeleteBucketEncryptionDeleteBucketPolicyPutBucketEncryptionPutBucketLifecyclePutBucketLoggingPutBucketPolicyPutBucketPublicAccessBlockPutBucketReplicationPutBucketWebsiteRestoreObject(data event)
securityhub.amazonaws.com
BatchUpdateFindingsDeleteInsightDisableSecurityHubUpdateFindingsUpdateInsight
sso.amazonaws.com
AttachCustomerManagedPolicyReferenceToPermissionSetAttachManagedPolicyToPermissionSetCreateAccountAssignmentCreateInstanceAccessControlAttributeConfigurationCreatePermissionSetDeleteAccountAssignmentDeleteInlinePolicyFromPermissionSetDeleteInstanceAccessControlAttributeConfigurationDeletePermissionsBoundaryFromPermissionSetDeletePermissionSetDetachCustomerManagedPolicyReferenceFromPermissionSetDetachManagedPolicyFromPermissionSetProvisionPermissionSetPutInlinePolicyToPermissionSetPutPermissionsBoundaryToPermissionSetUpdateInstanceAccessControlAttributeConfigurationUpdatePermissionSet
sts.amazonaws.com
GetFederationTokenGetSessionToken

Comments
Loading comments…