¿Ideas para aumentar la seguridad de mi gestor?

Iniciado por KateLibby, 12 Agosto 2011, 10:23 AM

0 Miembros y 1 Visitante están viendo este tema.

KateLibby

Tengo que contruir un programa gestor de clientes en el cual la base de datos contendrá contraseñas y datos personales, por lo que tiene que ser lo más seguro posible.

Las medidas de seguridad con las que había pensado son:

- Cifrar contraseñas en la base de datos.
- Limitar el acceso sólo a unas IPs concretas.
- Bloquear el acceso a los usuarios que hayan introducido mal la contraseña X veces.

¿Podríais darme más ideas para aumentar la seguridad?

Gracias de antemano.

EFEX

SQL injection, RFI, XSS, entre otros, te dejo un enlace a un pdf completito explicando estos metodos.

Proteger nuestras webs PHP de ataques
http://phpbarcelona.org/files/phpworkshop08/seguridad/Art-HackWeb-v1-4.pdf
GITHUB 

KateLibby


[u]nsigned

Si se trata de un sistema medianamente grande, yo te recomendaria usar algun Framework, CodeIgniter por ejemplo, que funciona en cualquier servidor. Es totalmente seguro, ya que es de los mas populares.

Hay quienes prefieren desarrollar todo ellos mismos, y la verdad que no los entiendo  :xD gustos son gusto, pero siempre es probable que se no escape algo en seguridad web...mientras que si usamos algun framework de calidad como CI nos olvidamos del aspecto de la seguridad y solo te consentras en desarrollar. Su curva de aprendizaje es relativamente baja.


Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

madpitbull_99

CodeIgniter totalmente seguro? Lo he usado en mi último proyecto y que te lo diga WHK, no es muy seguro, lo único de seguridad que ofrecen
es la protección XSS y solo filtra algunas palabras.

Si vas a envíar datos vía POST, tiene un helper para proteger contra CSRF, pero si envías los datos por GET, te tienes que buscar la vida.

Aunque un framework agiliza el desarrollo, no ofrece total seguridad, tarea que recae en las manos del desarrollador.


PD: No es mi intención hacer un flamewar.



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

[u]nsigned

Yo uso CI 2.0.2 que ya incorpora preccion contra CSRF (desactivada por defecto):

application/config/config.php

Código (php) [Seleccionar]
/*
|--------------------------------------------------------------------------
| Global XSS Filtering
|--------------------------------------------------------------------------
|
| Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered
|
*/
$config['global_xss_filtering'] = TRUE;

/*
|--------------------------------------------------------------------------
| Cross Site Request Forgery
|--------------------------------------------------------------------------
| Enables a CSRF cookie token to be set. When set to TRUE, token will be
| checked on a submitted form. If you are accepting user data, it is strongly
| recommended CSRF protection be enabled.
| 'csrf_token_name' = The token name
| 'csrf_cookie_name' = The cookie name
| 'csrf_expire' = The number in seconds the token should expire.
*/
$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'csrf_test_name';//Usar un string alpha-num de uno 20 chars
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;


Aca se explica como hacerlo 'a mano'

De todas formas acepto que fue muy pretencioso decir que algo es totalmente seguro, my foul.  ;)

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

madpitbull_99

Conozco la "protección" anti CSRF, lo único que hace es agregar un campo hidden con el valor del token en cada formulario.

Así al recibir los datos, compruebas el token. ¿Pero si envías los datos por GET? Tienes que pasarle el token "a mano" a través de la url.



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

[u]nsigned

Es verdad. La verdad que nunca me vi en la necesidad de pasar por get, ni siquiera usando AJAX.

Nuevamente Reconozco que fue desmedida (y muy incorrecta) mi afirmacion de que el framework es totalmene seguro. Pero a lo que iba es que ya tenemos el 80% del trabajo (por tirar un numero) hecho. Si quisieramos implementar toda la segurida a mano es demasiado laburo. Cada uno elige.

En cuanto a hacerlo a mano acá se explica con lujo de detalle.

CitarPD: No es mi intención hacer un flamewar.

Para nada, a lo mejor me estoy perdiendo de algo y toda critica costructiva es util, ademas respeto mucho tu opinion en estos temas.

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

bomba1990

a mi tambien me gusta mucho este tema, y era de los que creia que la proteccion contra xss y contra sqli estaba "protegido", no soy ningun entendio sobre el tema, pero me gustaria saber si no es seguro, que deberia hacer para trabajar mas "seguro" y segundo porque no es seguro, como lo sabes lo leiste? revisaste el codigo? (es para yo poder verlo tambien)
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve