Skip to main content

How to Find Unencrypted AWS S3 Buckets

Amazon S3 provides a way to set the default encryption behavior for an S3 bucket to ensure data is encrypted at rest.

info

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

Prerequisites​

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

Directions​

  1. Execute the following search command in Fix Inventory Shell:

    > search is(aws_s3_bucket) and not bucket_encryption_rules[*].sse_algorithm!=null
    ​kind=aws_s3_bucket, ..., region=fixinventory-poweruser
    ​kind=aws_s3_bucket, ..., account=poweruser-team
  2. Pipe the search command into the dump command:

    > search is(aws_s3_bucket) and not bucket_encryption_rules[*].sse_algorithm!=null | 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 encryption at rest for matching S3 buckets.

note

Please refer to the AWS S3 documentation for details.

Further Reading​