Voy a poner unos pasos básicos sobre seguridad a la hora de implementar un sistema de autentificación de sesiones web.
No explicaré como crear un sistema para esto, solo daré algunos consejos.
1.- A la hora de autentificarse encriptar la contraseña antes de enviarla al servidor.
2.- Volver a encriptar la contraseña en el servidor.
3.- Caducidad en las sesiones.
4.- Si no quieres que un mismo usuario pueda estar conectado desde dos sitios a la vez generar Token "Cadena de caracteres generada al azar" en las sesiones.
5.-Usar Https
Ahora explicare el por que de los pasos anteriores:
1.- Si alguien esta esnifando en la Red podrá obtener la contraseña fácilmente.
2.- Si alguna vez consiguen entrar a la base de datos o sacar las contraseñas mediante Inyección Sql las contraseñas, algunas de estas pueden ser desenciptadas mediante diccionarios u otros métodos.
"Una buena solución para esto, como he dicho sería volver a aplicarle la encriptación a la contraseña, también se le suele añadir una serie de caracteres extra antes de volver a encriptar para que la contraseña sea mas difícil de adivinar"
Por ejemplo: "&;.alk456s" Añadiendo esta cadena las contraseñas simples ya no serán tan simples y por lo tanto menos vulnerables.
3.-Las sesiones deben de tener caducidad ya que si algún usuario se deja la sesión abierta en un equipo ajeno, su cuenta quedaría expuesta.
4.- Puedes generar un Token cuando un usuario se autentifique y guardarlo en la sesión de este de manera que si el mismo usuario se autentifica desde otro lugar se generara otro toquen y la sesión anterior dejara de ser valida.
5.- Si usas Https los datos se mandaran cifrados.
He de decir que soy un aprendiz y que yo solo estoy poniendo lo que he aprendido y usado en mis trabajos.
Si alguien tiene algo que objetar o corregir bienvenido sea.
Saludos y espero que os sirva mi experiencia.
No hay comentarios:
Publicar un comentario