Context
Trabajo en un caso muy común. Configuré dos servidores: un OpenVPN y un servidor MySQL (172.16.X.X) ocultos detrás de él. Asumamos que todo está perfectamente configurado y parcheado del lado del servidor.
Nota:
- El servidor MySQL no tiene una interfaz de red pública
- MySQL no tiene TLS configurado. No utiliza la autenticación PAM a través del complemento PAM. Acepta autenticaciones desde cualquier lugar.
- Utiliza un NAT para acceder a Internet (NAT lo realiza el servidor OpenVPN).
- OpenVPN empuja sus rutas (172.16.X.X) permitiendo a los clientes conectados encontrar el servidor MySQL.
En el lado del cliente (192.168.X.X), tengo varios usuarios que se conectarán al servidor MySQL a través de la VPN, utilizando su propio cliente local de OpenVPN. Con la suposición anterior, a menos que sea un tonto (lo cual es una posibilidad, dime), ningún atacante de MITM podría obtener la contraseña de MySQL.
Nota:
- Los clientes no tienen una ruta preconfigurada para la red VPN distante (172.16.X.X).
Escenario probable
Imaginemos: como usuario, trato de conectar este servidor "oculto" de MySQL y falla, porque oops ... mi software openVPN no pudo iniciar el túnel sin previo aviso.
Ahora, una máquina malintencionada puede estar en algún lugar de la red local. La gente usa computadoras portátiles en cualquier lugar en estos días. Detecto mi miserable intento de conectar a un servidor MySQL (172.16.X.X) que no existe.
Preguntas
¿Algún software cliente de MySQL enviará credenciales de texto simple a la ruta predeterminada, incluso si no se encuentra un servidor MySQL?
¿Es posible que un atacante que conoce el servidor MySQL genuino (172.16.X.X) exista de suplantarlo configurando un servidor MySQL no autorizado en la red local (192.168.X.X)?
En caso afirmativo, ¿cómo puedo mitigar este escenario (sugerencia: con unos pocos recursos, trabajo para una empresa muy pequeña)?
¡Gracias por tu ayuda!