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, selectSecurity. - Under
Manage, selectAuthentication methods. - Under
Manage, selectPassword protection. - Ensure that
Lockout thresholdis set to10or 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
Manage, selectSecurity. - Under
Manage, selectAuthentication methods. - Under
Manage, selectPassword protection. - Set
Lockout thresholdto10or fewer. - Click
Save.
Using PowerShell
Connect-MgGraph -Scopes "Policy.ReadWrite.AuthenticationMethod"
Update-MgPolicyAuthenticationMethodsPolicy -PasswordProtection @{
LockoutThreshold = 10
LockoutDuration = "PT1M"
}
Using Azure CLI
az rest --method patch \
--url 'https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy' \
--headers 'Content-Type=application/json' \
--body '{"passwordProtection":{"lockoutThreshold":10,"lockoutDuration":"PT1M"}}'
Default Value
By default, Lockout threshold is set to 10.
References
CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|---|---|---|---|
| v8 | 4.10 Enforce Automatic Device Lockout on Portable End-User Devices | x | x |
Profile
Level 1 | Manual