Control: 5.8 Ensure that a 'Custom banned password list' is set to 'Enforce'
Description
Microsoft Azure applies a default global banned password list to all user and admin accounts that are created and managed directly in Microsoft Entra ID.
The Microsoft Entra password policy does not apply to user accounts that are synchronized from an on-premises Active Directory environment, unless Microsoft Entra ID Connect is used and EnforceCloudPasswordPolicyForPasswordSyncedUsers is enabled.
Review the Default Value section for more detail on the password policy. For increased password security, a custom banned password list is recommended.
Remediation
Remediate from Azure Portal
- From Azure Home select the Portal Menu.
- Select
Microsoft Entra ID. - Under
Manage, selectSecurity. - Under
Manage, selectAuthentication methods. - Under
Manage, selectPassword protection. - Set the
Enforce custom listoption toYes. - Click in the
Custom banned password listtext box. - Add a list of words, one per line, to prevent users from using in passwords.
- Click
Save.
Default Value
By default the custom banned password list is not 'Enabled'. Organization-specific terms can be added to the custom banned password list, such as the following examples:
- Brand names
- Product names
- Locations, such as company headquarters
- Company-specific terms
- Abbreviations that have specific company meaning
- Months and weekdays with your company's local languages
The default global banned password list is already applied to your resources which applies the following basic requirements:
Characters allowed:
- Uppercase characters (A - Z)
- Lowercase characters (a - z)
- Numbers (0 - 9)
- Symbols:
- @ # $ % ^ & * - _ ! + = [ ] { } | \ : ' , . ? / ` ~ " ( ) ; < >
- blank space
Characters not allowed:
- Unicode characters
Password length:
Passwords require:
- A minimum of eight characters
- A maximum of 256 characters
Password complexity:
Passwords require three out of four of the following categories:
- Uppercase characters
- Lowercase characters
- Numbers
- Symbols
Note: Password complexity check isn't required for Education tenants.
Password not recently used:
- When a user changes or resets their password, the new password can't be the same as the current or recently used passwords.
- Password isn't banned by Entra ID Password Protection.
- The password can't be on the global list of banned passwords for Azure AD Password Protection, or on the customizable list of banned passwords specific to your organization.
Evaluation
New passwords are evaluated for strength and complexity by validating against the combined list of terms from the global and custom banned password lists. Even if a user's password contains a banned password, the password may be accepted if the overall password is otherwise strong enough.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.cis_v500_5_8Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.cis_v500_5_8 --shareSQL
This control uses a named query:
with distinct_tenant as ( select distinct tenant_id, display_name, subscription_id, _ctx from azure_tenant)select id as resource, case when (value)::bool then 'ok' else 'alarm' end as status, case when (value)::bool then t.display_name || ' custom banned password list is enforced.' else t.display_name || ' custom banned password list is not enforced' end as reason, t.tenant_id from distinct_tenant as t, azuread_directory_settingwhere name = 'EnableBannedPasswordCheck';