Skip to content
Sponsor
3.0 preview2.3.0 stable

These docs describe the preview. Pick the version you run and every page marks what it doesn't have yet. Get the preview →
Maester 2.x docs (archived) →

(L1) Ensure the 'Password expiration policy' is set to 'Set passwords to never expire (recommended)'

CIS.M365.1.3.1MediumMicrosoft 365Organization settings

Part of CIS · Microsoft 365 · Organization settings · All checks

Run this check
Invoke-Maester -TestId CIS.M365.1.3.1

1.3.1 (L1) Ensure the ‘Password expiration policy’ is set to ‘Set passwords to never expire (recommended)’

Microsoft cloud-only accounts have a pre-defined password policy that cannot be changed. The only items that can change are the number of days until a password expires and whether or not passwords expire at all.

Organizations such as NIST and Microsoft recommend against arbitrarily requiring users to change their passwords after a set period, unless there is evidence of compromise or the user has forgotten the password. This guidance applies even to single-factor (password-only) scenarios, as forced, periodic changes often lead to weaker passwords and reduced security. Additionally, this Benchmark advises implementing multi-factor authentication (MFA) for all accounts, which further diminishes the value of password expiration policies. Long-lived passwords can be further strengthened by enabling additional password protection features in Entra ID.

When setting passwords not to expire it is important to have other controls in place to supplement this setting. See below for related recommendations and user guidance.

  • Ban common passwords.
  • Educate users to not reuse organization passwords anywhere else.
  • Enforce Multi-Factor Authentication registration for all users.

To set Office 365 passwords are set to never expire:

  1. Navigate to Microsoft 365 admin center.
  2. Click to expand Settings select Org Settings.
  3. Click on Security & privacy.
  4. Check the Set passwords to never expire (recommended) box.
  5. Click Save.
  1. Connect to the Microsoft Graph service using Connect-MgGraph -Scopes "Domain.ReadWrite.All".
  2. Run the following Microsoft Graph PowerShell command:
Update-MgDomain -DomainId <Domain> -PasswordValidityPeriodInDays 2147483647
Every attribute of this check
FieldValue
Test IDCIS.M365.1.3.1
SeverityMedium
SuiteCIS
ProductMicrosoft 365
Related productsEntra ID
FeatureOrganization settings
AreaAuthentication
Resource typeDomain
User impactLow
Implementation costLow
MITRE ATT&CKNone
Supports benchmarkCIS Microsoft 365 Foundations Benchmark (version 7.0.0), requirement 1.3.1
Benchmark levelL1
Benchmark profilesE3 Level 1
Supports controlscis-m365:1.3.1, nist-800-53-r5:IA-5(1)
PowerShell testTest-MtCisPasswordExpiry
ServicesGraph