Big Sur - Require Passwords Contain a Minimum of One Uppercase Character

Information

The macOS _MUST_ be configured to require at least one uppercase character be used when a password is created.

This rule enforces password complexity by requiring users to set passwords that are less vulnerable to malicious users.

NOTE: The guidance for password based authentication in NIST 800-53 (Rev 5) and NIST 800-63B state that complexity rules should be organizationally defined. The values defined are based off of common complexity values. But your organization may define its own password complexity rules.

Solution

This setting may be enforced using local policy or by a directory service.

To set local policy to require at least 1 lowercase letter, edit the current password policy to contain the following <dict> within the "policyCategoryPasswordContent":

[source,xml]
----
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches &apos;(.*[A-Z].*){1,}+&apos;</string>
<key>policyIdentifier</key>
<string>Must have at least 1 uppercase letter</string>
<key>policyParameters</key>
<dict>
<key>minimumAlphaCharactersUpperCase</key>
<integer>1</integer>
</dict>
</dict>
----
After saving the file and exiting to the command prompt, run the following command to load the new policy file, substituting the path to the file in place of "$pwpolicy_file".

[source,bash]
----
/usr/bin/pwpolicy setaccountpolicies $pwpolicy_file
----
NOTE: See the password policy supplemental on more information on how to implement password policies on macOS.

See Also

https://github.com/usnistgov/macos_security

Item Details

Category: IDENTIFICATION AND AUTHENTICATION

References: 800-53|IA-5, 800-53|IA-5(1), 800-53|IA-5(1)(a), CCE|CCE-85415-8, CCI|CCI-000192

Plugin: Unix

Control ID: 88e323d8cc83dcbe2c8edf9015a39c1a456415cf6062ac565d7a899dda9d3cda