No CloudWatch alarm for CloudTrail configuration changes
- Severity
- High
- Service
- Monitoring and alarms
- Check ID
- CLOUDWATCH_ALARM_CLOUDTRAIL_CHANGES
What this check finds
No CloudWatch Logs metric filter and alarm cover CloudTrail configuration events (CreateTrail, UpdateTrail, DeleteTrail, StartLogging, StopLogging). Without this, disabling audit logging goes undetected until it is too late. CIS v1.4 §4.5.
Passing looks like: CloudWatch alarm for CloudTrail changes configured.
How to fix it
Create a CloudWatch Logs metric filter on the CloudTrail log group covering trail config events, then create an alarm. Filter pattern: {($.eventName=CreateTrail)||($.eventName=UpdateTrail)|| ($.eventName=DeleteTrail)||($.eventName=StartLogging)||($.eventName=StopLogging)}. Attach an SNS topic for email or PagerDuty notification.
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| CIS AWS Foundations Benchmark v5.0.0 |
|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs
More Monitoring and alarms checks
- HighNo CloudWatch alarm for console sign-in without MFA
- HighNo CloudWatch alarm for KMS CMK disable or scheduled deletion
- HighNo CloudWatch alarm for root account usage
- MediumNo CloudWatch alarm for AWS Config configuration changes
- MediumNo CloudWatch alarm for AWS Management Console authentication failures
- MediumNo CloudWatch alarm for IAM policy changes
- MediumNo CloudWatch alarm for Network ACL changes
- MediumNo CloudWatch alarm for network gateway changes