Contraseña de root de MySql almacenada en .my.cnf

5

Antes de iniciar un proyecto, reinicio la contraseña de la raíz mysql del servidor. El colo que está albergando el proyecto quiere que la contraseña de la base de datos raíz del servidor se almacene en el archivo .my.cnf, en texto plano, con los permisos establecidos en 400. Simplemente no puedo ver cómo es una buena práctica de seguridad, pero dijo que Era algo que se estaba haciendo comúnmente.

¿Es seguro almacenar la contraseña de la base de datos raíz en texto sin formato en el archivo .my.cnf?

    
pregunta Joseph at SwiftOtter 12.11.2014 - 22:48
fuente

2 respuestas

8

Por supuesto, cualquier contraseña que se almacene en texto sin formato es una mala idea, pero la ubicación del archivo es en /etc/my.cnf, por lo que si un usuario remoto tuviera acceso a ese archivo, creo que habría más cosas de las que preocuparse. acerca de tener su contraseña mysql robada. Por otra parte, si no es el único que tiene acceso físico al sistema, entonces todavía está a salvo de que otros lean su archivo, ya que sus permisos de archivos son 400, suponiendo que no haya privilegios ampliados en el sistema. Investigué un poco acerca de tener su contraseña en el archivo my.cnf y es cierto que en realidad es una práctica bastante común.

Por cierto, debes asegurarte de no editar el archivo que se encuentra en /etc/my.cnf, que el servidor mysql usa para arrancar, porque si lo haces, cualquiera puede usar el servidor con TODOS los privilegios y TODOS. Bases de datos sin contraseña. Entonces, en lugar de crear un archivo en su directorio local / raíz, llámelo my.cnf y asegúrese de que solo root pueda leerlo (por supuesto)

La forma más fácil de hacer esto es usar una sección del cliente del archivo ~ / .my.cnf, y agregar las credenciales dentro de ese archivo.

[client] 
user=root
password=somepassword

Como dije antes, asegúrate de que el archivo SÓLO sea legible por root. -

    
respondido por el eof0100 13.11.2014 - 05:23
fuente
1

Lo siento, pero si me dijeran que querían que yo escribiera el texto de la contraseña de mi base de datos, diría "no". Ahora he escuchado en los servidores de cPanel que ejecutan phpMyAdmin usar ese archivo para instalar y desinstalar el Software del sitio, lo que creo que entiendo, todavía creo que se puede hacer mejor. Nunca he colocado mi contraseña de base de datos en el archivo .my.cnf, eso es solo pedir un ataque LFI simple.

En mi opinión, no es seguro, incluso con los permisos establecidos en 600. chmod 600 .my.cnf

Editar: pensé en esto más y puedo ver que este podría ser un método aceptable para invocar a un cliente desde una secuencia de comandos que se ejecuta de forma no interactiva, no hay oportunidad de ingresar la contraseña desde el teclado. En algunos sistemas, la primera línea del script se lee e interpreta (incorrectamente) como su contraseña.

Pero de manera desafiante, mantenga ese archivo configurado en 600. independientemente, sigo sintiendo que es una mala práctica.

    
respondido por el Cameron Verotti 13.11.2014 - 04:25
fuente

Lea otras preguntas en las etiquetas