La pregunta lo dice todo. Estamos diseñando un sistema donde la seguridad es muy importante. Una de las ideas que alguien tenía era obligar a los usuarios a cambiar las contraseñas cada 3 meses. Mi opinión sobre esto es que, si bien es más seguro porque la contraseña cambia a menudo, también obliga a nuestros usuarios a recordar las contraseñas cambiantes y hace que sea posible que simplemente las escriban en algún lugar para ayudar a recordar.
En la misma idea, es realmente bueno obligar a los usuarios a usar una contraseña súper difícil de adivinar. Forzarlos a usar?% &% Y mayúsculas y minúsculas. Sé que es bastante complicado inventar esa contraseña y luego recordarla.
Por otra parte, no queremos que nadie use 12345.
Entonces. ¿Hay algún documento técnico sobre este tema? ¿Buena práctica?
Estoy hablando de un sitio web creado con PHP. MySQL en un entorno de lámpara si eso cambia algo.
fuente
Respuestas:
Creo que podría ser una minoría en esto (en base a mi experiencia limitada en el trato con los departamentos de TI en la escuela y el trabajo), pero creo que las políticas obligatorias de cambio de contraseña basadas en el tiempo no tienen valor en el mejor de los casos y son dañinas en el peor. Las personas tienden a ser muy malas para elegir buenas contraseñas y mantenerlas en secreto. Las políticas de caducidad de las contraseñas están diseñadas para mitigar esto al limitar la cantidad de tiempo que cualquier contraseña puede ser descifrada / diseñada por redes sociales / robada; sin embargo, no logran esto en la práctica, principalmente porque obligan a los usuarios a volver a aprender su contraseña de forma continua. Al hacer que sea más difícil para el usuario guardar sus contraseñas en la memoria, terminas haciendo que muchas de ellas elijan contraseñas más débiles y / o escriban sus contraseñas en algún lugar donde los ojos curiosos puedan encontrarlas.
Además, cuando se ven obligados a cambiar su contraseña de manera regular, muchos usuarios elegirán contraseñas que sigan un patrón muy reconocible, como
[base string][digit]
. Digamos que un usuario quiere usar el nombre de su gato Fluffy como contraseña. Podrían comenzar con la contraseñafluffy
, y luego cambiarlo afluffy1
,fluffy2
,fluffy3
y así sucesivamente. En este caso, la política realmente no ayuda a la seguridad; incluso si el usuario elige una cadena base más segura quefluffy
, e incluso si mantiene su contraseña memorizada de forma segura, el carácter de sufijo único que cambia cada pocos meses hace muy poco para mitigar el craqueo o los ataques de ingeniería social.Ver también: Caducidad de la contraseña considerada perjudicial , un breve artículo (no escrito por mí) que creo que ofrece una buena introducción a estos problemas.
fuente
fluffy1
debería tener un hash totalmente diferentefluffy2
. Es bastante fácil evitar que los usuarios reutilicen exactamente la misma contraseña, pero creo que eso es todo lo que puede hacer.Mi gran organización (más de 15000 usuarios) implementó "cambios de contraseña" cada 120 días en el otoño de 2009. Es un gran dolor de cabeza de TI y una pérdida de recursos de soporte. Cada vez que se abre el plazo de 120 días, miles de usuarios se ven obligados a cambiar su contraseña ... lo que muchos de ellos hacen incorrectamente y bloquean su cuenta ... u olvidan al día siguiente. Nuestro servicio de asistencia se inunda con llamadas de contraseña a pesar de que tratamos de aprovechar al máximo el autoservicio posible.
Si desea que sus usuarios / clientes lo odien ... y su personal de TI de primera línea lo queme en efigie cada vez que puedan ... implemente cambios de contraseña.
Las políticas de cambio de contraseña son una casilla de verificación en algunas formas de reservar en el Administrador de TI en algún lugar ... y fue escrito hace 15 años. Nadie en las trincheras que realmente implemente o apoye la política le dirá que es una buena idea.
Discutí aquí por "frases de paso" en lugar de contraseñas ... mucho bien que hizo ... esa luz al final del túnel era un tren que se aproximaba. :)
Una frase de paso es una cadena larga casi incuestionable que es muy fácil de recordar como "MyCatIsFromSpainAndICallHimElGato". O tal vez una línea de un poema o canción.
Si quieres hacer que sea realmente difícil descifrar ... mete el caso, agrega algunos signos de puntuación, cambia algunos a ells, ohs a ceros, a a @, etc ... Pero mantenlo como recordable ... Esa es la clave. Incluso hay formas de elegirlos para que fluyan fácilmente de tus dedos al teclado ... para que no rebotes entre las manos o con SHIFT y signos de puntuación extraños.
Entonces...
Mate
EDITAR: 24/08/2011 XKCD está de acuerdo y lo dijo mejor que yo.
fuente
No. Mi opinión personal es que es innecesaria e incluso contraproducente . Me quejé en mi blog, pero puedes buscarlo si estás interesado.
En resumen, se reduce a dos razones:
1. Obligar a un usuario a cambiar constantemente su contraseña conduce a contraseñas incorrectas.
No habrá escasez de evidencia anecdótica sobre esto, pero tiene sentido que si me veo obligado a recordar algo nuevo cada x días, haré que esas cosas sean fáciles de recordar, y probablemente relacionadas entre sí.
Es mucho más probable que los usuarios elijan contraseñas "adivinables" como "Jan2010" o "Password05" si saben que tendrá que cambiar pronto. Es probable que la aplicación de una política estricta sobre los caracteres solo dé como resultado un signo de exclamación agregado o un nombre completamente escrito en lugar de una abreviatura. Hay una gran diferencia entre una contraseña técnicamente compleja y una que no se adivinará.
2. Forzar cambios regulares de contraseña no previene ataques, solo reduce el riesgo (y no mucho)
Piénselo: si su contraseña se adivina o descubre de alguna manera, ¿cuánto tiempo le tomaría a un atacante usar esa información? Ponte en el lugar del atacante. Acabas de descubrir una contraseña. ¿No iniciaría sesión y extraería toda la información que pudiera de inmediato en caso de que alguien se entere? En 30 días, ya tienes todo lo que quieres.
Mi recomendación:
fuente
Desde el punto de vista del usuario, tener que cambiar mi contraseña es increíblemente inconveniente. Absolutamente odio tener que hacerlo, y solo usaré a regañadientes los sitios que absolutamente necesito si requieren que cambie mi contraseña.
También se ha debatido si esta es realmente una buena práctica, ya que algunas personas terminan teniendo que escribir sus contraseñas para recordarlas.
Podrías implementar uno de esos widgets que muestran a las personas cuán fuerte (o débil) es su contraseña mientras la completan; creo que son (más o menos) útiles, aunque no sé si realmente resultan más fuertes contraseñas
fuente
Como usuario de un entorno de política de contraseña bastante estricto ("contraseñas súper difíciles de adivinar" y cambio de contraseña por igual), mi opinión es que solo se necesita la contraseña dura. Aunque los usuarios tardarán un poco en acostumbrarse (especialmente si son del tipo 12345) deberían poder recordarlo y escribirlo fácilmente en una semana.
Sin embargo, puedo predecir usuarios finales incómodos si tiene contraseñas tan seguras Y les obliga a cambiar.
fuente
Desde el punto de vista de la administración de TI, su mejor opción es investigar la posibilidad de permitir que su aplicación use las capacidades de inicio de sesión único del esquema de autenticación existente que utilizan sus clientes. Obviamente, Active Directory es un gran jugador, pero si su aplicación funciona con la política que TI ya ha configurado en el sitio, no tiene que preocuparse por reinventar la rueda.
Dado que surgió tanto debate sobre si los cambios de contraseña forzados son una buena idea (aunque creo que fue secundaria a su pregunta principal), pensé que podría disfrutar algunas de las ideas y enlaces aquí . Para la mayoría de las situaciones, si no va a imponer una complejidad de contraseña y un calendario de cambio, es posible que no tenga contraseñas, pero la forma en que se implementa (capacitación, soporte de gestión, etc.) es más importante de lo que puedo enfatizar.
fuente
Cambiar las contraseñas a menudo puede llevar a que el usuario las escriba. Lo que no es una mala idea según Bruce Schneier ( http://www.schneier.com/blog/archives/2005/06/write_down_your.html ).
Incluso diría que tener seguridad obstaculizando la usabilidad en algún momento puede ser algo bueno, solo porque le recuerda al usuario que debe actuar de manera segura. Por ejemplo, en el banco donde trabajo, muchas de las medidas de seguridad implementadas son teatro de seguridad (por ejemplo, reconocimiento facial en la puerta, pero el agente de seguridad le abrirá la puerta si falla el reconocimiento). Si bien esas medidas no mejoran la seguridad por sí mismas, siempre están ahí para recordarnos que la seguridad es una preocupación importante en el trabajo, que hay una cierta cantidad de registros y verificaciones, y que si te atrapan haciendo algo "inseguro", Estaré en problemas.
Por supuesto, esto se aplica a la seguridad de los empleados de un banco, puede que no se aplique a los usuarios de su sitio web ...
fuente
Debe obligar a sus usuarios a cambiar cada n días si su política de seguridad así lo requiere. Trabajo para una agencia estatal, y este es un requisito impuesto por la oficina del auditor estatal. No puedo hacer nada al respecto, así que tengo que forzar los cambios.
Si no está obligado por la regulación a forzar cambios de contraseña, no los fuerce. Asegúrese de que las contraseñas que se establezcan cumplan ciertos requisitos mínimos de complejidad. La longitud supera la complejidad para la mayoría de los sistemas de contraseñas, por lo que un estándar variable es el mejor caso en mi opinión. Como:
Los esquemas de complejidad incorporados para cosas como Active Directory no son compatibles con este tipo de sistema en niveles. Si crea su propio entorno de cambio de contraseña, puede hacer cosas como esta. Debido a que cada uso de la tecla Mayús aumenta la probabilidad de un evento de dedo gordo, es mucho más probable que las contraseñas largas con múltiples juegos de caracteres incurran en eventos de inicio de sesión fallidos, especialmente durante las etapas de aprendizaje. Si tiene un sistema de bloqueo de cuenta, este puede ser un gran problema. Para la persona que usa la tercera línea de su poema favorito (¡63 caracteres!) Como frase de contraseña, no tener que h @ x0r hace que la entrada sea rápida y eficiente.
Si la tecnología o el entorno de riesgo cambian significativamente y sus contraseñas ahora no son tan complejas como deberían ser, ponga una forma de expirar las contraseñas durante un período de tiempo. La gente se quejará de la necesidad, especialmente si nunca antes has forzado un cambio, pero te ayudará a mantener tu postura de seguridad.
fuente
Las contraseñas difíciles de adivinar son algo bueno. Hacer cumplir los niveles de complejidad que hacen que los usuarios olviden sus contraseñas o tengan que escribirlas es algo malo, porque cualquier seguridad obtenida por la complejidad se pierde por completo en el proceso. En un mundo ideal (que lamentablemente no es donde vivimos) debería haber un equilibrio entre la complejidad y la usabilidad. Por supuesto, diferentes personas verán ese punto de equilibrio en diferentes lugares.
La lógica detrás del cambio regular de contraseñas en X días me ha perdido un poco. La razón por la que generalmente escucho esto es para limitar la utilidad de una contraseña robada, a lo que respondo que cualquier daño real seguramente se hará dentro de las primeras horas de todos modos. por ejemplo, Fred "se familiariza con" la contraseña de Mary. A menos que eso suceda casi al mismo tiempo que Mary está cambiando esa contraseña, ¿qué diferencia hay si se cambia mañana o el próximo mes? ¿Es realmente probable que Fred espere una o dos semanas más antes de usar la contraseña (suponiendo que esa fue la intención todo el tiempo)?
Obviamente, cambiar las contraseñas si hay alguna razón o sospecha de que puede ser necesario es otra cuestión.
fuente
Si la aplicación necesita un nivel de seguridad tan alto, ¿ha considerado usar algo como los tokens SecurID? Esto significa que el usuario obtiene una nueva contraseña cada 60 segundos; no tiene que preocuparse por ellos al escribir contraseñas. Sin embargo, estos cuestan dinero. ¿Qué tan segura debe ser la solución?
fuente
Creo que la información para los usuarios es importante. Explíqueles cómo crear una contraseña y cuán importante es no usar la misma contraseña dos veces. Una manera fácil de crear una contraseña es tomar una oración y tomar la primera letra de cada palabra y agregar algunos números.
Ex. Me gusta gobernar el mundo = Iltrw99
No los obligue a cambiar la contraseña, solo los confundirá.
fuente
Si bien no estoy de acuerdo con cambiar las contraseñas cada tres meses, este es un requisito si su empresa cotiza en bolsa y es parte de cumplir con SOX. Nota al margen: Sarbanes-Oxley apesta.
fuente
Algo que no he visto mencionado es el acceso externo a los recursos.
Tiendo a aceptar que si elige una política de contraseña sensata, a menos que alguien la escriba, es probable que nadie adivine esa contraseña.
Sin embargo, supongamos que tiene acceso al correo web fuera del sitio, ahora es posible que los usuarios escriban sus credenciales en "cualquier PC vieja" e IMO que aumente el riesgo para los datos de su empresa que representan el spyware / malware / troyanos, etc., que pueden oler / robar esas contraseñas .
fuente
Si las personas escriben contraseñas simples, lo que te hace pensar que no escribirán una gran frase de contraseña o una contraseña súper complicada. Lo que logran los cambios de contraseña incrementales es una purga de ID de usuario que ya no se usa automáticamente, y permite que el usuario individual tenga cierta responsabilidad en todo esto. Las personas van a ser personas, buscando el camino fácil para lograr algo; se pueden detectar y denegar contraseñas repetidas y contraseñas modificadas de forma incremental. Se pueden informar los requisitos de complejidad, los cambios forzados de contraseña también pueden abrir los ojos de los usuarios que no son de TI a su responsabilidad en todo esto. La mayoría de los usuarios que se quejan del cambio de contraseña son los flojos que fingen cambiar su contraseña es como una cirugía a corazón abierto. Deja de quejarte, sé responsable y deja de intentar encontrar una calle fácil,
fuente