Usando phpmyadmin en una configuración de prueba de wamp local, y además de los estados del título, hay 3 usuarios marcados como user = ANY, password = NO, como:
USER | HOST | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any | % | No | USAGE | No
Any | Local | No | USAGE | No
Any | Domain | No | USAGE | No
-----+---------+----------+-------------+------
Ninguno de los 3 usuarios tiene privilegios específicos para ninguna tabla, por lo que parece que no pueden hacer mucho. ¿Se trata de algún tipo de medida de seguridad genérica, para indicar explícitamente que 'Cualquier' usuario que no pertenece a ningún otro grupo de usuarios no tiene privilegios?
mysql
phpmyadmin
Chris
fuente
fuente
Respuestas:
En realidad, esas tres cuentas de usuario son bastante peligrosas. Representan una gran amenaza para probar las bases de datos.
Desafortunadamente, mysql viene con acceso completo a las bases de datos de prueba. ¿Cómo puedes encontrarlos?
Ejecute esta consulta:
Tras la instalación de mysql, verá dos filas que dan acceso completo a cualquier base de datos llamada 'prueba' o cuyos primeros 5 caracteres son 'prueba_'.
Por qué es esto un problema ???
Intenta ejecutar este comando:
Habrás conectado la base de datos de prueba sin una contraseña.
Ahora, cree una tabla y cárguela con una fila:
OK, gran cosa. ¿Podrías duplicar esta mesa en tamaño 30 veces?
Qué sacas ?? Una mesa con 1,073,741,824 filas. Fácilmente, 4GB +.
Imagina crear una tabla de cualquier tamaño. ¿Qué tal crear un montón de tablas en la base de datos de prueba y acceder libremente a ellas a voluntad?
Lo mejor que puede hacer en estas circunstancias es ejecutar esta consulta:
y reinicie mysql. Entonces, esas tres cuentas quedarán correctamente inoperantes.
Darle una oportunidad !!!
ACTUALIZACIÓN 2011-09-12 10:00 EDT
Esta eliminación:
es justo lo que necesita para una instalación inicial. Sin embargo, si ya tiene usuarios establecidos, puede ejecutar esto en su lugar:
Esto eliminará los dos permisos de DB específicos.
Como mencioné en mi respuesta, los tres permisos son muy peligrosos para las bases de datos de prueba. Ejecutar este DELETE neutralizará esas cuentas por tener derechos completos para probar bases de datos.
fuente
El peligro de mantener estas cuentas anónimas ya se ha explicado muy bien.
El manual proporciona una lista de verificación exhaustiva de los pasos a seguir para " Asegurar las cuentas MySQL iniciales ".
En particular, la sección "Asignación de contraseñas de cuentas anónimas" aconseja eliminar estas cuentas.
Además, el capítulo "Protección de bases de datos de prueba" aconseja:
En particular, en sistemas que no son Windows, se recomienda ejecutar el
mysql_secure_installation
script. El instalador de Windows creo que ofrece varios perfiles de instalación. Algunos de ellos deshabilitarán automáticamente la configuración insegura. De lo contrario, la lista de verificación deberá ejecutarse manualmente.Se debe tener cuidado con los instaladores de terceros, como WAMP. Es posible que los permisos predeterminados indicados en el Manual oficial de MySQL no siempre se apliquen a estas instalaciones personalizadas (como "fuera del alcance del manual). Por supuesto, para un servidor de producción, las instalaciones WAMP y similares deben evitarse a toda costa .
fuente