Ensure at-rest server side encryption (SSE) is enabled using default encryption keys for AWS S3 Buckets - Terraform Version 1.x

HIGH

Description

AWS S3 Buckets do not have at-rest server side encryption enabled to protect sensitive data.

Remediation

In AWS Console -

  1. Sign in to the AWS console and go to the S3 console.
  2. Choose the bucket you wish to edit.
  3. Select the Properties tab.
  4. Under Default encryption, select Edit.
  5. For key type, select Amazon S3-managed keys (SSE-S3).
  6. Select Save changes.

In Terraform -
For current AWS Provider versions:

  1. For each aws_s3_bucket resource, add an aws_s3_bucket_server_side_encryption_configuration resource.
  2. Set the bucket field to the aws_s3_bucket for which this policy should be applied.
  3. Create a rule block and set the rule.sse_algorithm field to AES256.

For AWS Provider versions prior to 3.x (deprecated):

  1. In the aws_s3_bucket resource, add a server_side_encryption_configuration block.
  2. Set the server_side_encryption_configuration.sse_algorithm field to AES256.

References:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#server_side_encryption_configuration
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration

Policy Details

Rule Reference ID: S3_AWS_0002
CSP: AWS
Remediation Available: Yes
Resource: aws_s3_bucket
Resource Category: Storage
Resource Type: S3 Bucket

Frameworks