Check provider logo

GuardDuty detector has S3 Protection enabled

guardduty_s3_protection_enabled

Severityhigh
Serviceguardduty
by Prowler

Amazon GuardDuty detectors are evaluated for S3 Protection, which analyzes CloudTrail S3 data events to monitor object-level API activity (GetObject, PutObject, DeleteObject) across S3 buckets in the account and Region.

Risk

Without S3 Protection, object-level S3 activity isn't analyzed, enabling:

  • Exfiltration via mass reads/copies
  • Destructive deletes
  • Policy/ACL tampering

Undetected actions degrade data confidentiality, integrity, and availability.

Run this check with Prowler CLI

prowler aws --checks guardduty_s3_protection_enabled

Recommendation

Enable S3 Protection across all accounts and Regions to add defense in depth for S3. Apply least privilege to IAM and bucket policies, keep Block Public Access enforced, integrate findings with alerting, and regularly review anomalies to prevent data loss and tampering.

Remediation

CLI

aws guardduty update-detector --detector-id <detector-id> --data-sources S3Logs={Enable=true}

Native IaC
Terraform
Other
  1. Open the AWS Management Console and go to GuardDuty
  2. In the left menu, select Settings
  3. Find the S3 Protection section and click Enable (or toggle On)
  4. Click Save

Source Code

Resource Type

AwsGuardDutyDetector

References