it-swarm-es.com

¿Publicar desde HTTP a HTTPS es una mala práctica?

Trabajando en el supuesto de que SSL sirve tanto para cifrar datos y para proporcionar seguridad en cuanto a la identidad y la legitimidad de sitio web, ¿debería evitarse la práctica de proporcionar un formulario de inicio de sesión en una página solicitada a través de HTTP, incluso cuando se publica en HTTPS?

La pregunta se relaciona con una publicación que hice ayer sobre Quién es quién de las prácticas de contraseña incorrecta y algunos de los comentarios que sugieren que no ver visiblemente el certificado representado en el navegador antes de la autenticación estaba bien si el formulario se publicaba de forma segura .

En mi opinión, esto vende SSL en corto ya que no solo pierde la capacidad de validar la legitimidad del sitio antes de entregar sus credenciales, sino que tampoco tiene la certeza de que lo es publicación sobre HTTPS. Soy consciente de que los gustos de Twitter y Facebook adoptan este enfoque, pero ¿deberían hacerlo? ¿Estoy pasando por alto algo aquí o es una práctica que debería desanimarse?

Actualización: Terminé detallando el resultado de esta pregunta y la discusión posterior en la publicación del blog SSL no se trata de cifrado

64
Troy Hunt

OWASP declara:

(copia literal de http://www.owasp.org/index.php/SSL_Best_Practices )

Páginas de inicio de sesión seguras
Hay varias consideraciones importantes para diseñar de forma segura una página de inicio de sesión. El siguiente texto abordará las consideraciones con respecto a SSL.

Los inicios de sesión deben publicarse en una página SSL Esto es bastante obvio. El nombre de usuario y la contraseña deben publicarse a través de una conexión SSL. Si observa el elemento de acción del formulario, debería ser https.

La página de inicio de sesión debe usar SSL La página real donde el usuario completa el formulario debe ser una página HTTPS. Si no es así, un atacante podría modificar la página a medida que se envía al usuario y cambiar la ubicación de envío del formulario o insertar JavaScript que roba el nombre de usuario/contraseña a medida que se escribe.

No debe haber mensajes de error o advertencia SSL La presencia de cualquier mensaje de advertencia SSL es un error. Algunos de estos mensajes de error son preocupaciones legítimas de seguridad; otros desensibilizan a los usuarios frente a preocupaciones reales de seguridad, ya que hacen clic ciegamente en aceptar. La presencia de cualquier mensaje de error SSL es inaceptable, incluso el nombre de dominio no coincide para www.

Deben cortarse las conexiones HTTP Si un usuario intenta conectarse a la versión HTTP de la página de inicio de sesión, se debe denegar la conexión. Una estrategia es redirigir automáticamente las conexiones HTTP a las conexiones HTTPS. Si bien esto lleva al usuario a la página segura, existe un riesgo persistente. Un atacante que realiza un ataque de hombre en el medio podría interceptar la respuesta de redireccionamiento HTTP y enviar al usuario a una página alternativa.

Para repetir: La página de inicio de sesión debe usar SSL

58
Tate Hansen

Puede valer la pena agregar que hay herramientas automatizadas para hacer exactamente lo que dicen las mejores prácticas de OWASP: "un atacante podría modificar la página a medida que se envía al usuario y cambiar la ubicación de envío del formulario ... "El enlace incluye una presentación de Black Hat sobre el ataque.

13
PulpSpy

Para agregar a las respuestas ya proporcionadas. Ha habido casos prácticos en los que tener páginas de destino que no son HTTPS permite a los atacantes modificar el sitio y obtener las credenciales de los usuarios. Este ejemplo , es el más reciente que he visto. En este caso, se realizó a nivel de ISP, pero igualmente podría ser realizado por proveedores de puntos de acceso inalámbricos o cualquier persona que use las herramientas relevantes para llevar a cabo un ataque Man-In-The-Middle.

10
Rory McCune