¿Qué debo hacer para asegurar el inicio de sesión y el registro en mi sitio web?

6

¿Qué funciones de seguridad necesito tener instaladas para garantizar que los formularios de registro y registro de mi sitio web sean seguros?

    
pregunta ahmed amro 02.04.2013 - 02:00
fuente

3 respuestas

16

CSRF : necesita protección. lugar para evitar la falsificación de solicitudes entre sitios o solicitudes de inicio de sesión, registro u otras acciones de otros sitios. Esto se puede utilizar para engañar a los usuarios para que realicen acciones que no pretendían hacer.

CAPTCHA en el registro : a menudo se recomienda usar un CAPTCHA en tu suspiro Formulario para reducir suscripciones automatizadas. La importancia de esto depende de su modelo de amenaza.

Inicio de sesión seguro : el inicio de sesión debe realizarse a través de HTTPS para reducir el riesgo de que las credenciales del usuario se capturen a través de un ataque MiTM .

Cookies : mientras que el inicio de sesión a través de HTTPS se debe considerar como un mínimo, todo lo demás debería ser también de SSL para proteger las cookies (recuerde que Firesheep ?). Si bien el uso de SSL no es suficiente, debe establecer la marca Secure y HttpOnly cuando sea posible.

Confirmación de correo electrónico : debe asegurarse de verificar la dirección de correo electrónico de un usuario como parte del proceso de registro (sugeriría que no les permita iniciar sesión hasta que se confirme). Tendrá que tener esto para su uso en restablecimientos de contraseña.

Protección de fuerza bruta : debe protegerse contra las cuentas de usuario de fuerza brutal del atacante. Hay varias formas de hacer esto, bloqueando cuentas (que se pueden usar como un ataque de DoS bloqueando gran cantidad de usuarios), limitando los intentos fallidos de una IP determinada (ya sea a través de ban, o CAPTCHA adicional). Cada método tiene sus pros y sus contras, pero es importante que cuente con algún tipo de protección.

Restablecimiento seguro de contraseña : debes asegurarte de tener un método seguro para restablecer las contraseñas. Este es más complicado de lo que la mayoría de la gente piensa, y es fácil equivocarse ( como Apple encontró recientemente ). El mayor riesgo es que un atacante encuentre una forma de abusar de la función para restablecer las cuentas que no son de su propiedad.

Le sugiero encarecidamente que lea el OWSAP hoja de trucos de autenticación , se detallan estos y muchos otros problemas potenciales; y como siempre, al crear nuevos sistemas, es un buen momento para echar otro vistazo a la OWASP Top 10 y asegúrese de haber tomado las precauciones adecuadas.

    
respondido por el Adam Caudill 02.04.2013 - 04:06
fuente
4

Agregando a la respuesta de Adam, me gustaría decir que de acuerdo con Aplicación Top 10 de OWASP Riesgos de seguridad: 2013 las tres vulnerabilidades principales son: inyección, fallas en el mecanismo de autenticación / gestión de sesiones y XSS.

  • La autenticación y la administración de sesiones es un tema muy amplio, pero OWASP tiene varias hojas de trucos y guías cuyos enlaces se pueden encontrar en el pdf anterior.
  • Las otras dos vulnerabilidades Injection y XSS generalmente son el resultado de no validar la entrada del usuario antes de generar el contenido dinámico (XSS) o antes de usarlo en una consulta de base de datos (inyección).
  • Para evitar la inyección, todos los parámetros de entrada del usuario deben validarse (en el lado del servidor) antes de usarlos en las consultas.
  • Prevención contra XSS: vea esto
respondido por el Shurmajee 02.04.2013 - 08:53
fuente
0

Acerca de la cookie:

Si utiliza la cookie para el proceso de inicio de sesión, es importante guardar la información de la cookie en su base de datos (por ejemplo, MySQL), por lo que si un usuario hace el cierre de sesión, la información de la cookie se eliminará de la base de datos y la cookie no se ya válido Es importante, porque si un pirata informático roba la cookie, podrá acceder a su cuenta.

Otra solución paralela:

Para proteger su página de inicio de sesión, puede utilizar este servicio Colobe

Es un servicio gratuito que protege sus páginas por cualquier ataque de fuerza bruta. De todos modos Colobe requiere el PHP en su servidor.

Es muy bueno porque colobe es un servicio dinámico que aprende durante el tiempo y crea una lista negra global de las redes de botnets y servidores piratas que generan esos ataques.

N.B. Colobe es un proyecto mío.

    
respondido por el Nicola Pesavento 07.04.2013 - 14:16
fuente

Lea otras preguntas en las etiquetas