TMAegisBeta
更多 mysql 規則

MySQL

TMA-MYSQL-7.3

Ensure Passwords are Set for All MySQL Accounts

嚴重等級 1自動化mysql

說明

Blank passwords allow a user to login without using a password. 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 COUNT(*) FROM mysql.user WHERE (plugin IN ('sha256_password', 'caching_sha2_password') AND LENGTH(authentication_string) = 0) OR (plugin IN ('mysql_native_password', 'mysql_old_password', '') AND (authentication_string IS NULL OR LENGTH(authentication_string) = 0))" 2>/dev/null) || exit 1; printf '%s\n' "$out"
預期輸出
0

修補方式

修補方法: 操作指南或基礎設施修補檔

ALTER USER <user>@<host> IDENTIFIED BY RANDOM PASSWORD PASSWORD EXPIRE; for each account returned, and hand the temporary password over securely.

屬性

作業系統
不限
標籤
mysqldatabaseauthentication
參考資料
CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 7.3 Ensure Passwords are Set for All MySQL Accounts

檢查此主機

請在您有權稽核的機器上執行此指令。掃描為唯讀操作。

shell
tmaegis scan --target mysql