This rule ensures that S3 bucket default encryption is enabled with KMS for enhanced security measures.
Rule | S3 bucket default encryption should be enabled with KMS |
Framework | NIST 800-53 Revision 5 |
Severity | ✔ Medium |
Rule Description:
The S3 bucket default encryption should be enabled with the Key Management Service (KMS) for compliance with the NIST 800-53 Revision 5 security standard. This rule ensures that all objects stored in the S3 bucket are automatically encrypted using the KMS keys, providing an added layer of protection for sensitive data.
Remediation Steps:
1. Ensure KMS key exists:
a. Check if a suitable KMS key exists. If not, create a new one using the AWS Management Console or AWS CLI.
2. Enable default encryption on the S3 bucket:
a. Open the Amazon S3 console. b. Select the desired S3 bucket. c. Go to the Properties tab and click on the Default encryption option. d. Choose the KMS option as the default encryption type. e. Select the appropriate KMS key from the dropdown menu. f. Click Save to apply the changes.
Troubleshooting Steps (if default encryption is not enabled):
Check if the KMS key is properly configured:
Verify bucket policies:
Verify IAM permissions:
Ensure AWS CLI is up to date:
aws --version aws configure set aws_access_key_id YOUR_ACCESS_KEY aws configure set aws_secret_access_key YOUR_SECRET_ACCESS_KEY aws configure set region YOUR_REGION
Enable default encryption using AWS CLI:
aws s3api put-bucket-encryption --bucket <bucket-name> --server-side-encryption-configuration '{"Rules":[{"ApplyServerSideEncryptionByDefault":{"SSEAlgorithm":"aws:kms","KMSMasterKeyID":"<kms-key-id>"}}}]}'
Additional Notes: