S3 bucket policy changes should be monitored
Description
Real-time monitoring of API calls can be achieved by directing CloudTrail logs to CloudWatch logs and establishing corresponding metric filters and alarms. It is recommended to set up a metric filter and alarm for changes to S3 bucket policies to reduce the time to detect and correct permissive policies on sensitive S3 buckets.
For instructions on setting up CloudWatch metric filters and alarms for S3 bucket policy changes, refer to the AWS CloudWatch Alarms for CloudTrail User Guide.
aws logs put-metric-filter --log-group-name <cloudtrail_log_group_name> \
--filter-name <s3_bucket_policy_changes_metric> --metric-transformations \
metricName=<s3_bucket_policy_changes_metric>,metricNamespace='CISBenchmark',metricValue=1 \
--filter-pattern '{($.eventSource = s3.amazonaws.com) && (($.eventName = PutBucketAcl) || \
($.eventName = PutBucketPolicy) || ($.eventName = PutBucketCors) || ($.eventName = PutBucketLifecycle) || \
($.eventName = PutBucketReplication) || ($.eventName = DeleteBucketPolicy) || ($.eventName = DeleteBucketCors) || \
($.eventName = DeleteBucketLifecycle) || ($.eventName = DeleteBucketReplication))}'
You can choose your own metricName
and metricNamespace
strings. Use the same metricNamespace
for all Foundations Benchmark metrics to group them together.