Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
cloudtrail_logs_s3_bucket_access_logging_enabledProvider: AWS
Service:
cloudtrailSeverity: MEDIUM
Categories:
logging, forensics-readyResource type:
AwsCloudTrailTrailWhat this check verifies
CloudTrail trails deliver logs to an S3 bucket; this evaluates whether that bucket has S3 server access logging enabled to record requests against it. If the destination bucket is outside the account or audit scope, a manual review is indicated.Risk
Without access logging on the CloudTrail logs bucket, access and changes to log files lack an independent audit trail. Attackers could read, delete, or replace logs without attribution, undermining log confidentiality and integrity, and slowing incident response.Recommendation
Enable S3 server access logging on the CloudTrail logs bucket and write logs to a separate, tightly controlled bucket. Apply least privilege, enable versioning, and consider Object Lock to deter tampering. Centralize monitoring to support defense-in-depth and rapid investigation.Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/securityhub/latest/userguide/cloudtrail-controls.html
- https://docs.aws.amazon.com/AmazonS3/latest/dev/security-best-practices.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = cloudtrail_logs_s3_bucket_access_logging_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks