Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Securizar una base de datos MySQL

Estas en el tema de Securizar una base de datos MySQL en el foro de Mysql en Foros del Web. Buenos días, Estoy creando una Base de Datos con una serie de tablas y campos. ¿Qué debería hacer para securizar la base de datos y ...
  #1 (permalink)  
Antiguo 25/02/2009, 07:00
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 1 mes
Puntos: 3
Securizar una base de datos MySQL

Buenos días,

Estoy creando una Base de Datos con una serie de tablas y campos.

¿Qué debería hacer para securizar la base de datos y que solo pueda ser accesible a modificaciones desde los scripts php? Temo que alguien sea un poco vivo y acceda remotamente desde otra ubicación y pueda modificar todo lo que se le antoje.

Otra cosa que también me intriga y que no encuentro nada de ayuda, es si tengo que relacionar las tablas o ellas mismas se relacionan de alguna manera automática.

Espero haya alguna solución.

Muchas gracias y un saludo
  #2 (permalink)  
Antiguo 26/02/2009, 09:19
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Securizar una base de datos MySQL

Cuando creas un nuevo usuario y le atorgas los permisos, puedes indicar que solo se le concedan si accede localmente. Eso impide pues, valga la redundancia, que pueda conectar desde otra máquina.

La otra opción, es impedir cualquier acceso externo a la base de datos en el mismo cortafuegos.
Idealmente es mejor hacer las dos cosas, claro.

En cuanto a la relación entre tablas, tienes que indicarlas tu. Recuerda por eso que el motor MyISAM no lo soporta, habría que usar InnoDB.
  #3 (permalink)  
Antiguo 04/03/2009, 16:43
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 1 mes
Puntos: 3
Respuesta: Securizar una base de datos MySQL

Gracias por la información y perdón por tardar en responder.

En cuanto al tema de los permisos para el usuario, ¿Cómo le digo exactamente que tenga permisos si accede localmente? Ese usuario no se crea en el PHPMyAdmin y se le asigna con una serie de permisos a una base de datos? Entonces estará disponible desde cualquier ubicación, ¿no?

¿Cómo impedir el acceso externo a la base de datos en el cortafuegos? ¿Eso es posible? ¿Te refieres al cortafuegos del Windows o al del router?
  #4 (permalink)  
Antiguo 05/03/2009, 23:25
rqd
 
Fecha de Ingreso: julio-2008
Mensajes: 228
Antigüedad: 15 años, 8 meses
Puntos: 8
Respuesta: Securizar una base de datos MySQL

Si lo puedes crear con PhpMyAdmin, en la página principal hay un línk de privilegios, en esa creas uno nuevo y en donde dice HOST le pones localhost.

Si lo quisieras hacer con línea de comando es algo así:

Código:
GRANT SELECT ON base de datos.* TO 'usuario'@'localhost'
Además tendrías que limitar para que root sólo se pueda conectar desde localhost. Las aplicaciones de PHP sólo podrían utilizar el usuario que sólo tiene permisos de SELECT. Depende de la aplicación si requiere que le des más permisos lo puedes hacer sobre ciertas tablas para que no abras todas.

Para una mayor referencia:
http://dev.mysql.com/doc/refman/5.0/es/grant.html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:57.