Pregunta

Estoy trabajando en una página de inicio de sesión de inicio de sesión único utilizando Shibboleth que lo hará ser utilizado para una variedad de aplicaciones web. Obviamente, nos gustaría que esta página sea lo más segura y utilizable posible al tiempo que se limiten los efectos de las estafas de suplantación de identidad (phishing).

¿Cuáles son las mejores prácticas a tener en cuenta al diseñar una página de inicio de sesión?

Algunas preguntas que han surgido en torno a este problema:

  • ¿Es importante que la página de inicio de sesión se vea siempre igual en todas las pantallas?
  • Por el contrario, ¿sería beneficioso para la página de inicio de sesión tener un diseño aleatorio?
  • ¿Es mejor que la página de inicio de sesión tenga el mismo aspecto que todas sus otras páginas o debería tener su propio diseño exclusivo?
  • Si la página de inicio de sesión tiene su propio diseño exclusivo, ¿debería incorporar otros elementos constantes del diseño de su sitio (como la navegación global)?
  • ¿Es la página de inicio de sesión un lugar adecuado para proporcionar al usuario contenido adicional (como las últimas noticias)?
  • ¿Hay alguna característica de seguridad adicional que deba incluirse para ayudar a mantener a las personas a salvo?
¿Fue útil?

Solución

Notas de usabilidad:

Personalmente, odio cuando los sitios ponen la " contraseña olvidada " o " olvidé nombre de usuario " o " ayuda " enlaces entre el campo de contraseña y el botón Iniciar sesión. Como usuario de teclado, no debería tener que presionar la tecla TAB para acceder al botón de envío.

Mejor aún, también capture la tecla Entrar en el campo de la contraseña para que pueda enviar automáticamente con la tecla Entrar.

Otros consejos

mantener el mismo diseño en su página de inicio de sesión permitirá a sus usuarios saber que están intentando iniciar sesión en su página si el usuario cambia de manera aleatoria el diseño puede pensar que el sitio se ha movido o si son víctimas de la piratería. por lo que recomendaría mantener las mismas pautas que las páginas de contenido

No importa lo que diseñes, un Phisher podrá imitarlo. La prevención del phishing por completo es un problema difícil. Básicamente, deberá tener algún medio para identificar a sus usuarios antes en los que inicien sesión. Algunos bancos hacen esto ahora. Usted ingresa su nombre y luego le muestran una imagen que usted mismo seleccionó, y luego, una vez que está seguro de que es la misma imagen, ingresa su contraseña. Este puede ser un nivel de complejidad mayor del que requiere su sitio.

En el aspecto técnico, Bank of America logra esto mediante el uso de un objeto compartido local de Flash denominado PassMark. Su navegador envía silenciosamente estos datos identificándose al Banco. Si elimina la LSO, no se le mostrará su imagen porque BofA no puede identificarlo. Incluso esto sigue siendo vulnerable a los ataques del hombre en el medio.

Otro " no duh " Lo que todavía veo en muchas de las aplicaciones a las que voy, si las credenciales especificadas no son válidas, no indica cuál es inválida. Simplemente diga algo como " combinación de usuario / contraseña inválida " en lugar de " contraseña inválida " eso evitará que esas personas de ingeniería social conozcan la base de usuarios que acceden a su sitio.

Smashing Magazine tiene un resumen bastante completo sobre los formularios de inicio de sesión. Formulario web Patrones de diseño: formularios de registro

incluye prevención de nivel de aplicación dos

Sea no específico con los fallos de inicio de sesión. Error de inicio de sesión " genérico " en lugar de " Nombre de usuario desconocido " ;.

Use un captcha u otra prueba de turing.

Parece una obviedad, pero usa HTTPS si la aplicación lo requiere. Diablos, incluso si no lo garantiza porque las personas tienden a reutilizar las mismas contraseñas. Usted puede obtener un certificado SSL barato en estos días. Si levantan una contraseña de su sitio, pueden probarla en otro lugar. Incluso muchos bancos no tienen la página de inicio de sesión en una línea segura. Publica en una página HTTPS, pero todavía no hay protección de un hombre en el ataque de tipo medio.

Estoy de acuerdo con Omniwombat. El phishing es un problema difícil de resolver bien y parece imposible resolverlo por completo.

Piense como un usuario y también como un guardia de seguridad: si hace que hagan un captcha cada vez que inicie sesión, se van a cansar de ello.

Si está tratando de evitar la denegación de servicio, entonces puede que aparezca un captcha solo después de que haya suficientes (¿fallidos?) intentos de inicio de sesión en un período de tiempo determinado.

Considere usar NTLM, OpenID o Shibboleth para que el inicio de sesión sea lo más automático posible para la mayoría de los usuarios.

No haga que las personas vayan a una página separada para registrarse. Probablemente tendrá campos de nombre de usuario y contraseña, y un botón de inicio de sesión / envío. Simplemente añada un " registro como nuevo usuario " botón también, para que los nuevos usuarios puedan usar los campos de nombre de usuario / contraseña existentes. Si necesita recopilar detalles adicionales para nuevos usuarios, abra un formulario (con DHTML, no una ventana emergente) para recopilarlos.

Un consejo útil para las circunstancias venideras: Puede deshabilitar el guardado de contraseñas del cliente agregando autocompletar = " desactivado " al campo de contraseña.

Eso no funciona en todos los navegadores (si recuerdo, IE 6+ y Firefox 3+)

Lo mejor que he visto hasta ahora en un intento de detener el phishing es la interfaz de inicio de sesión de un banco. El inicio de sesión se realiza en 3 partes, primero el usuario ingresa su número de cuenta (número de tarjeta de débito, número de tarjeta de crédito ...), el segundo paso mostrará aleatoriamente 1 de 3 preguntas especificadas por un usuario (por ejemplo, a qué escuela secundaria asistió para el grado 10), la última parte, si las dos primeras tienen éxito, es mostrar una imagen y un texto especificado por el usuario al registrarse, con el campo de contraseña a continuación.

Tenga en cuenta que su usuario pasará los 10 segundos en esa página en general, realmente no importa cómo se vea, siempre que sea obvio dónde colocar su ID de usuario y contraseña. Aparte de eso, simplemente no sea uno de esos sitios que me ofrecen enviarme mi contraseña por correo electrónico si la olvido. Al menos déjame creer que está oculto en un hash con sal y en un lugar donde no puedes recuperarlo nunca.

@Joe Lencioni, y todos los demás interesados ??en Shibboleth

Las páginas de su sitio deben tener el mismo aspecto general en cada página.

Con respecto a Shibboleth, y SSO. Es importante tener en cuenta con qué función está asociada su organización. ¿Es usted un proveedor de identidad - IdP (autentica al usuario y luego envía la respuesta al SP), o es usted el Proveedor de servicios - SP (que otorgará la autenticación en función de la respuesta y los atributos enviados por el IdP?

Si eres un SP, tienes la flexibilidad que deseas para vincular a tus usuarios con un IdP para que puedan iniciar sesión. Muchos SP crean su propia página WAYF (Where Are You From) que redirigirá al usuario a la página de inicio de sesión del IdP.

Si es un IdP, debe tener una página de inicio de sesión que le resulte familiar al usuario para que pueda iniciar sesión y luego ser redirigido al SP con los atributos necesarios para que el SP otorgue el acceso adecuado.

En cuanto a las estafas de phishing, es importante mantener actualizados los metadatos de Shibboleth. Creo que muchas Federaciones recomiendan descargar metadatos cada (1) hora.

Muchas preguntas de Shibboleth se pueden responder aquí: https://spaces.internet2.edu/display / SHIB2 / Inicio

Espero que esto te ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top