A razón de los muchachos del canal de SysAdmins de Cuba en Telegram, llego a este post, el cual es sólo un tip para asegurar un poco más nuestro MariaDB/MySQL. Este post será más corto que febrero[que por cierto, este año trae 29 días].
En un artículo en el blog de MariaDB, nos damos cuenta que el método de autenticación sufrió cambios, así como algunas mejoras, según ellos[yo no lo veo tan así], y permitía entrar al server localhost sin password de root. Algo raro, pero bueno, en el artículo lo explican más en detalle. A mi no me convenció…
El tip consiste en lo siguiente:
1- Instalar MariaDB/MySQL.
apt install mysql
o:
apt install mariadb
2- Ejecutar, justo después de instalar, un script llamado: mysql_secure_installation. El cual nos guiará por un asistente que configurará un poco mejor la instalación «raw» que nos da apt. Por favor, responder las preguntas lo más certeramente posible.
mysql_secure_installation
Nota: El tema del post viene pues aún seteandole password en este paso a root, se puede entrar local con un password erróneo. Cuando yo vi eso, por poco me da un colapso nervioso…
3- Nota personal: Recomiendo crear un usuario por la consola si desean usar el phpmyadmin, pues si usan root, tendrán
problemas de autenticación via web.
Método 1, más rápido:
# mysql -u root -p -e «CREATE USER ‘admin’@’%’ IDENTIFIED BY ‘Pass*123-+’;»
# mysql -u root -p -e «GRANT ALL PRIVILEGES ON *.* TO ‘admin’@’%’ WITH GRANT OPTION;»
# mysql -u root -p -e «FLUSH PRIVILEGES;»
# /etc/init.d/mysql restart
Inconveniente de este método: Queda registrado en el «history» de la consola, los comandos ejecutados así como el password en texto plano, no recomendado obviamente por temas de seguridad.
Método 2, lento pero seguro, hacer lo mismo, pero desde dentro de la consola del mariadb:
mysql -u root -p
CREATE USER ‘admin’@’%’ IDENTIFIED BY ‘Pass*123-+’;
GRANT ALL PRIVILEGES ON *.* TO ‘admin’@’%’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;
# /etc/init.d/mysql restart
4- Ejecutamos lo siguiente en la consola del sistema gestor de bases de datos[MariaDB/MySQL]:
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD(«Pass*987-+/»);
Un detalle acá, esta opción no la he probado en MySQL, pero en MariaDB funciona, imagino que sea igual, pues las diferencias son mínimas entre ambos gestores.
Entonces, ejecutando el paso 4, se resuelve el tema de seguridad que vimos en el paso 2 con el mysql_secure_installation.
Por el momento es todo. Como siempre digo, un abrazo y espero les sirva. Nos vemos en próximos posts.
Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0
Mira que pasé trabajo con eso cuando subí a 19.04 (o 18) y le cambiaron el plugin de auth al usuario root. Mejor ni digo la salvajada que yo hago…