| name | cis-aws-foundations-3.1.2 |
| description | Ensure MFA Delete is enabled on S3 buckets |
| category | cis-storage |
| version | 7.0.0 |
| author | cyberstrike-official |
| tags | ["cis","aws","storage","s3","mfa","delete-protection","versioning"] |
| cis_id | 3.1.2 |
| cis_benchmark | CIS AWS Foundations Benchmark v7.0.0 |
| tech_stack | ["aws"] |
| cwe_ids | [] |
| chains_with | ["cis-aws-foundations-3.1.1","cis-aws-foundations-3.1.3","cis-aws-foundations-3.1.4"] |
| prerequisites | [] |
| severity_boost | {} |
Ensure MFA Delete is enabled on S3 buckets
Description
Once MFA Delete is enabled on your sensitive and classified S3 bucket, it requires the user to provide two forms of authentication.
Rationale
Adding MFA delete to an S3 bucket requires additional authentication when you change the version state of your bucket or delete an object version, adding another layer of security in the event your security credentials are compromised or unauthorized access is granted.
Impact
Enabling MFA delete on an S3 bucket could require additional administrator oversight. Enabling MFA delete may impact other services that automate the creation and/or deletion of S3 buckets.
Audit Procedure
Using AWS Console
- Login to the S3 console at https://console.aws.amazon.com/s3/.
- Click the
check box next to the name of the bucket you want to confirm.
- In the window under
Properties:
- Confirm that Versioning is
Enabled
- Confirm that MFA Delete is
Enabled
Using AWS CLI
- Run the
get-bucket-versioning command:
aws s3api get-bucket-versioning --bucket my-bucket | grep MfaDelete
Example output:
<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Status>Enabled</Status>
<MfaDelete>Enabled</MfaDelete>
</VersioningConfiguration>
If the console or CLI output does not show that Versioning and MFA Delete are enabled, please refer to the remediation below.
Expected Result
Both Versioning and MFA Delete should be Enabled for the S3 bucket. The get-bucket-versioning command should return MfaDelete: Enabled.
Remediation
Using AWS Console
You cannot enable MFA Delete using the AWS Management Console; you must use the AWS CLI or API. You must use your 'root' account to enable MFA Delete on S3 buckets.