AWS S3 Bucket ACL made public

Goal

Detect when an S3 bucket policy is made public.

Strategy

This rule lets you monitor these CloudTrail API calls to detect when an AWS bucket is made public:

This rule inspects the @requestParameters.AccessControlPolicy.AccessControlList.Grant.Grantee.URI array to determine if either of the strings are contained:

  • http://acs.amazonaws.com/groups/global/AuthenticatedUsers
  • http://acs.amazonaws.com/groups/global/AllUsers

A match of either of these string indicates the S3 bucket policy is made public.

Triage and response

  1. Determine if {{@userIdentity.arn}} is expected to perform the {{@evt.name}} API call.
  2. Contact the principal owner and see if this was an API call that was made by the user.
  3. If the API call was not made by the user, rotate the user credentials and investigate what other APIs were successfully accessed.
    • Rotate the credentials.
    • Investigate if the same credentials made other unauthorized API calls.

Changelog

7 April 2022 - Updated rule and signal message.