Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: KateLibby en 14 Febrero 2010, 18:20 pm



Título: Seguridad/Protección de datos
Publicado por: KateLibby en 14 Febrero 2010, 18:20 pm
Hola, quiero crear una base de datos que probablemente contenga Nombre, teléfono, email y dirección postal de un grupo de personas y tengo dudas sobre el tema de la seguridad y la protección de datos.

La primera pregunta es si puedo crear tranquilamente una BD que contenga estos datos o si tengo que hacer algo con la ley de protección de datos.

Y la segunda es si tengo que tener especial cuidado en la programación de los scripts y currarme la seguridad, o si por el contrario la seguridad del phpmyadmin ya me la garantiza mi proveedor de hosting, ya que me ofrece el servicio de base de datos.

Estoy un poco verde en el tema, espero haberme explicado bien. A ver si alguien puede resolver mis dudas.

Saludos y gracias de antemano.


Título: Re: Seguridad/Protección de datos
Publicado por: ^Tifa^ en 14 Febrero 2010, 19:01 pm
Cuales son tus dudas especificas??

Puedes crear libremente una DB con tablas adentro que contengan estos tipos de datos que solicitas (telefono, nombre, etc) Pero ten claro que la seguridad (acceso a esos datos) dependera mucho de ti como administrador de esto. Puedes crear dicha tabla por ejemplo y que solo tu usuario (el que la creo) tenga permisos de lectura-escritura sobre dicha tabla, y crear usuarios individuales dentro del motor DB que solo tengan acceso de lectura sobre estas tablas.

Si nadie mas tiene acceso (sino conoce el usuario root y su contrasena ni IP ni nada) del servidor, no podran acceder al motor DB y modificarte cosas que no deben, la seguridad es algo que deberas aplicar siempre ya sea en una DB, como en un sistema operativo, etc.

Hay formas de implementar seguridad en una Base de Datos, pero quisiera tener mas nocion sobre que exactamente estas solicitando? porque ahora mismo solo puedo responderte a que si, puedes crear un esquema en la DB y dentro tablas que guarden la informacion que buscas.


Título: Re: Seguridad/Protección de datos
Publicado por: KateLibby en 14 Febrero 2010, 19:21 pm
Gracias por tu rápida respuesta.

Sí, lo que yo tengo pensado es esto: crear una tabla con todos estos datos y que sólo tengan acceso a ella (a través de nombre de usuario y contraseña) un número limitado de usuarios. Sólo yo (y a lo mejor algún usuario más) tendría acceso a la modificación de los datos. Hasta este punto es hasta donde yo he programado la seguridad de la base de datos.

Mis dos dudas específicas son:

- Si puedo tener algun problema por tener una base de datos con datos personales sin tener eso del "Aviso Legal" y la "Política de privacidad de datos" en la web.

- Si simplemente programando el acceso a la base de datos mediante login y password, esa base de datos ya es segura.


Título: Re: Seguridad/Protección de datos
Publicado por: ^Tifa^ en 14 Febrero 2010, 19:45 pm
El acceso web es una cosa y el acceso a la base de datos otra.

Segun puedo entender en tu mensaje, tu tienes una web que autentifica usuarios y por eso necesitas una tabla dentro de la DB para que estos usuarios se autentifiquen y accesen a esa web. En este caso, la autentificacion se realiza hacia una tabla existente en la DB para acceder a la web, mas sin embargo esta tabla es totalmente independiente al acceso real a la DB.

Citar
Si puedo tener algun problema por tener una base de datos con datos personales sin tener eso del "Aviso Legal" y la "Política de privacidad de datos" en la web.

Problemas legales como tal, no puedo abundarte mucho sobre ello porque esta rama no la conozco y supongo que cada pais tiene sus propias reglas sobre el tema. Pero por etica, y para cubrirte a ti misma ante cualquier cosa, si seria favorable que apliques "Aviso Legal" y "Politica" asi si ocurre lo mas minimo, tu particularmente no te hiciste responsable  ;) esto es mas para protegerte a ti.

Citar
- Si simplemente programando el acceso a la base de datos mediante login y password, esa base de datos ya es segura.

Esta pregunta ya es muy amplia, con implementar solamente esto que dices... No, no esta segura la data ni la base de datos.

* Tienes que implementar seguridad en tu codigo, puedes usar 'magic quotes' o procedimientos almacenados en la DB. Para limitar un poco a los graciosos y graciosas que intenten hacerte inyecciones SQL para obtener datos que no deben ver.
* Tienes que asegurarte que las unicas IP que tienen acceso remoto a la DB es la publica tuya, y la publica de tu amigo, esto puedes hacerlo a traves de Cpanel al configurar acceso remoto hacia MySQL.
* Asegurarte que tu hosting tiene todos los parches de seguridad aplicados en el servidor, de lo contrario pideselo, asi como filtrado de cosas mediante algun firewall.

Entre otras cosas que podria ahora mismo escaparseme, pero lo anterior es algo basico que deberias tener implementado si de seguridad te interesa. No te cubrira 100% repito (Nada es 100% no vulnerable) pero, te protege mas y dificulta un poco mas el asunto a la hora de algun o alguna gracios@ querer hacerse pasar por megahacker, utilizando tecnicas ajenas leidas en internet, o utilizando aplicaciones realizadas por otros.


Título: Re: Seguridad/Protección de datos
Publicado por: KateLibby en 14 Febrero 2010, 19:51 pm
Gracias ^Tifa^. Me has sido de gran ayuda.


Título: Re: Seguridad/Protección de datos
Publicado por: ^Tifa^ en 14 Febrero 2010, 19:56 pm
De nada  ;)  recuerda pasarte mas seguido por el foro ante cualquier duda que te surga.  ;-)


Título: Re: Seguridad/Protección de datos
Publicado por: Skeletron en 16 Febrero 2010, 05:55 am
Si programas en PHP, leete algo de:
htmlspecialchars  >>> http://php.net/manual/en/function.htmlspecialchars.php

Y algun que otro comando para evitar que te ingresen datos que no quieres en la base de datos..

Fijate algo para EVITAR XSS php ;)


Título: Re: Seguridad/Protección de datos
Publicado por: KateLibby en 16 Febrero 2010, 12:26 pm
Gracias!


Título: Re: Seguridad/Protección de datos
Publicado por: Skeletron en 20 Marzo 2010, 03:42 am
Y para evitar SQL INYECTION:
mysql_real_escape_string();
Eso se coloca dentro de la consuta SQL que se hace en la base de datos.