Control: 1.11 Ensure IAM password policy expires passwords within 90 days or less
Description
IAM password policies can require passwords to be rotated or expired after a given number of days. It is recommended that the password policy expire passwords after 90 days or less.
Reducing the password lifetime increases account resiliency against brute force login attempts. Additionally, requiring regular password changes help in the following scenarios:
- Passwords can be stolen or compromised sometimes without your knowledge. This can happen via a system compromise, software vulnerability, or internal threat.
- Certain corporate and government web filters or proxy servers have the ability to intercept and record traffic even if it's encrypted.
- Many people use the same password for many systems such as work, email, and personal.
- Compromised end user workstations might have a keystroke logger.
Remediation
Perform the following to set the password policy as prescribed:
Via AWS Console:
- Login to AWS Console (with appropriate permissions to View Identity Access Management Account Settings).
- Go to IAM Service on the AWS Console.
- Click on Account Settings on the Left Pane.
- Check "Enable password expiration".
- Set "Password expiration period (in days):" to 90 or less.
Via CLI
aws iam update-account-password-policy --max-password-age 90
Note: All commands starting with "aws iam update-account-password-policy" can be combined into a single command.
Usage
Run the control in your terminal:
powerpipe control run aws_compliance.control.cis_v120_1_11
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.cis_v120_1_11 --share
SQL
This control uses a named query:
iam_password_policy_expire_90