2015-08-03

← Older revision

Revision as of 23:47, 2 August 2015

(2 intermediate revisions by the same user not shown)

Line 119:

Line 119:

=== Información adicional ===

=== Información adicional ===



*Asegúrese de que todos los caracteres que el usuario
tipea
están realmente incluidos en la contraseña. Hemos visto sistemas que truncan la contraseña a una longitud inferior de la que el usuario provee (ej., truncada a los 15 caracteres cuando se han ingresado 20).

+

*Asegúrese de que todos los caracteres que el usuario
escribe
están realmente incluidos en la contraseña. Hemos visto sistemas que truncan la contraseña a una longitud inferior de la que el usuario provee (ej., truncada a los 15 caracteres cuando se han ingresado 20).

**Esto es manejado usualmente al establecer la longitud de TODOS los campos de contraseña exactamente como la longitud máxima de la contraseña. Esto es particularmente importante si su longitud máxima de contraseña es corta, como 20-30 caracteres.

**Esto es manejado usualmente al establecer la longitud de TODOS los campos de contraseña exactamente como la longitud máxima de la contraseña. Esto es particularmente importante si su longitud máxima de contraseña es corta, como 20-30 caracteres.

Line 125:

Line 125:

Si la aplicación requiere políticas de contraseña más complejas, será necesario ser muy claro sobre cuáles son esas políticas.

Si la aplicación requiere políticas de contraseña más complejas, será necesario ser muy claro sobre cuáles son esas políticas.

*La política requerida necesita ser indicada explícitamente en la página de cambio de contraseña

*La política requerida necesita ser indicada explícitamente en la página de cambio de contraseña



** asegúrese de enumerar cada
carácter
especial que permite, para que sea evidente para el usuario

+

** asegúrese de enumerar cada
caracter
especial que permite, para que sea evidente para el usuario

Recomendación:

Recomendación:

*Lo ideal, sería que la aplicación indicara al usuario cómo escribir su nueva contraseña y cuánto de la directiva de complejidad de su nueva contraseña cumple

*Lo ideal, sería que la aplicación indicara al usuario cómo escribir su nueva contraseña y cuánto de la directiva de complejidad de su nueva contraseña cumple



**De hecho, el botón de envío debería
verser
atenuado hasta que la nueva contraseña reúna los requisitos establecidos en la política de complejidad de contraseña y la segunda copia de la nueva contraseña coincida con la primera. Esto hará que sea mucho más fácil, para el usuario, entender la política de complejidad y cumplirla.

+

**De hecho, el botón de envío debería
verse
atenuado hasta que la nueva contraseña reúna los requisitos establecidos en la política de complejidad de contraseña y la segunda copia de la nueva contraseña coincida con la primera. Esto hará que sea mucho más fácil, para el usuario, entender la política de complejidad y cumplirla.

Line 137:

Line 137:



== Implementar un mecanismo de recuperación de contraseña
seguro
==

+

== Implementar un mecanismo
seguro
de recuperación de contraseña ==



Es común que una aplicación tenga un mecanismo que provea al
usurio
un medio para acceder a su cuenta en caso de que olvide su contraseña. Por favor, para más detalles sobre esta característica, vea [[Forgot Password Cheat Sheet]] (en inglés).

+

Es común que una aplicación tenga un mecanismo que provea al
usuario
un medio para acceder a su cuenta en caso de que olvide su contraseña. Por favor, para más detalles sobre esta característica, vea [[Forgot Password Cheat Sheet]] (en inglés).

Line 154:

Line 154:

Si no se utiliza TLS u otro transporte fuerte para la landing page de inicio de sesión, se permite a un atacante modificar el ''action'' del formulario de inicio de sesión, generando que las credenciales del usuario sean enviadas a una ubicación arbitraria.

Si no se utiliza TLS u otro transporte fuerte para la landing page de inicio de sesión, se permite a un atacante modificar el ''action'' del formulario de inicio de sesión, generando que las credenciales del usuario sean enviadas a una ubicación arbitraria.



Si no se utiliza TLS u otro transporte fuerte para las páginas autentificadas que se habilitan luego del inicio de sesión un
atancante
puede ver la ID de sesión sin cifrar y comprometer la sesión autentificada del usuario.

+

Si no se utiliza TLS u otro transporte fuerte para las páginas autentificadas que se habilitan luego del inicio de sesión
,
un
atacante
puede ver la ID de sesión sin cifrar y comprometer la sesión autentificada del usuario.

Line 179:

Line 179:

=== Autentificación TLS ===

=== Autentificación TLS ===



La autentificación TLS, también conocida como autentificación TLS
authentication
mutua, consiste en que ambos, navegador y servidor, envíen sus respectivos certificados TLS durante el proceso de negociación TLS (''handshaking''). Así como se puede validar la autenticidad de un servidor mediante el certificado y, preguntar a una Autoridad de Certificación conocida (CA, por las siglas en inglés de "Certificate Authority") si la certificación es válida, el servidor puede autentificar al usuario recibiendo un certificado desde el cliente y validándolo contra una CA o su propia CA. Para hacer esto, el servidor debe proveer al usuario de un certificado generado específicamente para él,
asignado
valores que puedan ser usados para determinar que el usuario debe validar el certificado. El usuario instala los certificados en el navegador y los usa para el sitio Web.

+

La autentificación TLS, también conocida como autentificación TLS mutua, consiste en que ambos, navegador y servidor, envíen sus respectivos certificados TLS durante el proceso de negociación TLS (''handshaking''). Así como se puede validar la autenticidad de un servidor mediante el certificado y, preguntar a una Autoridad de Certificación conocida (CA, por las siglas en inglés de "Certificate Authority") si la certificación es válida, el servidor puede autentificar al usuario recibiendo un certificado desde el cliente y validándolo contra una CA o su propia CA. Para hacer esto, el servidor debe proveer al usuario de un certificado generado específicamente para él,
asignando
valores que puedan ser usados para determinar que el usuario debe validar el certificado. El usuario instala los certificados en el navegador y los usa para el sitio Web.

Es una buena idea hacer esto cuando:

Es una buena idea hacer esto cuando:



*Es aceptable (o incluso preferido) que el usuario sólo tenga acceso a la página web
des
una sola computadora/navegador.

+

*Es aceptable (o incluso preferido) que el usuario sólo tenga acceso a la página web
desde
una sola computadora/navegador.



*El usuario no se asusta fácilmente por el proceso de instalación de certificados TLS en su navegador o habrá alguien, probablemente de soporte de TI, que
lo
hará esto para el usuario.

+

*El usuario no se asusta fácilmente por el proceso de instalación de certificados TLS en su navegador o habrá alguien, probablemente de soporte de TI, que hará esto para el usuario.

*El sitio web requiere un paso adicional de seguridad.

*El sitio web requiere un paso adicional de seguridad.

*El sitio Web es de la intranet de una compañía, empresa u organización.

*El sitio Web es de la intranet de una compañía, empresa u organización.



Por lo general, no es una buena idea utilizar este método para la mayor parte de los sitios Web de acceso público que tendrán un usuario promedio. Por ejemplo, no será una buena idea
implemenetar
esto en un sitio Web como Facebook. Si bien esta técnica puede evitar que el usuario tenga que escribir una contraseña (protegiéndola así contra el robo desde un keylogger promedio), aún se considera una buena idea emplear el uso de una contraseña combinada con la autentificación TLS.

+

Por lo general, no es una buena idea utilizar este método para la mayor parte de los sitios Web de acceso público que tendrán un usuario promedio. Por ejemplo, no será una buena idea
implementar
esto en un sitio Web como Facebook. Si bien esta técnica puede evitar que el usuario tenga que escribir una contraseña (protegiéndola así contra el robo desde un keylogger promedio), aún se considera una buena idea emplear el uso de una contraseña combinada con la autentificación TLS.

Show more