Slackware 12.0 Release! ¡Socorro! Un cocodrilo se está comiendo a mi perro
Jul 04

MySQL-ProxyNavegando por diariolinux.com, me encuentro con esta entrada : http://diariolinux.com/2007/07/03/mysql-proxy-050/
Se trata de un Proxy para MySQL bajo licencia GPL, ¡Genial!, ¿que porque es genial?.
Básicamente gracias a un proxy para MySQL podemos monitorizar, analizar o transformar cualquier tipo de petición desde un cliente hacia el servidor de Base de datos. Como bien explica en la documentación oficial, podemos usarlo para :

  • Balanceo de carga : por ejemplo si queremos tirar de ciertas consultas mas lentas en otra maquina que tiene una replica de la base de datos.
  • Failover : supongamos que el servidor de base de datos “se cae”, podemos realizar un backup al “vuelo” de las peticiones y almacenarlas para su posterior uso.
  • Analisis de peticiones : porque no analizar que tipo de peticiones se hacen comúnmente de una forma mas “transparente” sin necesidad de tocar nuestro servidor de producción, así como por ejemplo analizar tiempos de respuesta, realizar estadísticas generales, etc.
  • Filtrado de peticiones : Podemos crear un filtro de seguridad para ciertas peticiones que no deseamos; que por ejemplo ciertos hosts realicen hacia MySQL, o algún tipo de filtro de seguridad que examine peticiones potencialmente peligrosas (escape a la shell para ejecutar comandos, inserciones en ciertas tablas…)
  • Modificación : Al igual que el filtro anterior, podemos determinar que peticiones no queremos y por lo tanto modificarlas “al vuelo”. Un divertido ejemplo seria filtrar una query a la tabla “password” entregando un hash incorrecto, para que un simpático atacante se de golpes en la cabeza pensando porque si estando crackeada la contraseña no funciona :P.

Ademas incluye algo bastante interesante, que es soporte para Lua , un lenguaje de scripting bastante rápido y fácil. En su página Web podemos encontrar algunos ejemplos muy utiles para empezar a desarrollar nuestros propios scripts :

  1. query interception
  2. query rewriting
  3. injecting queries
  4. returning a resultset
  5. executing shell commands
  6. loggin
  7. using proxy without changing port

Por lo tanto una herramienta muy muy interesante para cualquier administrador y desarrollador :). Así que en cuanto tenga un minuto prometo dedicarle un extenso documento a esta fantástica utilidad.

7 respuestas to “Descubriendo MySQL-Proxy”

  1. meneame.net dice:

    Descubriendo MySQL-Proxy ¡Que gran utilidad!…

    Básicamente gracias a un proxy para MySQL podemos monitorizar, analizar o transformar cualquier tipo de petición desde un cliente hacia el servidor de Base de datos. Como bien explica en la documentación oficial, podemos usarlo para…..

  2. Proxy para MySQL « W W W . B Y N A R I O . A R . N U dice:

    [...] Continuar leyendo [...]

  3. tecnosfera.es dice:

    Mysql-Proxy…

    Básicamente gracias a un proxy para MySQL podemos monitorizar, analizar o transformar cualquier tipo de petición desde un cliente hacia el servidor de Base de datos. Como bien explica en la documentación oficial……

  4. Manolo Canga dice:

    No daría demasiada sobrecarga a los sistemas?. Incluso, podría ocurrir, que diera problemas con las aplicaciones web realizadas.

    Lo veo bien, para análisis/testeo, para comprobar si se están mandando bien las consultas al servidor, si se está cometiendo sqlinjection, etc.

  5. Lazaro dice:

    Esto es como todo, depende del uso que le des, si vas a intentar filtrar 50.000 peticiones para algo especifico, pues se notaria y bastante. Y para eso te compensaría más tener una maquina dedicada o sobrada de recursos :).

    Aún así es una utilidad genial lo que mas me ha interesado ha sido la modificación al vuelo y el failover.

    Un saludo!

  6. links for 2007-09-21 » Xeon dice:

    [...] Descubriendo MySQL-Proxy | Los de Comvive [...]

  7. » Proxy para mysql » Blog Archive El diario sin diario dice:

    [...] otras muchas características interesantes que podemos encontrar en losdecomvive.com,  Hag un pequeño copy paste de los puntos a [...]

Deja una respuesta