MariaDB
TMA-MARIADB-7.3
Ensure strong authentication is utilized for all accounts
Descrição
The mysql_native_password and mysql_old_password plugins utilize weak cryptography and/or weak password routines. In particular, the mysql_old_password plugin utilizes cracked password routines and is subject to Pass-the-Hash attacks. The mysql_native_password plugin relies on the Secure Hash Algorithm 1 (SHA-1) algorithm. Counts accounts still using mysql_native_password/mysql_old_password/no plugin, apart from root and mysql with an invalid password string. Runs mariadb -NBe with the client defaults: as root on the server the unix_socket plugin usually authenticates; otherwise put an administrative account in ~/.my.cnf (mode 0600), not MYSQL_PWD (see 1.4/1.6).
Como é verificado
Método de auditoria: Consulta SQL
out=$(mariadb -NBe "SELECT COUNT(*) FROM mysql.user WHERE plugin IN ('mysql_native_password', 'mysql_old_password', '') AND NOT (User = 'root' AND authentication_string = 'invalid') AND NOT (User = 'mysql' AND authentication_string = 'invalid')" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Saída esperada
0
Como é corrigido
Método de correção: Orientação ou patch de infraestrutura
ALTER USER 'root'@'localhost' IDENTIFIED VIA unix_socket; SET PASSWORD FOR 'mysql'@'localhost' = 'invalid'; SET PASSWORD FOR 'mariadb.sys'@'localhost' = 'invalid'; and move every other listed account to ed25519, gssapi, pam or unix_socket (ALTER USER ... IDENTIFIED VIA ed25519 USING PASSWORD('...')).
Propriedades
- Sistemas operacionais
- Qualquer
- Tags
- mariadbdatabaseauthentication
- Referência
- CIS MariaDB 10.11 Benchmark v1.0.0 - 7.3 Ensure strong authentication is utilized for all accounts
Verificar este host
Execute isto em uma máquina que você tenha permissão para auditar. A varredura é somente leitura.
tmaegis scan --target mariadb