turbot/steampipe-mod-aws-compliance

Control: 1.6 Ensure IAM password policy require at least one lowercase letter

Description

Password policies are, in part, used to enforce password complexity requirements. IAM password policies can be used to ensure password are comprised of different character sets. It is recommended that the password policy require at least one lowercase letter.

Setting a password complexity policy increases account resiliency against brute force login attempts.

Remediation

Perform the following to set the password policy as prescribed:

Via the AWS Console

  1. Login to AWS Console (with appropriate permissions to View Identity Access Management Account Settings).
  2. Go to IAM Service on the AWS Console.
  3. Click on Account Settings on the Left Pane.
  4. Check "Requires at least one lowercase letter".
  5. Click "Apply password policy".

Via CLI

aws iam update-account-password-policy --require-lowercase-characters

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_6

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run aws_compliance.control.cis_v120_1_6 --share

SQL

This control uses a named query:

select
'arn:' || a.partition || ':::' || a.account_id as resource,
case
when require_lowercase_characters then 'ok'
else 'alarm'
end as status,
case
when minimum_password_length is null then 'No password policy set.'
when require_lowercase_characters then 'Lowercase character required.'
else 'Lowercase character not required.'
end as reason
, a.account_id
from
aws_account as a
left join aws_iam_account_password_policy as pol on a.account_id = pol.account_id;

Tags