Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2015, 11:39
K_J
 
Fecha de Ingreso: abril-2015
Mensajes: 5
Antigüedad: 9 años
Puntos: 0
Pregunta Necesito Apoyo: Desarrollo de sistema Java y MySQL

Buenos días, primero que nada agradecer el tiempo que invertirán dando respuestas a mis dudas.
Como usuario registrado soy nuevo en el foro (Este es mi primer Post), pero a través de mucho tiempo sus aportaciones me han sido de gran ayuda, y por ello, decidí registrarme y solicitar su apoyo.
Les comento, actualmente me encuentro desarrollando un sistema en Java como lenguaje de programación y MySQL como SGBD, éste es el primer desarrollo a gran escala que hago y por lo tanto me han surgido infinidad de dudas, mismas que he resulto buscando en este foro y otras partes de la web.
Sin más rodeos, voy a mis dudas no sin agradecer nuevamente todo su tiempo y apoyo.

El sistema, como muchos otros, debe de contar con las clásicas operaciones CRUD, las cuales no son problema alguno, pero, uno de los requisitos era la conexión entre las diferentes bases de datos las cuales están instaladas en diferentes sucursales de la empresa para la cual trabajo.
Bueno, como sabemos, MySQL permite conexiones remotas, mismas que manejo actualmente, he mostrado avances del sistema donde consulto las bases de datos de las demás sucursales, obtengo reportes etc, pero existe un problema y que no sé cuál sea la mejor opción para darle solución:
*- La seguridad de las Bases de Datos.
Las conexiones las estoy realizando (mysql -h HOST -u -p), pero para ello, tuve que dejar el puerto de los routers abiertos y dirigir las conexiones entrantes al servidor, pero esto implica dejar el acceso "libre" a las BD de la empresa para cualquier intruso.
Desde un inicio consideré diferentes opciones, las cuales les comentaré a continuación:
1- Montar una VPN con las sucursales de la empresa. Comencé a montar una VPN (Bajo el SO Windows) y lo logré, sin embargo, nunca pude realizar al menos un ping entre las máquinas conectadas.
2*- Utilicé diferentes programas que montan una VPN, pero por cuestiones del tamaño del proyecto no escudriñé como es debido y no obtuve buenos resultados.
Después de gastar muchos días en el tema (VPN) decidí dejarlo a un lado, y buscar nuevamente cuando llegara el momento.
-----------------------------
Pensé también en utilizar o más bien programar un servidor en Java que se encargue de realizar las conexiones a la BD y regrese la información deseada al cliente, así cerraría los puertos de MySQL en los routers y sólo dejaría abierto el puerto del servidor programado, pero eso implica programación extra, cuando MySQL ya permite conexiones remotas.

Entonces, me gustaría saber si a ustedes se les ha presentado algo similar o igual (Que estoy seguro que sí) y conocer cuál es el camino que siguieron para darle solución.
Sabemos que una cosa es darle solución al problema y que funcione y otra es tomar la más segura y que además funcione.
No me gustaría dejar las BDs abiertas al internet, sé que maneras de dar seguridad a las conexiones es crear usuarios con permisos, establecer IP's etc, pero desconozco qué tan vulnerable sea MySQL, pero igual los puertos quedan abiertos exponiendo la información.

Espero puedan ayudarme con sus consejos y experiencias; les agradezco si alguno de los conceptos que creo yo entender son erróneos me corrijan y, qué mas decir, gracias.