¿Cómo hackear una base de datos mysql remota?

0

(Se trasladó de Stack Overflow porque otros usuarios dijeron que era una pregunta de seguridad)

Tengo una base de datos mysql en un servidor remoto. Nada más, es decir, ningún sitio web que lo use, ningún script del lado del servidor, etc., excepto el acceso remoto desde una aplicación que escribí en Depli. Esa aplicación se ejecuta en una docena de máquinas en todo el país.

He configurado las direcciones IP permitidas usando la herramienta mysql remota en cpanel. El problema es que algunos usuarios tienen direcciones IP dinámicas, por lo que con frecuencia se quejan de que ya no pueden ingresar. Los comodines parecen ineficaces, ya que a veces incluso el primer octeto cambia. La única solución es utilizar%.%.%.% (Algunas fuentes dicen que debería ser %%%. %%%. %%%. %%%) pero, de todos modos, sé que esto reduce la seguridad.

La pregunta es: ¿qué necesitaría yo (o cualquier otra persona) para acceder a la base de datos si los comodines permitieran su dirección IP?

En mi mente, un pirata informático necesitaría saber A) Hay una base de datos en primer lugar B) El nombre de la base de datos C) El nombre del usuario único que configuré D) la contraseña para ese usuario

¿Cualquier programador experto puede decirme si permitir el acceso desde cualquier dirección IP comprometería la seguridad indebidamente?

    
pregunta user3209752 18.05.2015 - 10:39
fuente

3 respuestas

2

La primera respuesta decía muchas cosas. Pero siempre que su conexión a la base de datos mysql sea posible, puede ser hackeado. [Mi consejo no relacionado con el tema: seguir buscando información sobre vulnerabilidades y vulnerabilidades para mysql activamente].

  

¿Cualquier programador experto puede decirme si permitir el acceso desde cualquier dirección IP comprometería la seguridad indebidamente?

En realidad, no me gusta ese acceso desde "cualquier IP". Esto abre muchas formas a los atacantes.

  

La aplicación se ejecuta en una docena de máquinas en todo el país.

Recomiendo totalmente que limite el acceso al menos a las direcciones IP del país.

Busque los rangos de direcciones IP para un determinado país y agregue las IP de los ISP de su país.

Un atacante podría encontrar su base de datos si la está ejecutando en el puerto predeterminado. ¡Cámbialo!

Y no olvide configurar con éxito derechos correctos para los usuarios de la base de datos.

    
respondido por el pbalazek 18.05.2015 - 13:49
fuente
2

Un atacante necesitaría uno de los siguientes:

  • Usuario / contraseña no conocidos
    • Una vulnerabilidad para la versión mysql que usa.
    • la IP de su servidor mysql (si se ejecuta en un puerto predeterminado, es probable que ya lo sepa el mundo criminal)
  • Nombre de usuario / contraseña / ip
    • Nada, él tiene todo lo que necesita.

La diferencia entre los 2 escenarios es que 1 es un ataque dirigido y el otro un ataque de red.

La defensa contra esos ataques podría ser:

  • use SSH u otra técnica de VPN para canalizar su conexión mysql a través de un túnel "seguro". (sin exponer ninguna parte de su sistema aparte del punto inicial y final).
  • Use la conexión SSL en su puerto mysql. (esto hace que las escuchas sean casi imposibles)
  • si todo lo que hace es agregar datos a la base de datos, haga un punto de entrega (aplicación) que tenga acceso a la base de datos. estos a menudo son más fáciles de proteger utilizando oauth2 o similar.
  • use certificados del lado del cliente con SSL. esto hace que sea muy difícil para cualquier persona que no tenga los certificados adecuados para acceder a su base de datos.
respondido por el LvB 18.05.2015 - 12:22
fuente
0

Ver MySQL BACKRONYM ataque ( más información aquí ). Básicamente, las versiones más antiguas de MySQL (antes del último lanzamiento de MySQL 5.7.3) eran vulnerables a un ataque de supresión de SSL en el que el atacante de redes podía capturar sus datos de autenticación e iniciar sesión en su base de datos.

Por lo tanto, todos los atacantes de la red (una parte maliciosa en un ISP) solo necesitan ejecutar un script, buscar intentos de saludo MySQL, aplicar este ataque, capturar las credenciales de la base de datos y luego conectarse. Una lista blanca de direcciones IP probablemente no ayude significativamente, ya que nuevamente para el ataque MitM / network están en posición de suplantar su dirección IP en la lista blanca a este servidor.

Mi entendimiento es que las configuraciones predeterminadas actuales todavía son vulnerables, aunque se pueden configurar para que sean seguras. Por supuesto, si su base de datos no acepta la autenticación remota (por ejemplo, no acepta la autenticación de red, o debe estar en la intranet local segura, o mediante VPN), está bien para el ataque BACKRONYM.

    
respondido por el dr jimbob 19.05.2015 - 07:45
fuente

Lea otras preguntas en las etiquetas