Skip to main content
Version: 3.9.0

How to Find AWS S3 Buckets Missing Public Access Blocks

Public access policies may be applied to sensitive data buckets.

info

This security check is part of the CIS Amazon Web Services Benchmarks and is rated severity high.

Prerequisites​

This guide assumes that you have already installed and configured Resoto to collect your AWS resources.

Directions​

  1. Execute the following search command in Resoto Shell or Resoto UI:

    > search is(aws_s3_bucket) {account_setting: <-[0:]- is(aws_account) --> is(aws_s3_account_settings)} (bucket_public_access_block_configuration.block_public_acls==false and account_setting.reported.bucket_public_access_block_configuration.block_public_acls==false) or (bucket_public_access_block_configuration.ignore_public_acls==false and account_setting.reported.bucket_public_access_block_configuration.ignore_public_acls==false) or (bucket_public_access_block_configuration.block_public_policy==false and account_setting.reported.bucket_public_access_block_configuration.block_public_policy==false) or (bucket_public_access_block_configuration.restrict_public_buckets==false and account_setting.reported.bucket_public_access_block_configuration.restrict_public_buckets==false)
    ​kind=aws_s3_bucket, ..., region=resoto-poweruser
    ​kind=aws_s3_bucket, ..., account=poweruser-team
  2. Pipe the search command into the dump command:

    > search is(aws_s3_bucket) {account_setting: <-[0:]- is(aws_account) --> is(aws_s3_account_settings)} (bucket_public_access_block_configuration.block_public_acls==false and account_setting.reported.bucket_public_access_block_configuration.block_public_acls==false) or (bucket_public_access_block_configuration.ignore_public_acls==false and account_setting.reported.bucket_public_access_block_configuration.ignore_public_acls==false) or (bucket_public_access_block_configuration.block_public_policy==false and account_setting.reported.bucket_public_access_block_configuration.block_public_policy==false) or (bucket_public_access_block_configuration.restrict_public_buckets==false and account_setting.reported.bucket_public_access_block_configuration.restrict_public_buckets==false) | dump
    ​reported:
    ​ id: /aws/s3/123
    ​ name: some-name
    ​ ctime: '2022-12-05T22:53:14Z'
    ​ kind: aws_s3_bucket
    ​ age: 2mo28d

    The command output will list the details of all non-compliant aws_s3_bucket resources.

Remediation​

Enable Public Access Block at the account level to prevent the exposure of your data stored in S3.

note

Please refer to the AWS S3 documentation for details.

Further Reading​

Contact Us

Have feedback or need help? Don’t be shy—we’d love to hear from you!

 

 

 

Some Engineering Inc.