Skip to main content
Version: 2.3.0

CIS.M365.1.3.1 - (L1) Ensure the 'Password expiration policy' is set to 'Set passwords to never expire (recommended)'

Overviewโ€‹

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.

Rationaleโ€‹

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.

Impactโ€‹

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.

Remediation actionโ€‹

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.
PowerShellโ€‹
  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

Test Metadataโ€‹

FieldValue
Test IDCIS.M365.1.3.1
SeverityHigh
SuiteCIS
CategoryCIS E3 Level 1
PowerShell testTest-MtCisPasswordExpiry
TagsCIS, CIS E3, CIS E3 Level 1, CIS M365 v7.0.0, CIS.M365.1.3.1, L1

Sourceโ€‹

  • Pester test: tests/cis/Test-MtCisPasswordExpiry.Tests.ps1
  • PowerShell source: powershell/public/cis/Test-MtCisPasswordExpiry.ps1