SSh o no SSh para acceder a un mysql
Bueno hace poco que entre en el mundo de los servidores de linux. Antes usaba windows como servidor de un mmorpg pero este fin de semana dimos el paso al linux de la mano de debian. El tema es que tengo unas dudillas y como se que aqui tratais a diario con la seguridad queria ver si me echabais una mano con unas dudas.
Tengo en el servidor instalado ssh, nxserver y mysql entre otras cosas. El tema que me incumbe es que accedo al servidor mediante el nxclient. No me apaño aun solo por comandos aunque poco a poco me los voy aprendiendo. El tema es que para acceder al mysql uso Navicat en su version lite y accedo mediante ssh. Hasta ahi bien, pero el problema viene a la hora de acceder mediante una web y el php. El mysql no se puede acceder desde afuera, solo por un tunel ssh, el problema es que no se si dejar la ip de la web para que pueda entrar directamente sin ssh para hacer uso del sql o si deberia montar un archivo php o el que sea con la configuracion ssh. Mi problema es que si me ven o roban ese archivo ya tengo comprometido todo el sistema. Asi que no se que hacer.
Desde windows teniamos el mysql accesible desde fuera, aunque si no tienes un usuario creado con tu ip no puedes hacer nada, siempre te queda la duda de si hay algun exploit o algo y que te puedan pilar la bd. No es algo importante, es un juego, pero nos lo tomamos conseriedad y no nos gustaria tener k tirar de copias de seguridad porque un hacker entro a tu bd y se edito su personaje o toco algo.
Bueno me gustaria que me dierais vuestra opinion. Usar ssh en el php para acceder al mysql, o dejar el mysql abierto, mediante iptables o como este (aun no se como hacerlo :S) y confiar en que el mysql no tenga ningun exploit que permita a un atacante hacerse con el usuario root o similar.
Saludos y gracias por responder

- 515 lecturas
Twitter

SSH o no SSH
Hola,
Como antes era un programador php tengo algo de experiencia en ambientes web con mysql.
Mi recomendacion es que cierres todo lo posible tu server. Si lo que quieres hacer lo puedes hacer con ssh, entonces hazlo.
Ademas, tampoco es necesario mantener los datos de accesos en un archivo .php, llegado el caso puedes ingresar los datos de acceso mediante un formulario que generes para este caso.
He visto varias web que dejan expuesto el puerto del mysql y me parece que son una invitacion a la catastrofe... sobre todo si es una web con gran cantidad de visitantes.
PD: para asegurar un poco mas el mysql, no consideraste utilizar sockets ?
Saludos
no capto
no entiendo bien lo que deseas pero tienes intalado el phpmyadmin?
http://es.wikipedia.org/wiki/PhpMyAdmin
es una aplicacion con la que puedes modificar la base de datos mysql via web.
es bastante segura pero hay que modificar un par de cosas
http://www.seguridad-informatica.cl/home/protegiendo-un-poco...
lo otro es k se puede acceder a la base de datos desde otro pc, eso si teniendo abierto un puerto (que no se cual es) con
mysql -u user -p (me parece que asi es), luego pide la password del user
otra cosa, tu dices
eso primero que nada esta mal, ya que la clave del usuario root de mysql no debiera ser la misma que el root del sistema, aunke quedaria compometida la base de datos.
lo otro es cifrar la DB, en el segundo link explican algo de eso
saludos, espero que te sirva
No tengo el phpmyadmin
No tengo el phpmyadmin. Yo tengo un mysql en un servidor bajo linux. Y la pagina web en otro servidor distinto. El tema es que desde la web necesito hacer unas query´s, y no se que hacer, yo veo 2 opciones y queria saber vuestra opinion.
1.- Montar el php si se puede para que use ssh, de poderse si los datos estan en texto plano no me sierve.
2.- Abrirle el puerto al mysql y que pueda conectarse cualquier usuario con un host que yo cree.
Me gusta la primera opcion, pero no se si se puede hacer y si se puede no tienen que estar los datos en texto plano, por si me roban el archivo php lo digo, necesitaria poner la contraseña con md5 o algo asi. Sencillo pero eficaz. Estoy leyendo un poco de php, pero soy novatillo en php y el mundo del linux asi que se me junta todo un mundo nuevo. Leo la web desde hace bastante y se que aqui muchos saben de seguridad bajo linux asi que que mejor lugar para plantear mi duda/problema.
Como digo el mysql lo manejamos 2 personas desde nuestro pc mediante navicat, el programa tiene la opcion del tunel bajo ssh y luego logueamos en localhost asi que no hay problema. El problema es la web asi les puedo ofrecer a la gente info en tiempo real, de los asedios, rankin y demas cosillas.
Saludos y gracias por responder.
Bueno el tema es
Bueno el tema es que desde fuera del servidor no se puede acceder al mysql si no es mediante ssh, y necesito acceder desde un servidor donde esta la web. El tema es que nose si se puede configurar el php para que use ssh y de poderse si se quedan los datos del ssh en texto plano o se cifra con md5 la contraseña por ejemplo. O uso algo por php para conectar a travez de de ssh o le abro el puerto 3306 o lo cambio por otro al mysql.
Sobre los sokets el mysql lo instale mediante synaptic, asi que no toque nada que no venga por defecto, solo le puse contraseña al root del sql y cree 2 usuarios mas para acceder desde fuera pero por ahora no los uso. Vi un archivo de sokets donde arranca el mysql uno con opciones y otro que se llama socket pero no se nada del tema como es.
Por lo que voy viendo no me recomendais abrir el puerto. Asi que optaria por conectar desde el php mediante ssh. Alguno sabe como se hace y si se hace se encripta la contraseña o si se ven los datos en texto plano, sobre todo lo digo por si me comprometen el servidor web (que ese si que no lo manejo yo) y nos roban ese archivo.
Saludos y gracias por vuestras opiniones.