| name | cis-azure-foundations-5.6 |
| description | Ensure account 'Lockout threshold' is less than or equal to '10' |
| category | cis-azure-foundations |
| version | 5.0.0 |
| author | cyberstrike-official |
| tags | ["cis","azure","identity","account-lockout","brute-force","password-protection"] |
| cis_id | 5.6 |
| cis_benchmark | CIS Microsoft Azure Foundations Benchmark v5.0.0 |
| tech_stack | ["azure"] |
| cwe_ids | [] |
| chains_with | ["cis-azure-foundations-5.7","cis-azure-foundations-5.8"] |
| prerequisites | [] |
| severity_boost | {} |
Ensure account 'Lockout threshold' is less than or equal to '10'
Description
The account lockout threshold determines how many failed login attempts are permitted prior to placing the account in a locked-out state and initiating a variable lockout duration.
Rationale
Account lockout is a method of protecting against brute-force and password spray attacks. Once the lockout threshold has been exceeded, the account enters a locked-out state which prevents all login attempts for a variable duration. The lockout in combination with a reasonable duration reduces the total number of failed login attempts that a malicious actor can execute in a given period of time.
Impact
If account lockout threshold is set too low (less than 3), users may experience frequent lockout events and the resulting security alerts may contribute to alert fatigue. If account lockout threshold is set too high (more than 10), malicious actors can programmatically execute more password attempts in a given period of time.
Audit Procedure
Using Azure Portal
- From Azure Home select the Portal Menu.
- Select
Microsoft Entra ID.
- Under
Manage, select Security.
- Under
Manage, select Authentication methods.
- Under
Manage, select Password protection.
- Ensure that
Lockout threshold is set to 10 or fewer.
Using PowerShell
Connect-MgGraph -Scopes "Policy.ReadWrite.AuthenticationMethod"
$p = (Get-MgPolicyAuthenticationMethodsPolicy).PasswordProtection
if ($p.LockoutThreshold -gt 10) {
Update-MgPolicyAuthenticationMethodsPolicy -BodyParameter @{
passwordProtection = @{
lockoutThreshold = 10
lockoutDuration = [Math]::Max($p.LockoutDuration, 60)
}
}
}
Disconnect-MgGraph
Using Azure CLI
az rest --method get \
--url 'https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy' \
--query 'passwordProtection.lockoutThreshold'
Expected Result
Lockout threshold should be 10 or fewer.
Remediation
Using Azure Portal
- From Azure Home select the Portal Menu.
- Select
Microsoft Entra ID.
- Under , select .