Descripción: Es posible conectarse al servidor de base de datos MySQL utilizando una cuenta sin contraseña. Esto puede permitir que un atacante lance más ataques contra la base de datos.
Factor de Riesgo: Alto
Valor CVSS Base: 7.5
CVE: CVE-2002-1809, CVE-2004-1532
Solución:
Se debe deshabilitar, eliminar o cambiar las contraseñas de las cuentas afectadas
1. Conectarse al servidor MySQL
En una terminal conectarse a MySQL con el siguiente comando:
mysql -u root -p
Posteriormente ingrese la contraseña
2. Liste todas las cuentas de usuario
Con el siguiente comando es posible listar todas las cuentas de usuario en MySQL:
SELECT user, host FROM mysql.user;
Identifique las cuentas predeterminadas o no utilizadas, resultantes del comando anterior, como ‘root’,’admin’, ‘test’, ‘mysql’, ‘jboss’, etc
3. Eliminar cuentas predeterminadas o no utilizadas
Si se encuentran cuentas que no son necesarias, se deben eliminar utilizando el siguiente comando:
DROP USER 'nombre_de_usuario'@'host'; para eliminar el usuario jboss que esta en la IP. 192.168.1.100, el comando seria:
DROP USER 'jboss'@'192.168.1.100';
4. Cambiar contraseñas de cuentas predeterminadas
Para cuentas como ‘root’ u otras críticas deben tener contraseñas fuertes y unicas:
ALTER USER 'root'@'192.168.1.100' IDENTIFIED BY 'nueva_contraseña_segura';, se debe realizar el procedimiento para las otras cuentas predeterminadas que se requieran.
También se recomienda restringir el acceso remoto innecesario; para asegurar que las cuentas críticas no acepten conexiones remotas, con el siguiente comando:
UPDATE mysql.user SET host='localhost' WHERE user='root' AND host='%';
FLUSH PRIVILEGES;
Con esto se impide que el usuario ‘root’ pueda acceder a la base de datos desde cualquier host remoto
Nota. Se recomienda usar plugins de autenticación más seguros como mysql_native_password o caching_sha2_password.
Referencias:
Remediacion
