pwpolicy_history_enforce Prohibit Password Reuse for a Minimum of $ODV Generations
All changes in this version
Title
Prohibit Password Reuse for a Minimum of $ODV Generations
Control
/usr/bin/pwpolicy -getaccountpolicies 2> /dev/null | /usr/bin/tail +2 | /usr/bin/xmllint --xpath '//dict/key[text()="policyAttributePasswordHistoryDepth"]/following-sibling::*[1]/text()' - | /usr/bin/awk '{ if ($1 >= $ODV ) {print "pass"} else {print "fail"}}' | /usr/bin/uniq
Discussion
The macOS _MUST_ be configured to enforce a password history of at least $ODV previous passwords when a password is created.
This rule ensures that users are not allowed to reuse a password that was used in any of the $ODV previous password generations.
Limiting password reuse protects against malicious users attempting to gain access to the system via brute-force hacking methods.
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.
Related controls
ia-5.1
Fix
This is implemented by a Configuration Profile.