Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: KateLibby en 12 Agosto 2011, 10:23 am



Título: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: KateLibby en 12 Agosto 2011, 10:23 am
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.


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: EFEX en 12 Agosto 2011, 10:27 am
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 (http://phpbarcelona.org/files/phpworkshop08/seguridad/Art-HackWeb-v1-4.pdf)


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: KateLibby en 12 Agosto 2011, 10:43 am
Muchas gracias! Le echaré un vistazo!


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: [u]nsigned en 12 Agosto 2011, 14:05 pm
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.

(http://static.codeigniter.com/design/ci_logo2.gif) (http://www.codeigniter.com)

Saludos


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: madpitbull_99 en 12 Agosto 2011, 15:47 pm
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.


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: [u]nsigned en 12 Agosto 2011, 16:18 pm
Yo uso CI 2.0.2 que ya incorpora preccion contra CSRF (desactivada por defecto):

application/config/config.php

Código
  1. /*
  2. |--------------------------------------------------------------------------
  3. | Global XSS Filtering
  4. |--------------------------------------------------------------------------
  5. |
  6. | Determines whether the XSS filter is always active when GET, POST or
  7. | COOKIE data is encountered
  8. |
  9. */
  10. $config['global_xss_filtering'] = TRUE;
  11.  
  12. /*
  13. |--------------------------------------------------------------------------
  14. | Cross Site Request Forgery
  15. |--------------------------------------------------------------------------
  16. | Enables a CSRF cookie token to be set. When set to TRUE, token will be
  17. | checked on a submitted form. If you are accepting user data, it is strongly
  18. | recommended CSRF protection be enabled.
  19. | 'csrf_token_name' = The token name
  20. | 'csrf_cookie_name' = The cookie name
  21. | 'csrf_expire' = The number in seconds the token should expire.
  22. */
  23. $config['csrf_protection'] = TRUE;
  24. $config['csrf_token_name'] = 'csrf_test_name';//Usar un string alpha-num de uno 20 chars
  25. $config['csrf_cookie_name'] = 'csrf_cookie_name';
  26. $config['csrf_expire'] = 7200;
  27.  

Aca se explica como hacerlo 'a mano'

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


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: madpitbull_99 en 12 Agosto 2011, 16:24 pm
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.


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: [u]nsigned en 12 Agosto 2011, 16:32 pm
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á (http://www.beheist.com/index.php/en/blog/csrf-protection-in-codeigniter-2-0-a-closer-look) se explica con lujo de detalle.

Citar
PD: 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


Título: Re: ¿Ideas para aumentar la seguridad de mi gestor?
Publicado por: bomba1990 en 13 Agosto 2011, 06:28 am
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)