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

Seguridad en Base de Datos

Estas en el tema de Seguridad en Base de Datos en el foro de Mysql en Foros del Web. Que tal, Tengo un programa que me crea una base de datos, el punto es que al crearla necesito que solo un usuario tenga acceso ...
  #1 (permalink)  
Antiguo 11/01/2010, 14:22
Avatar de almit80  
Fecha de Ingreso: abril-2005
Mensajes: 22
Antigüedad: 19 años
Puntos: 0
Seguridad en Base de Datos

Que tal,
Tengo un programa que me crea una base de datos, el punto es que al crearla necesito que solo un usuario tenga acceso a ella, es decir, que root u otros usuarios que ya existan en mysql no puedan accesar a ella, como puedo hacerlo. Mi programa esta en php, se crea la base de datos y después se crea el usuario y le doy los privilegios, pero root puede seguir accesando a ella, como lo restrinjo?
  #2 (permalink)  
Antiguo 11/01/2010, 15:03
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Seguridad en Base de Datos

root siempre tendrá acceso a todo.
Es un superusuario.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 11/01/2010, 16:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Seguridad en Base de Datos

Agrego: El root ess el administrador de la base y es el que controla todo. Nadie más que el DBA debe usar ese username, bajo ninguna circunstancia.
Ten en cuenta que hay un cierto número de privilegios que solamente se le dan al root, y si lo restringes deberás (probablemente) reinstalar todo para poder recuperarlo, o en su defecto editar manualmente algunos archivos de configuración

No le des el uso del root a nadie. Es lo mismo que entregar la llave de tu casa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 12/01/2010, 20:03
Avatar de almit80  
Fecha de Ingreso: abril-2005
Mensajes: 22
Antigüedad: 19 años
Puntos: 0
Respuesta: Seguridad en Base de Datos

Lo que pasa es que en ese servidor hay más bases de datos y más usuarios, lo que quiero es que esos otros usuarios no le metan mano a mi base, que un solo usuario sea el que la modifique, como puedo hacer esto? Gracias por su ayuda
  #5 (permalink)  
Antiguo 12/01/2010, 20:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Seguridad en Base de Datos

El problema es del DBA.
Si los usuarios de las otras bases de datos no han sido debidamente limitados, no hay forma que tu, sin ser el DBA (root) de ese servidor puedas hacerlo.
Es decir: a esos usuarios han debido darle permisos restringidos de acceso sólo a sus respectivas bases. Si se ha hecho correctamente no hay forma en que ellos puedan modificarlo y acceder a tu base sin loguearse como root o algún superusuario cread al efecto. Sólo el root, no puede establecer ese nivel de restricciones.

¿Quién administra el servidor? ¿Tu u otra persona?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 13/01/2010, 10:24
Avatar de almit80  
Fecha de Ingreso: abril-2005
Mensajes: 22
Antigüedad: 19 años
Puntos: 0
Respuesta: Seguridad en Base de Datos

Otra persona es quien administra la base, por eso quiero restringirla, para no tener problemas de que ya la modificaron o la echaron a perder. Lo que estoy desarrollando es un sitio en PHP, si al iniciar detecta que la base de datos no existe, la crea, crea las tablas y crea el usuario que se conecta a esa base. Esto lo hace correctamente, pero quiero restringir a los otros usuarios para que no accesen
  #7 (permalink)  
Antiguo 13/01/2010, 10:31
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Seguridad en Base de Datos

Como te dice gnzsoloyo
Si no eres quien administra la base de datos, no puedes restringir el acceso de otras bases de datos. Esto es tarea del DBA.

Lo que puedes hacer es incluir clausulas en el contrato con el hosting o con el DBA para que te ofrezca toda la seguridad del caso.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 13/01/2010, 12:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Seguridad en Base de Datos

Cita:
Lo que estoy desarrollando es un sitio en PHP, si al iniciar detecta que la base de datos no existe, la crea, crea las tablas y crea el usuario que se conecta a esa base.
Esto puede ser funcional y hasta práctico en una aplicación de escritorio stand-alone, pero es absolutamente impráctico y desastroso si lo vas a hacer en web. Los riesgos de un error son catastróficos.
En una aplicación en web, es tu responsabilidad que la base exista. Si no existe, no debería poder hacer nada. O en todo caso enviar un e-Mail al administrador para denunciar que la base ha desaparecido.
En todo caso, no debes hacer que si "un usuario" se conecta se haga eso. Ese tipo de acciones no debe ser automática, sino generada por un sólo usuario (el administrador de tu base). Los riesgos son demasiado altos.

En cuanto al crear el usuario, eso se suele hacer por suscripción, y en todo caso con un username y password específicos para que un usuario oculto, en el servidor realice la habilitación del mismo. Pero no el suscriptor por sí mismo.

Cita:
Esto lo hace correctamente, pero quiero restringir a los otros usuarios para que no accesen
En lo referente a los usuarios que tu mismo crees, por defecto, si te han dado acceso para crear usuarios, pero solamente en tu base, los usuarios que tu creees tendrán sólo la capacidad de ver tu misma base.
Los permisos de ese nivel son hereditarios, es decir, si tú puedes ver sólo la base "xxxx", pero puedes crear usuarios, los usuarios que tu generes sólo podrán ver la base "xxxx", nada más...

Respecto a los usuarios de otras bases, eso lo tendrás que negociar con el DBA del proveedor de hosting.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: seguridad
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 07:43.