Skip to content
Back to skills

Cis Aws Foundations 3.1.2

ASecurity

Ensure MFA Delete is enabled on S3 buckets

  • 2,182 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
securitygobashawsapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add CyberStrikeus/CyberStrike --skill cis-aws-foundations-3.1.2 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cis Aws Foundations 3.1.2?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cis Aws Foundations 3.1.2
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cyberstrikeus-cis-aws-foundations-3-1-2/badge)](https://www.skillsdirectory.com/skills/cyberstrikeus-cis-aws-foundations-3-1-2)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

1. Login to the S3 console at https://console.aws.amazon.com/s3/.
2. Click the `check` box next to the name of the bucket you want to confirm.
3. In the window under `Properties`:
   - Confirm that Versioning is `Enabled`
   - Confirm that MFA Delete is `Enabled`

### Using AWS CLI

1. Run the `get-bucket-versioning` command:

```bash
aws s3api get-bucket-versioning --bucket my-bucket | grep MfaDelete
```

Example output:

```xml
<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.

### Using AWS CLI

1. Run the s3api `put-bucket-versioning` command:

```bash
aws s3api put-bucket-versioning \
  --bucket my-bucket \
  --versioning-configuration Status=Enabled,MFADelete=Enabled \
  --mfa "arn:aws:iam::<account-id>:mfa/root-account-mfa-device <MFA-code>"
```

## Default Value

By default, S3 bucket versioning is disabled, and MFA Delete is not enabled. Both must be explicitly configured, and MFA Delete can only be enabled using the root account via CLI or API.

## References

1. https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
2. https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
3. https://aws.amazon.com/blogs/security/securing-access-to-aws-using-mfa-part-3/
4. https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_lost-or-broken.html

## CIS Controls

| Controls Version | Control                                               | IG 1 | IG 2 | IG 3 |
| ---------------- | ----------------------------------------------------- | ---- | ---- | ---- |
| v8               | 3.3 Configure Data Access Control Lists               | x    | x    | x    |
| v8               | 6.5 Require MFA for Administrative Access             | x    | x    | x    |
| v7               | 14.6 Protect Information through Access Control Lists | x    | x    | x    |

## MITRE ATT&CK Mappings

| Techniques / Sub-techniques | Tactics | Mitigations |
| --------------------------- | ------- | ----------- |
| T1078.004                   | TA0040  | M1032       |

## Profile

Level 2 | Manual

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.