-
Notifications
You must be signed in to change notification settings - Fork 2
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
S3 buckets should have server-side encryption enabled #4715
Comments
Some of our buckets contain managed-access metadata. The shared config bucket contains sensitive TF state. Enabling encryption at rest with AWS-managed keys should be relatively straight forward. There might be head aches with migration of existing objects. |
@hannes-ucsc: "Spike to investigate if existing objects are automatically encrypted when encryption is enabled on a bucket. If not this would become much more complicated." |
S3-controls.html#s3-4
Which indicates that server side encryption has been automatically enforced by S3. This was confirmed by the S3.4 control in Security Hub showing as passing in the dev account. This is also true in the anvildev and prod accounts. However, an additional configuration to encrypt objects via a KMS managed key is available. For this configuration existing objects need to be imported with the new encryption key.
|
We enabled Bucket inventory to confirm whether existing objects are encrypted. We'll re-triage to examine said inventory. |
There wasn't any concrete information regarding the missing header row, however one might be able to make an inference. The selected CSV format in the shared bucket inventory config has a note that reads…
Furthermore, in the same user guide, section Converting empty version ID strings to null strings step nine reads …
This lead me to the assumption that the CSV inventory that AWS S3 generates is compatible to use with Batch Operations without having to manually remove the header row for the report to be used with Batch Operations. Also note that the inventory report also produces a dated name folder which contains a For the missing fields described in Amazon S3 Inventory list one can select more fields to be included in the inventory by checking the desired fields in |
@hannes-ucsc: "We enabled the additional columns, we'll discuss when Abraham is back." |
@hannes-ucsc: "The inventory on the shared bucket revealed that all versioned objects in the bucket are encrypted. The only rows that had a blank encryption status were the IsDeleteMarker, which is expected. The reason that all versions, including versions from previous years are already encrypted is that we migrated the shared bucket to a renamed bucket in 2023. I currently have a change on a branch enabling inventory on all buckets, once this lands can reexamine the inventories of all buckets in order to find any objects that we would have to delete or encrypt." |
The inventory is now enabled everywhere. Assignee to check it all buckets and all object for encryption status. Check the finding from the description. No objects should be unencrypted and the finding should be fixed. |
The Security Hub rule S3.4 is passing in all four accounts.
*Note: The objects in the "logs" and "trail" buckets were not checked due to the large number of objects they contain.
devprodanvildevanvilprod |
Assignee to consult bucket inventory instead of custom script to determine encryption status |
Confirmed all S3 objects in all accounts are encrypted. Note: There were some unencrypted entries listed in the bucket inventory, however all of these rows also had the Full list of inventories processed:
|
@hannes-ucsc: "Assignee to file ticket against data browser and/or portal repositories about the buckets that still have unencrypted objects. They all seem to be owned by Clever Canary. After ticket has been created, please start a conversation about this with Dave in our Slack channel." |
|
@hannes-ucsc: "There are no unencrypted buckets in |
https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-4
The text was updated successfully, but these errors were encountered: