MySQL
TMA-MYSQL-7.4
Set 'default_password_lifetime' to Require a Yearly Password Change
MediumLevel 1Automatedmysql
Description
Password expiry provides passwords with a time bounded lifetime. Passes when default_password_lifetime is between 1 and 365 days. Runs mysql -NBe with the client defaults: put an administrative account in ~/.my.cnf (mode 0600) or a mysql_config_editor login path, not MYSQL_PWD (see 1.4/1.6).
How it is checked
Audit method: SQL query
sql_query
out=$(mysql -NBe "SELECT IF(@@global.default_password_lifetime BETWEEN 1 AND 365, 'compliant', 'noncompliant')" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
compliant
How it is fixed
Fix method: SQL statement
shell
mysql -e "SET PERSIST default_password_lifetime = 365"Properties
- Operating systems
- Any
- Tags
- mysqldatabaseauthenticationpassword
- Reference
- CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 7.4 Set 'default_password_lifetime' to Require a Yearly Password Change
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target mysql