# 1.9 Ensure IAM Password Policy Prevents Password Reuse (Automated)

- Source: https://support.icompaas.com/support/solutions/articles/62000233154-1-9-ensure-iam-password-policy-prevents-password-reuse-automated-
- Section: [Solutions](https://support.icompaas.com/support/solutions) › [AWS CIS V.4 Level 1 Benchmarks](https://support.icompaas.com/support/solutions/62000112671) › [CIS Control 1](https://support.icompaas.com/support/solutions/folders/62000169194)
- Last updated: 2026-05-29
- Publisher: iCompaas, Inc. (https://www.icompaas.com)

### **Profile Applicability:**

**Level 1**

## **Description:**

AWS IAM password policies can be configured to prevent users from reusing old passwords. It is recommended that IAM password policies remember the last 24 passwords to prevent reuse and increase account security.

## Rationale:

Preventing password reuse enhances security by ensuring that users cannot cycle back to previously used passwords that may have been exposed or compromised. This reduces the risk of brute force attacks, credential stuffing, and password guessing attempts.

## Impact:

Benefits of Preventing Password Reuse:

-   Ensures users create new and unique passwords.
-   Reduces risk of compromised passwords being reused.
-   Enhances security compliance (CIS, SOC 2, HIPAA, PCI-DSS).

**Potential Challenges:**

-   Users may struggle to create new passwords if they frequently change them.
-   Password management tools may be required to track unique passwords.

## Default Value:

-   AWS IAM password policies do not prevent password reuse by default.
    
-   Without a password history policy, users can reuse their previous passwords indefinitely.
    

Pre-Requisite:

AWS Account Access:

-   IAM user with Administrator privileges or IAM permissions to update password policies.
    

AWS CLI Installed (for automation purposes):

-   Ensure AWS CLI is configured with appropriate IAM permissions.
    

Organizational Approval:

-   Verify that IT/security teams agree to enforce password history restrictions.
    

# Remediation:

### Test Plan: Ensure that IAM password policies prevent reuse of the last 24 passwords.

## Using AWS Console:

1.  Login to AWS Console with IAM permissions.
    
2.  Navigate to IAM Service: [AWS IAM Console](https://console.aws.amazon.com/iam/).
    
3.  Click on Account Settings in the left navigation panel.
    

                          ![](https://support.icompaas.com/assets/kb/787572213515a156.png)

4.  Ensure "Prevent password reuse" is checked.                   ![](https://support.icompaas.com/assets/kb/9e06f3154cdc8b0e.png)                   
    
5.  Ensure "Number of passwords to remember" is set to 24.
    

                      ![](https://support.icompaas.com/assets/kb/cc56497ca4c5bc37.png)

6.  If the setting is not configured correctly, proceed with remediation.
    

## Using AWS CLI:

Run the following command to check the existing password policy:

 aws iam get-account-password-policy

Ensure the output contains:

 {

    "PasswordReusePrevention": 24

}

1.  If "PasswordReusePrevention" is less than 24, proceed with remediation.
    

## Implementation Steps:

**Using AWS Console**:

1.  Login to AWS Console with IAM permissions.
    
2.  Navigate to IAM Service: [AWS IAM Console](https://console.aws.amazon.com/iam/).
    
3.  Click Account Settings in the left panel.
    

                         ![](https://support.icompaas.com/assets/kb/6025fcc57c6294c0.png)

4.  Check "Prevent password reuse".
    

                        ![](https://support.icompaas.com/assets/kb/4c51327d10d6d630.png)

5.  Set "Number of passwords to remember" to 24.
    

                             ![](https://support.icompaas.com/assets/kb/aadf41cb19a3173e.png)

6.  Click Apply password policy to enforce the new settings.
    

                           ![](https://support.icompaas.com/assets/kb/d217d72afd43543f.png)

**Using AWS CLI:**

Run the following command to enforce a password reuse prevention policy:

aws iam update-account-password-policy --password-reuse-prevention 24

To further strengthen password security, combine it with other best practices:

aws iam update-account-password-policy \\
    --minimum-password-length 14 \\
    --require-uppercase-characters \\
    --require-lowercase-characters \\
    --require-numbers \\
    --require-symbols \\
    --password-reuse-prevention 24

This command ensures that IAM passwords:

-   Are at least 14 characters long.
-   Contain uppercase and lowercase letters.
-   Include numbers and special characters.
-   Prevent reuse of the last 24 passwords.

## Backout Plan:

If enforcing password reuse prevention causes issues:

-   Temporarily reduce the history requirement using the following command:

aws iam update-account-password-policy --password-reuse-prevention 10

-   Disable the password history policy if required:
    
     aws iam delete-account-password-policy
    

-   Warning: Deleting the password policy will remove all password complexity requirements.

## References:

-   [AWS IAM Password Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html)
    
-   [AWS Security Best Practices](https://docs.aws.amazon.com/IAM/latest/UserGuide/bestpractices.html#configure-strong-password-policy)
    

## CIS Controls Mapping:

<table style="border:none;border-collapse:collapse;font-family:&quot;Helvetica Neue&quot;"><colgroup style="font-family:&quot;Helvetica Neue&quot;"><col style="font-family:&quot;Helvetica Neue&quot;"><col style="font-family:&quot;Helvetica Neue&quot;"><col style="font-family:&quot;Helvetica Neue&quot;"></colgroup><tbody style="font-family:&quot;Helvetica Neue&quot;"><tr style="height:54.25pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:15.5686%"><p dir="ltr" style="line-height:1.38;text-align:left;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:700;font-family:&quot;Helvetica Neue&quot;">CIS Control Version</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:9.6403%"><p dir="ltr" style="line-height:1.38;text-align:left;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:700;font-family:&quot;Helvetica Neue&quot;">Control ID</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:74.7785%"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:700;font-family:&quot;Helvetica Neue&quot;">Control Description</span></span></span></p></td></tr><tr style="height:68.5pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:15.5686%"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-family:&quot;Helvetica Neue&quot;">CIS v8</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:9.6403%"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-family:&quot;Helvetica Neue&quot;">5.2</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:74.7785%"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><strong><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">Use unique passwords for all enterprise assets. Best practice implementation includes, at a minimum, an 8-character password for accounts using MFA and a 14-character password for accounts not using MFA.</span></span></span></strong></p></td></tr><tr style="height:54.25pt;font-family:&quot;Helvetica Neue&quot;"><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:15.5686%"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-family:&quot;Helvetica Neue&quot;">CIS v7</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px;width:9.6403%"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-family:&quot;Helvetica Neue&quot;">4.4</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;width:74.7785%"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:0pt;font-family:&quot;Helvetica Neue&quot;"><strong><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">Where multi-factor authentication is not supported (such as local administrator, root, or service accounts), accounts will use passwords that are unique to that system.</span></span></span></strong></p></td></tr></tbody></table>

## Related compliance guidance

- [SOC 2 compliance: a practical implementation guide for cloud-native SaaS teams](https://support.icompaas.com/compliance/soc-2-trust-services-criteria): Configuration checks like this one are the technical half of a SOC 2 / ISO 27001 programme — the guide shows where they fit, what else an auditor expects, and how to evidence them.
- [ISO/IEC 27001:2022 compliance: a practical implementation guide](https://support.icompaas.com/compliance/iso-27001-2022): ISO 27001 Annex A.8 (technological controls) is where cloud hardening evidence lands; the guide shows how to run the ISMS around it.
