Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow restricting the use of SSE-C encryption #745

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ab77
Copy link
Contributor

@ab77 ab77 commented Jan 21, 2025

See, https://aws.amazon.com/blogs/security/preventing-unintended-encryption-of-amazon-s3-objects/

(Override all values in parentheses)

(Run yamllint folder/template.yaml, cfn-lint -i E1019 E3002 E2520 -t folder/template.yaml, and aws cloudformation validate-template --template-body file://folder/template.yaml before you open a PR)

(Do not include multiple changes in one PR. Open additional PRs instead.)


Allow blocking the use of SSE-C encryption as per AWS security blog to prevent unintended encryption of Amazon S3 objects (ransom attacks).

The linter suggestion can be sorted in a separate PR:

$ cfn-lint -i E1019 E3002 E2520 -t  state/s3.yaml
W3045 Consider using AWS::S3::BucketPolicy instead of AccessControl
state/s3.yaml:176:7

@michaelwittig
Copy link
Contributor

Thanks @ab77 I wonder if we could go one step further and always block this.
We configure the bucket's default encryption to either use SSE-S3 or SSE-KMS. @andreaswittig what do you think?
If we don't go for a deny by default I would recommend to rename the parameter RestrictCustomerKeys to e.g. BlockSSEC or at least RestrictCustomerProvidedKeys to not confuse users with KMS customer managed keys.

@ab77 ab77 force-pushed the ab77/restrict-ssec branch from ad9ea79 to dbff7a8 Compare January 21, 2025 18:34
@ab77
Copy link
Contributor Author

ab77 commented Jan 21, 2025

Thanks @ab77 I wonder if we could go one step further and always block this. We configure the bucket's default encryption to either use SSE-S3 or SSE-KMS. @andreaswittig what do you think? If we don't go for a deny by default I would recommend to rename the parameter RestrictCustomerKeys to e.g. BlockSSEC or at least RestrictCustomerProvidedKeys to not confuse users with KMS customer managed keys.

I am OK with either approach, we currently don't have a use-case for enabling SSE-C.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants