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