¿Por qué el valor predeterminado para la propiedad requireSSL de FormsAuthentication es falso?
Nota: Esta NO es una pregunta de ASP.NET MVC relacionada con el atributo [RequireSSL]. Eso es completamente diferente, solo tiene el mismo nombre.
La autenticación de formularios ASP.NET tiene laRequerirSSL propiedad que requiere que la cookie de autenticación para la pertenencia a ASP.NET solo se envíe por SSL. Esto es para evitar que alguien robe la cookie (por ejemplo, detectando la red) y se haga pasar por el usuario.
Así que me pregunto: con todos los cambios conscientes de la seguridad que MS ha realizado (como hacerhttpOnly cookies por defecto) porque esrequireSSL
no predeterminado paratrue
?
¿Se considera que la detección de cookies es un riesgo de seguridad "negligente"?
¿Se considera un riesgo aceptable dejarlo falso a menos que la conexión realmente me permita acceder a datos seguros / personales? Si no es aceptable, ¿cómo se supone que debo devolver a un usuario a http y saber quiénes son?
Para evitar que las cookies de autenticación de formularios se capturen y manipulen al cruzar la red, asegúrese de usar SSL con todas las páginas que requieren acceso autenticado y restrinja los tickets de autenticación de formularios a los canales SSL configurando requireSSL = "true" en el elemento.
Para restringir las cookies de autenticación de formularios a los canales SSL.
Establezca requireSSL = "true" en el elemento, como se muestra en el siguiente código.
Al establecer requireSSL = "true", establece la propiedad de cookie segura que determina si los navegadores deben enviar la cookie al servidor. Con el conjunto de propiedades seguras, el navegador envía la cookie solo a una página segura que se solicita mediante una URL HTTPS.
Nota: si está utilizando sesiones sin cookies, debe asegurarse de que el ticket de autenticación nunca se transmita a través de un canal no seguro.