TMAegisBeta
更多 mysql 规则

MySQL

TMA-MYSQL-7.1

Ensure your authentication_policy is Set to a Secure Option

高级别 1自动化mysql

说明

Define your authentication policy by setting the mysql system variable authentication_policy. The default value of authentication_policy is '*,,'. This means that factor 1 is required in account definitions and can use any authentication plugin (with caching_sha2_password being the default), and that factors 2 and 3 are optional and each can use any authentication plugin. 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).

检查方式

审计方法: SQL 查询

sql_query
out=$(mysql -NBe "SELECT IF(@@global.authentication_policy NOT LIKE '%mysql_native_password%', 'compliant', 'noncompliant')" 2>/dev/null) || exit 1; printf '%s\n' "$out"
预期输出
compliant

修复方式

修复方法: 操作指南或基础设施补丁

Set authentication_policy (e.g. '*,,' or 'caching_sha2_password,,') without mysql_native_password, then migrate accounts: SELECT user, host FROM mysql.user WHERE plugin = 'mysql_native_password'; ALTER USER <user> IDENTIFIED WITH caching_sha2_password BY RANDOM PASSWORD PASSWORD EXPIRE;

属性

操作系统
任意
标签
mysqldatabaseauthentication
参考
CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 7.1 Ensure your authentication_policy is Set to a Secure Option

检查本机

请在您有权审计的机器上运行此命令。扫描为只读操作。

shell
tmaegis scan --target mysql