TMAegis
More rules for cos

TMA-COS-5.3.1.1

Ensure password expiration is 365 days or less

HighLevel 2Automatedcos

Description

The PASS_MAX_DAYS parameter in /etc/login.defs allows an administrator to force passwords to expire once they reach a defined age. It is recommended that the PASS_MAX_DAYS parameter be set to less than or equal to 365 days. The window of opportunity for an attacker to leverage compromised credentials or successfully compromise credentials via an online brute force attack is limited by the age of the password. Therefore, reducing the maximum age of a password also reduces an attacker's window of opportunity.

How it is checked

Audit method: Shell command

shell
bad=0; [ -r /etc/shadow ] || exit 1; v=$(awk '/^[[:space:]]*PASS_MAX_DAYS[[:space:]]/{print $2}' /etc/login.defs | tail -1); [ -n "$v" ] && [ "$v" -ge 1 ] && [ "$v" -le 365 ] || bad=1; for x in $(awk -F: '$2 ~ /^[^*!xX]/ && $2 != "" {print ($5==""?"99999":$5)}' /etc/shadow); do [ "$x" -ge 1 ] && [ "$x" -le 365 ] || bad=1; done; [ $bad -eq 0 ] && echo compliant || echo noncompliant
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Set the PASS_MAX_DAYS parameter to conform to site policy in /etc/login.defs : PASS_MAX_DAYS 365 Modify user parameters for all users with a password set to match: # chage --maxdays 365 <user>

Properties

Operating systems
Any
Tags
authcontainer-optimized-oscos
Reference
CIS Google Container-Optimized OS Benchmark v1.2.0 - 5.3.1.1 Ensure password expiration is 365 days or less

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target cos --level 2