2010-05-26 40 views
7

Me gustaría saber qué protección de secuestro de ID de sesión está integrada en la versión actual de ASP.NET.Protección de secuestro de sesión en ASP.NET

Hace poco vi this very informative article que explica cómo se puede mejorar la seguridad de la sesión al implementar una capa adicional que codifica la dirección IP y el encabezado del agente de usuario en la identificación de la sesión. Estos detalles luego se verifican en cada solicitud posterior.

Parece que este artículo fue escrito para ASP.NET 1.1, por lo que me gustaría saber si algo similar ahora está integrado en ASP.NET. ¿Sigue siendo beneficioso implementar tal capa adicional?

Gracias.

+0

¿Alguna posibilidad de un enlace actualizado a "este artículo tan informativo"? desafortunadamente, se ha quedado viejo. –

+0

@SlogmeisterExtraordinaire Disculpe, esto fue desde hace casi 6 años. Ni siquiera puedo recordar el contenido del artículo, por lo que hace que volver a buscarlo sea imposible. Supongo que podría resumirse por lo que he escrito anteriormente con respecto a la codificación IP. – Martyn

+0

@SlogmeisterExtraordinaire http://web.archive.org/web/20130307201452/http://msdn.microsoft.com/en-us/magazine/cc300500.aspx – jazzcat

Respuesta

6

Control hacia fuera este fragmento de la documentación Resumen de la sesión:

valores System.Web.SessionState.HttpSessionState.SessionID se envían en texto claro, ya sea como una galleta o como parte de la URL. Un usuario malintencionado podría obtener acceso a la sesión de otro usuario al obtener el valor de SessionID e incluirlo en las solicitudes al servidor. Si está almacenando información confidencial en estado de sesión, se recomienda que use SSL para encriptar cualquier comunicación entre el navegador y el servidor que incluya el valor de SessionID.

http://msdn.microsoft.com/en-us/library/ms178581.aspx

Me parece que esto significa que no hay seguridad al horno en la sesión, por lo que probablemente no debería usar la sesión como medida de seguridad. En cambio, recomendaría confiar en la seguridad de ASP.NET (autenticación, autorización).

Aquí hay un artículo de los patrones & Grupo de prácticas sobre recomendaciones generales de seguridad para ASP.NET.

http://msdn.microsoft.com/en-us/library/ff649100.aspx

2

Hey, también han estado buscando formas de reducir el riesgo de secuestro de sesión ID. Leí Jeff Prosise's article también y pensé que podría ser útil; sin embargo, al igual que usted, estaba buscando para ver si el mismo enfoque se aplica a las versiones modernas del marco (su correo electrónico [email protected] no funciona por cierto)

jkohlhepp, no estoy de acuerdo con su publicación (o tal vez no lo entiendo):

es probable que no deba usar Session como medida de seguridad. En su lugar, yo recomendaría confiar en la seguridad de ASP.NET (autenticación, autorización)

En lo que a mí la preocupación de autenticación asp.net se basa en los identificadores de sesión (excepto sin cookies que parece ser peor: See Dino Esposito's opinion)

Entonces, eso nos puso en el lugar donde comenzamos.